轉自:http://www.cnblogs.com/softwaretesting/archive/2011/09/28/2194515.html
http://www.pythonclub.org/linux/vim/map
VIM鍵盤映射 (Map)
設置鍵盤映射
使用:map命令,可以將鍵盤上的某個按鍵與Vim的命令綁定起來。例如使用以下命令,可以通過F5鍵將單詞用花括號括起來:
:map <F5> i{e<Esc>a}<Esc>
其中:i{將插入字符{,然后使用Esc退回到命令狀態;接着用e移到單詞結尾,a}增加字符},最后退至命令狀態。在執行以上命令之后,光標定位在一個單詞上(例如amount),按下F5鍵,這時字符就會變成{amount}的形式。
不同模式下的鍵盤映射
使用下表中不同形式的map命令,可以針對特定的模式設置鍵盤映射:
| Command 命令 |
Normal 常規模式 |
Visual 可視化模式 |
Operator Pending 運算符模式 |
Insert Only 插入模式 |
Command Line 命令行模式 |
:map |
y | y | y | ||
:nmap |
y | ||||
:vmap |
y | ||||
:omap |
y | ||||
:map! |
y | y | |||
:imap |
y | ||||
:cmap |
y |
鍵盤映射實例
使用以下命令,可以在Normal Mode和Visual/Select Mode下,利用Tab鍵和Shift-Tab鍵來縮進文本:
nmap <tab> V> nmap <s-tab> V< vmap <tab> >gv vmap <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命令查看幫助信息。
我們還可以針對函數設置鍵盤映射。 例如,將以下代碼加入.vimrc文件,就可以利用快捷鍵,來打開或關閉針對搜索結果的高亮顯示。
查看鍵盤映射
使用:map命令,可以列出所有鍵盤映射。其中第一列標明了映射在哪種模式下工作:
標記 模式 <space> 常規模式,可視化模式,運算符模式 n 常規模式 v 可視化模式 o 運算符模式 ! 插入模式,命令行模式 i 插入模式 c 命令模式
使用:map!命令,則只列出插入和命令行模式的映射。而:imap,:vmap,:omap,:nmap命令則只是列出相應模式下的映射。
取消鍵盤映射
如果想要取消一個映射,可以使用以下命令:
:unmap <F10>
注意:必須為:unmap命令指定一個參數。如果未指定任何參數,那么系統將會報錯,而不會取消所有的鍵盤映射。
針對不同模式下的鍵盤映射,需要使用與其相對應的unmap命令。例如:使用:iunmap命令,取消插入模式下的鍵盤映射;而取消常規模式下的鍵盤映射,則需要使用:nunmap命令。
如果想要取消所有映射,可以使用:mapclear命令。請注意,這個命令將會移除所有用戶定義和系統默認的鍵盤映射。
參考
使用set命令
set pastetoggle=<F9>
使用imap命令
用Esc退出插入模式很麻煩,可以將另外的鍵映射到這個鍵上,如下,將Ctrl-i映射為Esc
imap <C-I> <Esc>
== the end ==

