回答:
問題は2つあります。まず、tmux
デフォルトでは、コントロール矢印キーをあるタイプのエスケープシーケンスから別のタイプに変換します。したがって、などの特別なキーcontrolleftはvim
、修飾子なしでに送信されleftます。を使用cat -v
してさまざまなエスケープシーケンスを表示すると、次のようになります。
^[OD
これとの比較(tmux外):
^[[1;5D
この線
set-window-option -g xterm-keys on
その側面を修正します。もう1つの部分は、tmux
デフォルトでの端末記述を使用することですscreen
。その端末の説明はしない記述コントロール矢印キーを。端末データベースからのこれらのエントリは、VTE(gnome-terminal)に最も適しています。
他にもあります
ここで実行するときに自動的に選択されるscreen
対応する場合にTERM
外であったvte
、vte-256color
など tmux
、この自動選択を実行しません。その構成ファイルを変更する必要があります。
ちなみに、「screen.xterm」のエントリはありませんscreen
。との競合はありませんTERM=xterm-new
。
ncurses-base
Debian などのデフォルトの(最小の)端末データベースがある場合は、それらがない可能性があります。より一般的なのはxterm-256color
、vimとtmuxで使用するのに十分近いです。
たとえば、これを.tmux.conf
ファイルに追加すると、vimで期待どおりに動作します。
set -g default-terminal "xterm-256color"
参考文献:
Control
+ のみLeft
が機能しています。Control
+Right
はそうではありません。後でテストして更新します。