2021-05-12 14:32:11
一起來說 Vim 語
作為一款古老而具有持久生命力的編輯器,Vim 自有它的強大之處。很多人覺得 Vim 的學習曲線太陡峭了,為了能夠把 Vim 用得風生水起,不得不記憶大量的命令。如果你是 Vim 新手,剛入門就開始面對著浩如煙海的命令逐條學習,我相信你一定會逐漸失去對它的興趣。其實,Vim 以一種近乎自然語言的方式幫助你完成文字的編輯工作。只需要熟悉幾條簡單的語法,你就會坐在旋轉座椅上前後打轉,感慨美妙的生活又回來了。
我們假設你已經了解了 Vim 的幾種常用的工作模式(正常模式、插入模式、命令模式等),如果你還不了解,請先閱讀 這裡。現在就讓我們一起來學習一下 Vim 語吧。
動詞
動詞代表了我們打算對文字進行什麼樣的操作。例如:
d
表示刪除(delete)r
表示替換(replace)c
表示修改(change)y
表示複製(yank)v
表示選取(visual select)
名詞
名詞代表了我們即將處理的文字。Vim 中有一個專門的術語叫做文字物件(text object),下面是一些文字物件的範例:
w
表示一個單詞(word)s
表示一個句子(sentence)p
表示一個段落(paragraph)t
表示一個 HTML 標籤(tag)- 引號或者各種括號所包含的文字稱作一個文字塊。
介詞
介詞界定了待編輯文字的範圍或者位置。例如:
i
表示“在...之內”(inside)a
表示“環繞...”(around)t
表示“到...位置前”(to)f
表示“到...位置上”(forward)
下面是幾個有關範圍的示意圖,你們感受一下:
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打造成一個簡單實用的IDE http://www.linuxidc.com/Linux/2011-06/37032.htm
Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm
強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm
CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C語言設定 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中設定Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm
Vim編輯器使用基礎教學 http://www.linuxidc.com/Linux/2013-05/84031.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-11/125338.htm
相關文章