一起來說 Vim 語
作為一款古老而具有持久生命力的編輯器,Vim 自有它的強大之處。很多人覺得 Vim 的學習曲線太陡峭了,為了能夠把 Vim 用得風生水起,不得不記憶大量的命令。如果你是 Vim 新手,剛入門就開始面對著浩如煙海的命令逐條學習,我相信你一定會逐漸失去對它的興趣。其實,Vim 以一種近乎自然語言的方式幫助你完成文本的編輯工作。只需要熟悉幾條簡單的語法,你就會坐在旋轉座椅上前后打轉,感慨美妙的生活又回來了。
我們假設你已經了解了 Vim 的幾種常用的工作模式(正常模式、插入模式、命令模式等),如果你還不了解,請先閱讀 這里。現在就讓我們一起來學習一下 Vim 語吧。
動詞
動詞代表了我們打算對文本進行什么樣的操作。例如:
d表示刪除r表示替換c表示修改y表示復制v表示選取
名詞
名詞代表了我們即將處理的文本。Vim 中有一個專門的術語叫做文本對象,下面是一些文本對象的示例:
w表示一個單詞s表示一個句子p表示一個段落t表示一個 HTML 標簽- 引號或者各種括號所包含的文本稱作一個文本塊。
介詞
介詞界定了待編輯文本的范圍或者位置。例如:
i表示“在...之內”a表示“環繞...”t表示“到...位置前”f表示“到...位置上”
下面是幾個有關范圍的示意圖,你們感受一下:

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 怎么樣,是不是很容易理解?
來源:簡書 原文:http://www.jianshu.com/p/a361ce8c97bc 作者: song4
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!