tmuxコピーモードでは、矢印の代わりにAlt +キーの組み合わせを使用してカーソルを移動したいと思います。 tmuxでこれを行うようにする方法はありますか?
私が望む定義は次のとおりです。
Alt+i: up
Alt+l: right
Alt+j: left
Alt+k: down
Alt+o: forward word
Alt+u: backward word
tmuxをviモードに切り替えたくありません。
答え1
その結果、emacs-copy
テーブルのキーバインディングを編集する必要があります。上記で必要な変更を行った方法は次のとおりです。
まず、tmuxに次のコマンドを入力して、現在のバインディングが何であるかを確認しました(Prefix + colonを押す)list-keys -t emacs-copy
。これは私にバインドされたキーのリストを提供しますEmacs コピーパターンを見て、どのコマンドが私が望むように動作するかを見つけました。
次に、〜/.tmux.confファイルに次のように適切なキーバインディングを追加しました。
bind-key -t emacs-copy M-j cursor-left
bind-key -t emacs-copy M-i cursor-up
bind-key -t emacs-copy M-l cursor-right
bind-key -t emacs-copy M-k cursor-down
bind-key -t emacs-copy M-u previous-word
bind-key -t emacs-copy M-o next-word
最後に、tmux内でtmuxコマンドを実行してsource ~/.tmux.conf
セッションを終了し、再ロードせずにキーストロークをバインドしました。
答え2
これは最近tmuxバージョンで(明らかに)変更されました。 tmuxにはキーテーブル2.9a
がないようですがemacs-copy
(ただし1つありますcopy-mode
)bind-key
、キーテーブルの引数は(のみ)です-T
(大文字の使用に注意してください)。たとえば、コピー/モードでは、Ctrl-左/右は単語をスキップします。
bind-key -T copy-mode C-Left send-key -X previous-word
bind-key -T copy-mode C-Right send-key -X next-word