EscキーをVimの別のキーに再マッピングすることは可能ですか?全画面表示のVMware vSphere WebクライアントコンソールウィンドウでVimを使用していて、Escキーを押して編集モードを終了すると、コンソールウィンドウの全画面モードが終了します。
RHEL YUMリポジトリのVimを使用しています。(RHEL 7.5、Vim 7.4)。
EscキーをVimの別のキーに再マッピングすることは可能ですか?全画面表示のVMware vSphere WebクライアントコンソールウィンドウでVimを使用していて、Escキーを押して編集モードを終了すると、コンソールウィンドウの全画面モードが終了します。
RHEL YUMリポジトリのVimを使用しています。(RHEL 7.5、Vim 7.4)。
回答:
通常C-[
は、挿入モードを終了する方法でもあります。jj
終了して通常モードに戻る方法として、挿入モードでマップすることを好む人もいます。個人的にjh
は、これで指の「スライド」が良くなり、中指にあまり負担をかけないようにしています。
私のneovim設定のどこかから:
inoremap jh <Esc>
これjh
は、挿入モードでエスケープするように再マップします。
これでよろしいですか?
escホーム行に再マップするのは実際にいいことです。マッピング先を決定する方法は次のとおりです。手を選んで、4本の指をデスクトップ上でできるだけ速く、どちらの方向にでも速く回転させます。それを使用して、再マッピングするキーを選択します。
私にとっては、小指から人差し指に転がるほうが自然です。したがって、私はを選択しましたkj
。また、grep -rHin kj ~/src
(すべてのソースコードの親ディレクトリで再帰的なgrepを実行しました)、一致するものは見つかりませんでした。
" esc in insert mode
inoremap kj <esc>
" esc in command mode
cnoremap kj <C-C>
" Note: In command mode mappings to esc run the command for some odd
" historical vi compatibility reason. We use the alternate method of
" existing which is Ctrl-C
注:リテラルkj
(またはマッピングが何であれ)を入力する必要がある場合は、2秒間隔で入力してください。(1番目の文字の後にカーソルが移動するのをためらいます。2番目の文字を入力する前に、カーソルが移動するのを待ちます。)
私はvim
19年間使用しています。AppleがMacBook Proをアップデートして、タッチバーがあり、物理的なescキーがないようにしたとき、私は恐怖を感じた。私はポストを見マッピングを示唆したjj
とjk
する<Esc>
と、それを嫌っていました。しかし、私はそれが私を困らせる度に辛抱強くインデックスカードに書き留めました。約15分後、私は自分のメモを確認し、以下の問題に対処するために上記のTL; DRを思い付きました。
jj
2行ドロップします。jk
ノーオペレーション(ダウン、アップ)ですがkj
、私の手にとってはより自然です。esc執筆に数分たったときに、他のアプリケーションにアクセスしてウィンドウを閉じるという私の習慣をようやく破れることを願っています。私は仕事を失うよりもむしろ浮遊kj文字を挿入したいです!
:ls kj
:h c_Esc
ます: マクロで[...]入力したコマンドを開始します。 (マクロには通常、マッピングも含まれます)