tmux は ctrl-prefix ctrl-y を使用するとフリーズします

tmux は ctrl-prefix ctrl-y を使用するとフリーズします

私は次のようなカスタム .tmux.conf ファイルを使用しています:

unbind-key C-b
set -g prefix C-a
bind-key C-a send-prefix

set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

## CLIPBOARD selection integration
# Requires prefix key before the command key
# Copy tmux paste buffer to CLIPBOARD
bind C-y run "tmux show-buffer | xclip -i -selection clipboard"
# Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-p run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"

ctrl私は tmux コピー バッファからクリップボードにコピーするために+ a ctrl+を使用していますy。しかし、これを行うたびに tmux がフリーズし、入力を受け付けなくなります。ctrl+を使用しようとしましたqが、役に立ちません。

tmux がフリーズするのを防ぐにはどうしたらいいでしょうか。どのショートカットがここで干渉しているのでしょうか? ショートカットctrl+ a ctrl+も試しましたがc、ここでも同じ問題が発生します。

答え1

コマンドラインでコマンドを入力すると、xclip終了しないことに気づくでしょう。これは、入力を受け付け続けるためです。標準入力完了です。したがって、標準出力決して閉じられません。これを解決するには、標準出力の からxclipまで/dev/null。例:

bind y run "tmux save-buffer - | xclip -selection clipboard &>/dev/null"

この例ではリダイレクトします標準エラー出力念のため、それも。

答え2

xclip入力を待機しているため、tmux は入力を受信できません。次の例では、tmux セッションをブロックせずに xclip を別のシェルで実行できます。

bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard"

ワークフローを支援するために、次のようなメッセージも追加します。

bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard; tmux display-message \"Tmux buffer saved to clipboard\" "

これが役に立つことを願っています!

答え3

bind y run-shell -b "cat << EOF | tmux save-buffer - | xclip -sel clipboard &>/dev/null"

このようにすると、xclip を使用してクリップボードにコピーした後、EOF でバッファが閉じられます。

関連情報