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 |