一起來說 Vim 語

作為一款古老而具有持久生命力的編輯器,Vim 自有它的強(qiáng)大之處。很多人覺得 Vim 的學(xué)習(xí)曲線太陡峭了,為了能夠把 Vim 用得風(fēng)生水起,不得不記憶大量的命令。如果你是 Vim 新手,剛?cè)腴T就開始面對(duì)著浩如煙海的命令逐條學(xué)習(xí),我相信你一定會(huì)逐漸失去對(duì)它的興趣。其實(shí),Vim 以一種近乎自然語言的方式幫助你完成文本的編輯工作。只需要熟悉幾條簡(jiǎn)單的語法,你就會(huì)坐在旋轉(zhuǎn)座椅上前后打轉(zhuǎn),感慨美妙的生活又回來了。

我們假設(shè)你已經(jīng)了解了 Vim 的幾種常用的工作模式(正常模式、插入模式、命令模式等),如果你還不了解,請(qǐng)先閱讀 這里。現(xiàn)在就讓我們一起來學(xué)習(xí)一下 Vim 語吧。

動(dòng)詞

動(dòng)詞代表了我們打算對(duì)文本進(jìn)行什么樣的操作。例如:

  • d 表示刪除(delete)
  • r 表示替換(replace)
  • c 表示修改(change)
  • y 表示復(fù)制(yank)
  • v 表示選?。╲isual select)

名詞

名詞代表了我們即將處理的文本。Vim 中有一個(gè)專門的術(shù)語叫做文本對(duì)象(text object),下面是一些文本對(duì)象的示例:

  • w 表示一個(gè)單詞(word)
  • s 表示一個(gè)句子(sentence)
  • p 表示一個(gè)段落(paragraph)
  • t 表示一個(gè) HTML 標(biāo)簽(tag)
  • 引號(hào)或者各種括號(hào)所包含的文本稱作一個(gè)文本塊。

介詞

介詞界定了待編輯文本的范圍或者位置。例如:

  • i 表示“在...之內(nèi)”(inside)
  • a 表示“環(huán)繞...”(around)
  • t 表示“到...位置前”(to)
  • f 表示“到...位置上”(forward)

下面是幾個(gè)有關(guān)范圍的示意圖,你們感受一下:

Prepositions

組詞為句

有了這些基本的語言元素,我們就可以著手構(gòu)造一些簡(jiǎn)單的命令了。文本編輯命令的基本語法如下:

動(dòng)詞 介詞 名詞

下面是一些例子(如果熟悉了上面的概念,你將會(huì)看到這些例子非常容易理解),請(qǐng)親自在 Vim 中試驗(yàn)一番。

# 刪除一個(gè)段落: delete inside paragraph
dip

# 選取一個(gè)句子: visual select inside sentence
vis

# 修改一個(gè)單詞: change inside word
ciw

# 修改一個(gè)單詞: change around word
caw

# 刪除文本直到字符“x”(不包括字符“x”): delete to x
dtx

# 刪除文本直到字符“x”(包括字符“x”): delete forward x
dfx

數(shù)詞

數(shù)詞指定了待編輯文本對(duì)象的數(shù)量,從這個(gè)角度而言,數(shù)詞也可以看作是一種介詞。引入數(shù)詞之后,文本編輯命令的語法就升級(jí)成了下面這樣:

動(dòng)詞 介詞/數(shù)詞 名詞

下面是幾個(gè)例子:

# 修改三個(gè)單詞:change three words
c3w

# 刪除兩個(gè)單詞:delete two words
d2w

另外,數(shù)詞也可以修飾動(dòng)詞,表示將操作執(zhí)行 n 次。于是,我們又有了下面的語法:

數(shù)詞 動(dòng)詞 名詞

請(qǐng)看示例:

# 兩次刪除單詞(等價(jià)于刪除兩個(gè)單詞): twice delete word
2dw

# 三次刪除字符(等價(jià)于刪除三個(gè)字符):three times delete character
3x

怎么樣,是不是很容易理解?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 下面是一篇舊文,大多是一些已有知識(shí)的整理,并不太成熟。歡迎關(guān)注專欄 space-vim , 有空我會(huì)以 Vim 自...
    liuchengxu閱讀 731評(píng)論 0 8
  • 第八章介詞 地球村語的介詞,指不單獨(dú)充當(dāng)句子成分、只能與后接賓語共同充當(dāng)定語或者狀語的詞。與傳統(tǒng)定義相比,只修改了...
    地球村語閱讀 3,903評(píng)論 0 0
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 100,810評(píng)論 9 468
  • 當(dāng)年離家走四方, 半生漂泊歸路長(zhǎng)。 夕陽明月鄉(xiāng)愁旺, 故人已非舊模樣。 家里已無爹和娘, 爹娘墳?zāi)乖谕翇彙?欲把他...
    萬月生閱讀 722評(píng)論 6 5
  • 總歸我得努力 不能把這個(gè)世界 拱手讓給那些我瞧不上的笨蛋們 大家好!我是河馬!過了今年8月,我就20歲了。我正直年...
    小河馬君閱讀 808評(píng)論 0 0

友情鏈接更多精彩內(nèi)容