基本對映
地圖概述
可以使用 map 變體之一將鍵序列重新對映到另一個鍵序列。
例如,當你按快速順序時,以下典型的 map 將退出插入模式 j k :
:inoremap jk <Esc>
地圖運算子
對於不同的模式,:map 有多種變體。
| 命令 | 模式 |
|---|---|
:map,:noremap,:unmap |
正常,可視和運算子待定模式 |
:map!,:noremap!,:unmap! |
插入和命令列模式 |
:nmap,:nnoremap,:nunmap |
正常模式 |
:imap,:inoremap,:iunmap |
插入和替換模式 |
:vmap,:vnoremap,:vunmap |
視覺和選擇模式 |
:xmap,:xnoremap,:xunmap |
視覺模式 |
:smap,:snoremap,:sunmap |
選擇模式 |
:cmap,:cnoremap,:cunmap |
命令列模式 |
:omap,:onoremap,:ounmap |
運算子待定模式 |
通常,你應該使用:noremap 變種 ; 它使對映不受重對映和遞迴的影響。
map 命令
- 你可以使用
:map(或上述變體之一)顯示所有對映。 - 要顯示特定鍵序列的當前對映,請使用
:map <key>,其中<key>是一系列鍵 - Esc 特殊鍵如使用特殊的
<>表示法對映,如<Esc>。有關金鑰程式碼的完整列表,請參閱 http://vimdoc.sourceforge.net/htmldoc/intro.html#keycodes :nmapclear- 清除所有普通模式地圖:nunmap- 取消對映普通模式對映- 你可以通過更改
timeout和ttimeout變數來配置序列鍵之間的最長時間
例子
imap jk <Esc>:在插入模式下鍵入jk將使你恢復正常模式nnoremap tt :tabnew<CR>:在正常模式下輸入tt將開啟一個新的標籤頁nnoremap <C-j> <C-w>j:在正常模式下輸入<C-j>會讓你跳到下面和左邊的視窗vmap <C-c> \cc:在視覺模式下輸入<C-c>將執行\cc(NERDCommenter 命令來評論該行)。由於這依賴於外掛對映,你不能在這裡使用:vnoremap!
進一步閱讀這裡