vimの `ESC`がカーソルを元の位置に戻すのはなぜですか?

vimの `ESC`がカーソルを元の位置に戻すのはなぜですか?

vimでクリックしてESCコマンドモードに戻ると、カーソルは1文字左に移動します。私が望んでいたわけではなく、時にはl文字を削除したり、その場所にすぐに戻ることもありました。

このような行動に理由がありますか?私が見逃した使用パターンにこれは便利ですか?

ベストアンサー1

挿入モードでは、カーソルは文字の間、最初の文字の前、または最後の文字の後にあります。通常モードでは、カーソルは文字の上にあります(改行はこの目的に使用される文字ではありません)。これは少し珍しいです。ほとんどの編集者は常に文字の間にカーソルを置き、ほとんどのコマンドは文字に対して機能します。後ろに(厳密には言わない。下に) カーソル。これは、GUIが出現する前に常にテキスト端末が使用されていたためです。見せるカーソルが文字(下線またはブロック、点滅する可能性があります)の上にあります。この抽象化は、1つ以上の位置(柱とフェンス)が必要なため、挿入モードで失敗します。

モードを切り替えるには、カーソルを文字の半分だけ移動する必要があります。このiコマンドは左に移動し、カーソルを終了文字の前に置きます。a右に移動するように指示します。可能であれば、挿入モードを終了すると(キーを押してEsc)、カーソルが左(または行の先頭にある場合は右)に移動します。

私はこのようなEsc行動が意味があると思います。通常、行の末尾に入力してEsc左側にのみ入力できます。したがって、一般的な行動が最も一般的な行動です。

カーソルの下の文字を最後の面白い文字として扱い、挿入コマンドをその文字として扱いますa。カーソルを移動せずに繰り返すことができますが、a Esc空ではない行の先頭から始めると、右に1つの位置に移動します。

おすすめ記事