で.vimrc
:
inoremap jj <Esc>
以下を含むファイルがあるとします。
foo
bar
f
通常モードのカーソルで、を押しますAEsc。カーソルはになりましたo
。
f
通常モードのカーソルで、を押しますAjj。これで、カーソルはで1行下になりb
ます。
- なんで?
- どうすればこの動作を防ぐことができますか(つまり、jjと同じように動作させることができEscます)?
で.vimrc
:
inoremap jj <Esc>
以下を含むファイルがあるとします。
foo
bar
f
通常モードのカーソルで、を押しますAEsc。カーソルはになりましたo
。
f
通常モードのカーソルで、を押しますAjj。これで、カーソルはで1行下になりb
ます。
私は数年間 Vim を使用してきましたが、これには不意を突かれました。.vimrc 全体をリマップを含む 1 行に切り詰めた後も、質問に記載されている動作が見られました。まったく新しい .vimrc を作成し、そのバインディングを新たに入力すると、問題が解決しました。
最後に、末尾の空白を残すことでバインドjjされることに気付きました。EscSpace私のrcファイルの最近の改良中に忍び込んだに違いありません。Space行末で押すと次の行に進みます。
いつか誰かを数時間救う場合に備えて、私の骨の折れる証拠を残します。