基本對映
地圖概述
可以使用 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
!
進一步閱讀這裡