W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Vim有個(gè)稱(chēng)為"abbreviations"的特性,與映射有點(diǎn)類(lèi)似,但是它用于insert、replace和 command模式。這個(gè)特性靈活且強(qiáng)大,不過(guò)本節(jié)只會(huì)談及最常用的用法。
本書(shū)只會(huì)講述insert模式下的abbreviations。運(yùn)行如下命令:
:iabbrev adn and
進(jìn)入insert模式并輸入:
One adn two.
在輸入adn
之后輸入空格鍵,Vim會(huì)將其替換為and
。
諸如這樣的輸入糾錯(cuò)是abbreviations的一個(gè)很實(shí)用的用法。運(yùn)行命令:
:iabbrev waht what
:iabbrev tehn then
再次進(jìn)入insert模式并輸入:
Well, I don't know waht we should do tehn.
注意?兩個(gè)?abbreviations的替換時(shí)機(jī),第二個(gè)沒(méi)有輸入空格卻也替換了。
緊跟一個(gè)abbreviation輸入"non-keyword character"后Vim會(huì)替換那個(gè)abbreviation。 "non-keyword character"指那些不在iskeyword
選項(xiàng)中的字符。運(yùn)行命令:
:set iskeyword?
你將看到類(lèi)似于iskeyword=@,48-57,_,192-255
的結(jié)果。這個(gè)格式很復(fù)雜,但本質(zhì)上 "keyword characters"包含一下幾種:
_
).如果你想閱讀這個(gè)選項(xiàng)格式的?完整?描述,你可以運(yùn)行命令:help isfname
,另外 閱讀之前最好準(zhǔn)備點(diǎn)吃的。
你只要記住輸入非字母、數(shù)字、下劃線(xiàn)的字符就會(huì)引發(fā)abbreviations替換。
Abbreviations不僅僅只能糾錯(cuò)筆誤。我們可以加幾個(gè)日常編輯中常用的abbreviations。 運(yùn)行如下命令:
:iabbrev @@ steve@stevelosh.com
:iabbrev ccopy Copyright 2013 Steve Losh, all rights reserved.
隨意更換我的名字和郵箱地址為你的,然后試試這兩個(gè)abbreviations吧~
這些abbreviations將你常用的一長(zhǎng)串字符壓縮至幾個(gè)字符,省的每次都要那么麻煩。
Why Not Use Mappings? 為什么不用Mappings?
不錯(cuò),abbreviations和mappings很像,但是他們的定位不同。看個(gè)例子:
運(yùn)行命令:
:inoremap ssig -- <cr>Steve Losh<cr>steve@stevelosh.com
這個(gè)?mapping?用于快速插入你的簽名。進(jìn)入insert模式并輸入ssig
試試看。
看起來(lái)一切正常,但是還有個(gè)問(wèn)題。進(jìn)入insert模式并輸入如下文字:
Larry Lessig wrote the book "Remix".
注意到Vim將Larry名字中的ssig
也替換了!mappings不管被映射字符串的前后字符是什么-- 它只在文本中查找指定的字符串并替換他們。
運(yùn)行下面的命令刪除上面的mappings并用一個(gè)abbreviation替換它:
:iunmap ssig
:iabbrev ssig -- <cr>Steve Losh<cr>steve@stevelosh.com
再次試試這個(gè)abbreviation。
這次Vim會(huì)注意ssig
的前后字符,只會(huì)在需要的時(shí)候替換它。
在你的~/.vimrc
文件中為經(jīng)常拼寫(xiě)錯(cuò)誤的單詞增加abbreviations配置。一定要使用 上一章中你創(chuàng)建的mappings來(lái)重新打開(kāi)讀取~/.vimrc
文件。
為你的郵箱地址、博客網(wǎng)址、簽名添加abbreviations配置。
為你經(jīng)常輸入的文本添加abbreviations配置。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: