W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果說Vimscript有一個特性使得你能夠按照你的意愿定制Vim,那就非鍵盤映射莫屬。 你可以通過鍵盤映射告訴Vim:
當我按下這個鍵時,我需要你放棄默認操作,按我的想法做。
我們先從normal模式的鍵盤映射開始。我們將在下一章節(jié)討論insert模式和其他模式下的 鍵盤映射。
隨意在文本中敲寫幾行文字,然后運行命令:
:map - x
將光標置于文本中的某處,按下-
。注意Vim刪除了當前光標下的字符,就好像你按了x
一樣。
我們本來就有個按鍵用于 "刪除當前光標下的字符" ,所以我們將-
重新映射到稍微有用的 功能。執(zhí)行命令:
:map - dd
現(xiàn)在移動光標到任意一行,再按下-
,這次Vim刪除了整行的文本,因為dd
的功能就是刪除整行。
你可以使用<keyname>
告訴Vim一個特殊的按鍵。嘗試如下命令:
:map <space> viw
移動光標到一個單詞上,按下空格鍵。Vim將高亮選中整個單詞。
你也可以映射修飾鍵入Ctrl和Alt。執(zhí)行:
:map <c-d> dd
現(xiàn)在在鍵盤上按下Ctrl+d
將執(zhí)行dd
命令。
還記得我們在第一章討論的注釋么?鍵盤映射就無法使用注釋。嘗試如下命令:
:map <space> viw " Select word
現(xiàn)在你再按下空格鍵,一些恐怖的事情就會發(fā)生。想一想為什么會這樣呢?
當你按下空格鍵時,Vim認為你是想執(zhí)行命令viw<space>"<space>Select<space>word
。 很明顯,這不是你的本意。
如果你仔細查看了這個映射的結(jié)果,可能你會發(fā)現(xiàn)一些奇怪的事。利用幾分鐘時間, 弄明白使用這個映射時到底發(fā)生了什么,以及?為什么?會是那樣的結(jié)果。
暫時搞不明白也不要擔心,我們很快就會再次談論這個問題。
映射按鍵-
為 "刪除當前行,然后將其粘貼到下一行" 。然后你就可以一次按鍵就將一行 文本移動到下一行。
將那個映射命令添加到你的~/.vimrc
文件中,以后每次啟動Vim你都可以使用那個映射了。
試試如何映射按鍵_
,使其將當前行上移一行。
將這個映射也加到你的的~/.vimrc
文件中。
想想如果你想取消一個映射或重置一個按鍵為默認功能時該怎么操作。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: