一起來說 Vim 語

2021-09-23 16:58:11 字數 2042 閱讀 1746

作為一款古老而具有持久生命力的編輯器,vim 自有它的強大之處。很多人覺得 vim 的學習曲線太陡峭了,為了能夠把 vim 用得風生水起,不得不記憶大量的命令。如果你是 vim 新手,剛入門就開始面對著浩如煙海的命令逐條學習,我相信你一定會逐漸失去對它的興趣。其實,vim 以一種近乎自然語言的方式幫助你完成文字的編輯工作。只需要熟悉幾條簡單的語法,你就會坐在旋轉座椅上前後打轉,感慨美妙的生活又回來了。

我們假設你已經了解了 vim 的幾種常用的工作模式(正常模式、插入模式、命令模式等),如果你還不了解,請先閱讀 這裡。現在就讓我們一起來學習一下 vim 語吧。

動詞代表了我們打算對文字進行什麼樣的操作。例如:

名詞代表了我們即將處理的文字。vim 中有乙個專門的術語叫做文字物件text object,下面是一些文字物件的示例:

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

下面是幾個有關範圍的示意圖,你們感受一下:

prepositions

有了這些基本的語言元素,我們就可以著手構造一些簡單的命令了。文字編輯命令的基本語法如下:

動詞

介詞名詞

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

#

刪除乙個段落:

delete

inside paragraph

dip

#

選取乙個句子:

visual select inside sentence

vis

#

修改乙個單詞:

change inside word

ciw

#

修改乙個單詞:

change around word

caw

#

刪除文字直到字元「

x」(不包括字元「

x」):

delete

to x

dtx

#

刪除文字直到字元「

x」(包括字元「

x」):

delete

forward x

dfx

數詞指定了待編輯文字物件的數量,從這個角度而言,數詞也可以看作是一種介詞。引入數詞之後,文字編輯命令的語法就公升級成了下面這樣:

動詞

介詞/數詞

名詞下面是幾個例子:

#

修改三個單詞:

change three words

c3w

#

刪除兩個單詞:

delete

two words

d2w

另外,數詞也可以修飾動詞,表示將操作執行 n 次。於是,我們又有了下面的語法:

數詞

動詞名詞

請看示例:

#

兩次刪除單詞(等價於刪除兩個單詞):

twice

delete

word

2dw

#

三次刪除字元(等價於刪除三個字元):

three times

delete

character

3x

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

一起來說 Vim 語

這是一篇介紹vim語法的部落格,可以說令人耳目一新,第一次看到就喜歡上了這篇文章,就像外語語法學習一樣,介紹了vim命令,如果你也是乙個vimer,估計也會喜歡文中對vim命令的總結。作為一款古老而具有持久生命力的編輯器,vim 自有它的強大之處。很多人覺得 vim 的學習曲線太陡峭了,為了能夠把 ...

一起來點讚

description 小a同學最近接了乙個專案,專案的一部分內容是設計朋友圈模組,他在寫點贊功能的時候遇到了一點麻煩。現在他的資料表裡面有如下內容資訊 zhangsan 1 lisi 2 zhangsan 2 lisi 3 wangwu 1 wangwu 2 wangwu 3 其中每一行的由兩部分...

一起來看CRC

crc crc稱迴圈冗餘校驗 cyclic redundancy check,crc 其是一種根據網路資料報或電腦檔案等資料產生簡短固定位數校驗碼的一種雜湊函式,主要用來檢測或校驗資料傳輸或者儲存後可能出現的錯誤。它是利用除法及餘數的原理來作錯誤偵測的。說起crc,很多人是初次接觸的,但實際上其基本...