vim的幾種模式
1、Normal Mode 普通模式
功能: 在這種模式下可以移動光標(biāo)等。
進(jìn)入: 默認(rèn)進(jìn)入vim之后,處于這種模式。在其他模式下狂按ESC后進(jìn)入此模式。
?
2、Visual Mode 可視模式
功能: 在這種模式下可以選定一些字符、行、多列。
進(jìn)入: 在普通模式下,按v進(jìn)入。
?
3、Insert Mode 插入模式
功能: 在這種模式下可以編輯輸入等。
進(jìn)入: 普通模式下,可以按i、a、o等進(jìn)入。
?
4、Command-Line 命令行模式
功能: 可以輸入各種命令。
進(jìn)入: 普通模式下按冒號(:)進(jìn)入。
?
5、Ex Mode Ex模式
功能: 多行的Command-Line模式。
進(jìn)入: 普通模式下按Q進(jìn)入Ex模式。
?
6、Select Mode 選擇模式
功能: 在gvim下常用的模式,用鼠標(biāo)拖選區(qū)域的時(shí)候,就進(jìn)入了選擇模式。和可視模式不同的是,在這個(gè)模式下,選擇完了高亮區(qū)域后,敲任何按鍵就直接輸入并替換選擇的文本了。
進(jìn)入: 普通模式下,可以按gh進(jìn)入。
?
map映射
在vim配置文件中經(jīng)常會看到map、nmap、imap、vmap、vnoremap、nunmap、nmapclear等,都是什么意思呢?
map前的n、v、nore、un等表示下列含義:
nore—— 表示非遞歸。
n ——表示在普通模式下生效。
v ——表示在可視模式下生效。
i ——表示在插入模式下生效。
c——表示在命令行模式下生效。
un——后面跟按鍵組合,表示刪除這個(gè)映射。
clear——表示清除相關(guān)模式下的所有映射。
?
???????
映 射 與 運(yùn) 行 模 式
有五種映射存在
- 對于普通模式: 當(dāng)輸入命令時(shí).
- 對于可視模式: 當(dāng)輸入命令并且 Visual 區(qū)域已被設(shè)置為高亮?xí)r.
- 對于 Operator-pending mode: 當(dāng)一個(gè)操作符正在進(jìn)行中 ("d", "y", "c",等等之后)
? 例如: ":omap { w" 會使 "y{" 和 "yw" 一樣, "d{" 和 "dw"一樣.
- 對于插入模式: 也被用于替換模式.
- 對于命令行模式: 當(dāng)輸入一個(gè) ":" 或 "/" 命令時(shí).
沒有獨(dú)立針對選擇模式的映射.? 和可視模式在 |
Select-mode-mapping
|
中的一樣.
特殊情況:當(dāng)在普通模式里為一個(gè)命令輸入一個(gè)數(shù)時(shí),對 0 的映射就會禁用。這樣
在輸入一個(gè)帶有0的數(shù)字時(shí)不會受到對 0 鍵映射的干擾。
???????????????????????????????????????????????
*
map-overview
*
*
map-modes
*
每個(gè)映射命令工作的模式概況:
??? 命令:?????????????????????????????????? 模式:
??????????????????????????????????????????? 普通????? 可視? Operator-pending
:map?? :noremap?? :unmap?? :mapclear??????? yes??????? yes??????? yes
:nmap? :nnoremap? :nunmap? :nmapclear?????? yes???????? -????????? -
:vmap? :vnoremap? :vunmap? :vmapclear??????? -???????? yes???????? -
:omap? :onoremap? :ounmap? :omapclear??????? -????????? -???????? yes
??????????????????????????????????????????? 插入???? 命令行??????? Lang-Arg
:map!? :noremap!? :unmap!? :mapclear!?????? yes??????? yes???????? -
:imap? :inoremap? :iunmap? :imapclear?????? yes???????? -????????? -
:cmap? :cnoremap? :cunmap? :cmapclear??????? -???????? yes???????? -
:lmap? :lnoremap? :lunmap? :lmapclear?????? yes
*
?????? yes
*
?????? yes*
?
?
?
參考: http://man.chinaunix.net/newsoft/vi/doc/map.html#abbreviations
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
