回答:
Ctrl-cおよびEsc同義であることが保証されておらず、多くの場合異なります。たとえば、挿入モードでEscは、は略語をトリガーして通常モードに移動しますが、Ctrl-c略語もInsertLeave
オートコマンドもトリガーせず、通常モードに直接移動します。別の例は、古いvi
コマンドラインモードで、Esc実際にを押した場合と同じようにコマンドを実行しますEnter。その行動が直感的かつ驚くべきものとみなされたため、Vimは故意にこれを変更しましたが、あなたはまだ追加して、それを有効にすることができますx
し'cpoptions'
。
ブロックごとの視覚演算子については、blockwise-operators
ヘルプタグに次のドキュメントがあります。
Visual-block Insert *v_b_I*
With a blockwise selection, I{string}<ESC> will insert {string} at the start
of block on every line of the block, provided that the line extends into the
block. Thus lines that are short will remain unmodified. TABs are split to
retain visual columns.
Esc
は言及されており、は言及されていないことに注意してくださいCtrl-c
。
したがって、いいえ、Ctrl-cおよびEsc同等ではありません。自分が誤解を乱用することは決して恥ではありません。それがわかったら、次に何をするかを決めることができます。すぐにわかるオプションは、違いを学習して正しいキーを使用するか、キーの1つの機能を必要としないと判断して、もう1つに一致するように再マッピングすることです。
:map ^C esc
「^ C」が CTRL+ vをCTRL押してから+を入力する場所を試してくださいc。
:!cat
も、マップの後に望ましい効果があるようです。問題が発生した場合は、たとえばstty intr \^k
、シェルプロンプトで端末の割り込み文字をCTRL-kに変更してみてください。
vnoremap <C-c> <Esc>
私はあなたが心の中で言っておこう。