標籤:

VIM學習筆記 鍵盤映射 (Map)

設置鍵盤映射

使用:map命令,可以將鍵盤上的某個按鍵與Vim的命令綁定起來。例如使用以下命令,可以通過F5鍵將單詞用花括弧括起來:

:map <F5> i{ea}<Esc>

其中:i{將插入字元{,然後使用Esc退回到命令狀態;接著用e移到單詞結尾,a}增加字元},最後退至命令狀態。在執行以上命令之後,游標定位在一個單詞上(例如amount),按下F5鍵,這時字元就會變成{amount}的形式。

不同模式下的鍵盤映射

使用下表中不同形式的map命令,可以針對特定的模式設置鍵盤映射:

Operator-pending模式,是指當你輸入操作符(比如d)時,然後繼續輸入的移動步長和文本對象(dw)的狀態。

第一列命令定義的映射,仍然可以被重新映射;第二列命令(包含noremap)定義的映射,是不可以被重新映射的。

鍵盤映射實例

使用以下命令,可以在Normal Mode和Visual/Select Mode下,利用Tab鍵和Shift-Tab鍵來縮進文本:

nmap <tab> V>nmap <s-tab> V<vmap <tab> >gvvmap <s-tab> <gv

使用以下命令,指定F10鍵來新建標籤頁:

:map <F10> <Esc>:tabnew<CR>

其中:<Esc>代表Escape鍵;<CR>代表Enter鍵;而功能鍵則用<F10>表示。首先進入命令行模式,然後執行新建標籤頁的:tabnew命令,最後返回常規模式。

同理:對於組合鍵,可以用<C-Esc>代表Ctrl-Esc;使用<S-F1>表示Shift-F1。對於Mac用戶,可以使用<D>代表Command鍵。

注意:Alt鍵可以使用<M-key>或<A-key>來表示。

關於鍵盤符號的詳細說明,請使用:h key-notation命令查看幫助信息。

查看鍵盤映射

使用:map命令,可以列出所有鍵盤映射。其中第一列標明了映射在哪種模式下工作:

標記模式<space>常規模式,可視化模式,運算符模式n常規模式v可視化模式o運算符模式!插入模式,命令行模式i插入模式c命令模式

使用下表中不同形式的map命令(不帶任何參數),可以列出針對特定模式設置的鍵盤映射:

取消鍵盤映射

如果想要取消一個映射,可以使用以下命令:

:unmap <F10>

注意:必須為:unmap命令指定一個參數。如果未指定任何參數,那麼系統將會報錯,而不會取消所有的鍵盤映射。

針對不同模式下的鍵盤映射,需要使用與其相對應的unmap命令。例如:使用:iunmap命令,取消插入模式下的鍵盤映射;而取消常規模式下的鍵盤映射,則需要使用:nunmap命令。

可以使用以下命令,取消所有映射。請注意,這個命令將會移除所有用戶定義和系統默認的鍵盤映射。

:mapclear

Ver: 1.0<上一篇 | 目錄 | 下一篇>

推薦閱讀:

用 Vim 寫 Python 的最佳實踐是什麼?
Vim 比起 IDE 的優勢是什麼?
vim如何有效處理制式內容?
vim 中文輸入解決方案
替換兩個 Tags 之間字元串的 VIM 命令怎麼寫?(或者, g 的輸出如何作為 s 的輸入?)

TAG:Vim |