GNU/Linux >> Linux の 問題 >  >> Linux

VimでCtrl +矢印を修正するには?

端末が Ctrl に対して送信するエスケープ シーケンスを正確に把握する +Ctrl を入力して矢印 +V , Ctrl +挿入モードの矢印:先頭の ESC が挿入されます 文字 (^[ として表示) in vim) 文字どおり、残りのエスケープ シーケンスが続きます。次に、これらのエスケープ シーケンスについて、次のような方法で vim に伝えます。

map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>

Putty の Application Cursor Keys モードのデフォルト設定が不便であることを思い出したようです (理由は忘れました)。最初にこの設定を切り替えることをお勧めします。

エスケープ シーケンスは端末間で異なりますが、競合 (つまり、異なる端末の異なるキーに対応するエスケープ シーケンス) はまれであるため、特定の端末タイプにのみマッピングを適用しようとする必要は特にないことに注意してください。


おそらく、PuTTY の Application Cursor Keys モード構成を確認するのが最善の策です。

デフォルトのシーケンスは ESC を送信します プレフィックスと [ として 続いて A ppend または C ハンジやその他のもので、挿入モードになります。

Gilles に続いて追加

^V エスケープのもう少し明示的なバージョンは、od(1) で見ることができます。ここでは、端末で ^Up、^Down、^Right、^Left と入力しています。

$ od -a
0000000 esc   [   1   ;   5   A esc   [   1   ;   5   B esc   [   1   ;
0000020   5   C esc   [   1   ;   5   D

だから私の端末は ^[[1;5A を送信します Ctrl を押したとき +


ここでより良い解決策を見つけました:http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell

この文字列を .vimrc に入れるだけです ファイル:

:set term=cons25

更新

このファイルを /home にコピーします 、名前を .vimrc に変更します :

/usr/share/vim/vim_VERSION_/vimrc_example.vim

Linux
  1. LinuxでVimをデフォルトのエディターとして設定する方法

  2. Ctrl + vはVimで何をしますか?

  3. vimでタブを4つのスペースに設定するには?

  1. vimでpylintを使用する方法

  2. コンソールで CTRL + 矢印キーを使用して次または前の単語にジャンプするにはどうすればよいですか?

  3. ping の出力を止めるには?

  1. vimエディターでコマンドを追加するには?

  2. キャリッジ リターンの入力方法を教えてください。

  3. 逃げる方法!パスワードで?