Vim はxtermのような端末 ( で始まる TERM 、または定義されている場合はそのシーケンスxterm
への特定の応答で識別される) が、特定の変更されたキーの拡張シーケンスをサポートしていることを認識していますが、TERM (以下で使用する必要がある)についてはこれを想定していません。 tmux )。t_RV
screen
ただし、これらのシーケンスについて Vim に伝え、TMUX が存在する場合はそれらを有効にすることができ、TERM は(最初の行でtmuxscreen
の下で (より良い) マウスサポートを有効にします。これも好きかもしれません):
if &term =~ '^screen' && exists('$TMUX')
set mouse+=a
" tmux knows the extended mouse mode
set ttymouse=xterm2
" tmux will send xterm-style keys when xterm-keys is on
execute "set <xUp>=\e[1;*A"
execute "set <xDown>=\e[1;*B"
execute "set <xRight>=\e[1;*C"
execute "set <xLeft>=\e[1;*D"
execute "set <xHome>=\e[1;*H"
execute "set <xEnd>=\e[1;*F"
execute "set <Insert>=\e[2;*~"
execute "set <Delete>=\e[3;*~"
execute "set <PageUp>=\e[5;*~"
execute "set <PageDown>=\e[6;*~"
execute "set <xF1>=\e[1;*P"
execute "set <xF2>=\e[1;*Q"
execute "set <xF3>=\e[1;*R"
execute "set <xF4>=\e[1;*S"
execute "set <F5>=\e[15;*~"
execute "set <F6>=\e[17;*~"
execute "set <F7>=\e[18;*~"
execute "set <F8>=\e[19;*~"
execute "set <F9>=\e[20;*~"
execute "set <F10>=\e[21;*~"
execute "set <F11>=\e[23;*~"
execute "set <F12>=\e[24;*~"
endif
xterm-keys
コメントが示すように、ウィンドウのオプションを有効にする必要もあります。次のようにすべてのウィンドウに対してこれを行うことができます( 内~/.tmux.conf
):
set-option -gw xterm-keys on
(への変更~/.tmux.conf
は自動的にロードされないことに注意してください。有効にするには、このコマンドを手動で (tmux
シェル コマンドまたは Prefix:
プロンプトで) 実行するか、source ~/.tmux.conf
(tmux
シェル コマンドで、またはプレフィックス:
プロンプトで)、またはサーバーを再起動します(すべてのセッションを終了してtmuxを再起動します))。