基本對映

地圖概述

可以使用 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 - 取消對映普通模式對映
  • 你可以通過更改 timeoutttimeout 變數來配置序列鍵之間的最長時間

例子

  • 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

進一步閱讀這裡