8

Ideally, I'd like <A-left> to execute :tabmove -1 and <A-right> to execute :tabmove +1. However, when I put

nnoremap <A-left> :tabmove -1<cr>
nnoremap <A-right> :tabmove +1<cr>

in my .vimrc and try or , vim beeps and moves my cursor one character over in the direction I pressed. However, typing :tabmove -1<cr> directly into command mode gives the desired effect. How can I fix this? Thanks in advance.

4

2 に答える 2

20

端末がvimに送信するキーコードを表示することから始めます。

$ sed -n l
^[[1;9D 

上記の例では、sed コマンドを実行してAlt + Left.

これ^[[1;9Dは、vim に送信されるエスケープされたシーケンスであるため、マッピングに使用できます。

これを .vimrc に追加してください

map <Esc>[1;9D :tabn<CR>

これで、次を使用して vim タブを切り替えることができますAlt + Left

于 2014-06-04T20:59:50.267 に答える
6

キーボード入力が内部で処理される方法のため、残念ながら現在ほとんどの端末ではこれができませんが、GVIM では機能するはずです。+英字Ctrl以外はマッピングできず、Ctrl+ 文字とCtrl+ Shift+ 文字は区別できません。これは既知の問題点であり、vim_dev および #vim IRC チャネルでさまざまな議論の対象となっています。

回避策として、別のキー ( <Leader><Left>/など) を使用してください<Leader><Right>

于 2012-07-30T15:16:42.190 に答える