
tmux では、\; を使用して複数のコマンドをキーに連結できることは知っています。こちらをご覧ください しかし、vi モードでは、キーを 1 回押すだけで、現在の行の先頭に移動し、選択を開始し、行末に移動し、選択範囲をコピーします。
tmux.confで次のように記述すると
bind-key -t vi-copy 's' start-of-line \; begin-selection \; end-of-line \; copy-selection \;
このエラーが発生します: 69: usage: bind-key [-cnr] [-t key-table] key command [arguments]
。
または、現在の行を 1 つのキーでヤンクする別の方法はありますか。
答え1
残念ながら、モード固有のバインディング( で実行-t
)は現在、一度に1つのコマンドしかサポートしていません。さらに、コマンドはモード固有のコマンドの1つである必要があり、一般的なコマンドは使用しないでください。tmuxコマンド。ソースでは、関数は、cmd_bind_key_check
使用時に非オプション引数を-t
1 つのキーと 1 つのコマンドの 2 つに制限します。これが、使用方法メッセージが表示される理由です (ただし、メッセージはあまりわかりやすくありません)。
ただし、コマンドを呼び出すcopy-end-of-line
と、キー入力を数回節約できます。vi-copy
モード:では、0 D
の代わりにを使用します0 Space $ Enter
。emacs-copy
モード:では、C-a C-k
の代わりにを使用しますC-a C-Space C-e C-w
。