Mapping は私のお気に入りの vim 機能で、これを使用すると自分のショートカット キーを自由に設定できるため、執筆効率が大幅に向上します。マッピングは、より複雑なキーを押しやすい少数のキーに置き換えることができるショートカット キーの設定として理解できます。
#マッピングを使用する場合#次の 1 つ以上の問題がある場合は、マッピングを使用できます
#現在のキーに不満があるvim には複数のモードがあり、それらに対応することがわかっています。マッピングには、nmap (通常のマッピング)、imap (挿入マッピング)、および vmap (ブロック選択マッピング) も含まれます。 いくつかのケースを選んで、これら 3 つのマッピングについて説明しましょう。
通常のマッピング
" 使用F1切换显示行号
nmap <F1> :set nu! nu?<cr>
ここでの CR は Enter キーを意味します。
挿入マッピング
" 使用jj来代替esc键,完成从插入模式退回到普通模式
imap jj <esc>`^
通常、挿入モードから通常モードにすばやく切り替えるには、esc キーの代わりに jj を使用します。 " 在插入模式下向前向后删除字符
imap <C-b> <Backspace>
imap <C-d> <Esc>lxi
ここで、c は ctrl キーを表します。挿入モードでは、ctrl b を使用して後方に 1 文字を削除し、ctrl d を使用して前方に 1 文字を削除します。
ブロック モード マッピング
一般に、複数行のテキストのインデントを増減することがよくあります。前の記事で述べたように、この要件は、ブロック選択とコマンド ラインまたはマクロを組み合わせることによって実現できます。現在、マッピングを学習した後は、より簡単な方法を使用してニーズを達成できるようになりました。 vmap < <gv
vmap > >gv
ここで、複数の行をインデントしたい場合は、これらの行を選択して > または < を押すだけで実現できます。
再帰マッピング
次のマッピングを実行すると何が起こるか###nmap dd O<esc>jddk
ddを実行すると後で重大な問題が発生が発生します。マッピングの両側に dd があるため、無限ループが発生します。この無限ループは再帰によって発生するため、再帰マッピングと呼ばれます。
##nmap recursive nnoremap non-recursive
##imap recursive inoremap non-recursivevmap 再帰的 vnoremap 非再帰的
以上がVim の動作を改善する - VIM マッピングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。