2012-07-30 19 views
5

:tabmove -1<A-right>を実行して:tabmove +1を実行するのが理想です。しかし、私は私の.vimrcでマッピングAlt +左​​|タブを移動するための右

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

を入れて試すか、Vimのビープ音と私が押された方向に私のカーソルを1文字の上に移動したとき。ただし、コマンドモードに直接:tabmove -1<cr>を入力すると、目的の効果が得られます。これをどうすれば解決できますか?前もって感謝します。

+1

私は '使用して所望の効果を再現することはできませんあなたの.vimrcにこれを追加します。tabmoveを-1 を'私はE488を取得しますが、 ''を ''に変更してみてください。 ''と同じです。 –

+0

ありがとう@RandyMorris、以下のIngoも同様の回避策を提案します。 –

答えて

6

キーボード入力が内部的に処理されるため、今日ではほとんどの端末ではこれが不可能ですが、GVIMで動作するはずです。 はCtrl +非アルファベットのようないくつかのキーの組み合わせは、マップすることができない、とはCtrl +手紙対はCtrl +Shiftキー +文字を区別することはできません。これは既知の苦労点であり、vim_devと#vim IRCチャンネルに関するさまざまな議論の対象です。

回避策として、異なるキーを使用してください(例: <Leader><Left>/<Leader><Right>。お使いの端末がVIMに送信されたキーコードを表示して

+0

お役立ち情報私はこれを将来のために留めておきます。ありがとう! –

8

スタート:上記の例では

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

は、私はsedコマンドを実行し、Altキー+左を押しました。

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

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

は、今、私たちはAltキー+左を使用して、vimのタブを循環

+0

これは実際には正しい答えです。なぜ私はそれが答えとして選択されていないのだろうか。 –

関連する問題