一文講清楚vim的map對映

2021-10-24 07:03:44 字數 2638 閱讀 8328

map主用自定義快捷鍵,如:map a b    ,把b對映為a鍵,使之按下a的時候執行b快捷鍵;

在vim配置檔案中經常會看到map、nmap、imap、vmap、vnoremap、nunmap、nmapclear等,都是什麼意思呢?map前的n、v、nore、un等表示下列含義:

如:nmap s  :wqa#表示按下了leader鍵(我的設定為了\)和s鍵後,執行:wqa命令,代表了回車

如:vmap +y       "表示在可視模式下,按ctrl+c複製選中的內容

如:unvmap "刪除對映

如:mapclear、nmapclear、nnoremapclear等等

上面的一些對映是可以組合使用的,如:

|commands                          modes

:map   :noremap  :unmap           normal, visual, select, operator-pending

:nmap  :nnoremap :nunmap       normal

:vmap  :vnoremap :vunmap        visual and select

:smap  :snoremap :sunmap        select

:xmap  :xnoremap :xunmap        visual

:omap  :onoremap :ounmap       operator-pending

:map!  :noremap! :unmap!          insert and command-line

:imap  :inoremap :iunmap           insert

:lmap  :lnoremap :lunmap           insert, command-line, lang-arg

:cmap  :cnoremap :cunmap        command-line

:tmap  :tnoremap :tunmap           terminal-job

-小鍵盤 0 到 9 

shift+鍵 

control+鍵 

alt+鍵 或 meta+鍵 

escape 鍵 

游標上移鍵 

插入空格 

插入tab 

等於

有些特殊引數必須對映命令的後邊,在其他任何引數的前面。

如果這些對映命令的第乙個引數是,對映將只侷限於當前緩衝區(也就是你此時正編輯的檔案)內。比如: 

:map ,w /a

它的意思時在當前緩衝區裡定義鍵繫結,「,w」將在當前緩衝區裡查詢字元a。同樣你可以在其他緩衝區裡定義: 

:map ,w /b

比如我經常開啟多個標籤(:tabedit),想要在各自標籤裡定義」,w」鍵繫結,那麼你只要在每個標籤頁裡分別定義就可,其作用域也只在各自的標籤裡。同樣要清除這些緩衝區的鍵繫結也要加上引數,比如: 

:unmap ,w

:mapclear

是指執行鍵繫結時不在命令列上回顯,比如: 

:map ,w /abcd

你在輸入,w查詢abcd時,命令列上不會顯示/abcd,如果沒有引數就會顯示出來。

一般用於定義特殊鍵怕有***的場合。比如: 

:map /header

. 如果定義新對映的第乙個引數是,那麼引數會作為表示式來進行計算,結果使用實際使用的,例如: 

:inoremap . insertdot()

這可以用來檢查游標之前的文字並在一定條件下啟動全能 (omni) 補全。 

乙個例子:

let counter = 0 

inoremap listitem()

inoremap listreset()

func listitem()

let g:counter += 1

return g:counter . '. '

endfunc

func listreset()

let g:counter = 0

return ''

endfunc

在插入模式下,ctrl-l插入順序的列表編號,並返回;ctrl-r復位列表編號到0,並返回空。

一般用於定義新的鍵對映或者縮寫命令的同時檢查是否該鍵已經被對映,如果該對映或者縮寫已經存在,則該命令會失敗

還有很多具體的對映相關的內容可以參見:help map

一文講清楚事務隔離性

乙個人運算元據庫的時候,其他人都看不見 其他人不能讀 mvcc 其他人不能寫 通過加鎖 鎖 read view一般由兩部分組成 排他鎖小紅對取前的時候加上了鎖 排他鎖 所以其他人不能取錢了,所以等小紅這個操作 事務 結束了,這把鎖才能解開 事務的開始時間是更新操作執行的時候 讀未提交沒有mvcc的控...

一文講清楚什麼是閘道器 DNS 子網掩碼 MAC位址

很多朋友多次問到什麼是閘道器 dns 子網掩碼,它有什麼作用,確實,我們平時在網路中總是在不斷的提到閘道器,卻很少真正的去了解它。閘道器 gateway 又稱網間聯結器 協議轉換器。閘道器在傳輸層上以實現網路互連,是最複雜的網路互連裝置,僅用於兩個高層協議不同的網路互連。大家都知道,從乙個房間走到另...

一文講清ArrayList的原理

arraylist底層採用陣列實現,具有也具有陣列的優缺點,同時支援動態擴容 擴充套件為原來的1.5倍 所以它非常適合需要使用索引快速訪問的場景。同時由於其自動擴容的功能,我們需要注意在初始化集合時需要指定大小。02 特點 03 具體 最後從原始碼裡具體分析一下,arraylist中的新增 add ...