摘自 song4
Vim 以一種近乎自然語言的方式幫助你完成文本的編輯工作。
只需要熟悉幾條簡單的語法,你就會坐在旋轉座椅上前后打轉,感慨美妙的生活又回來了。
好吧,開始吧。
Vim 以一種近乎自然語言的方式幫助你完成文本的編輯工作。
只需要熟悉幾條簡單的語法,你就會坐在旋轉座椅上前后打轉,感慨美妙的生活又回來了。
好吧,開始吧。
動詞代表了我們打算對文本進行什么樣的操作。例如:
d
表示刪除(delete)r
表示替換(replace)c
表示修改(change)y
表示復制(yank)v
表示選取(visual select)名詞代表了我們即將處理的文本。Vim 中有一個專門的術語叫做文本對象,下面是一些文本對象的示例:
w
表示一個單詞(Word)s
表示一個句子(sentence)p
表示一個段落(paragraph)t
表示一個 HTML 標簽(tag)介詞界定了待編輯文本的范圍或者位置。例如:
i
表示“在...之內”(inside)a
表示“環繞...”(around)t
表示“到...位置前”(to)f
表示“到...位置上”(forward)有了這些基本的語言元素,我們就可以著手構造一些簡單的命令了。文本編輯命令的基本語法如下:
動詞 介詞 名詞
下面是一些例子(如果熟悉了上面的概念,你將會看到這些例子非常容易理解),請親自在 Vim 中試驗一番。
# 刪除一個段落: delete inside paragraphdip# 選取一個句子: visual select inside sentencevis# 修改一個單詞: change inside wordciw# 修改一個單詞: change around wordcaw# 刪除文本直到字符“x”(不包括字符“x”): delete to xdtx# 刪除文本直到字符“x”(包括字符“x”): delete forward xdfx
數詞指定了待編輯文本對象的數量,從這個角度而言,數詞也可以看作是一種介詞。引入數詞之后,文本編輯命令的語法就升級成了下面這樣:
動詞 介詞/數詞 名詞
下面是幾個例子:
# 修改三個單詞:change three wordsc3w# 刪除兩個單詞:delete two wordsd2w
另外,數詞也可以修飾動詞,表示將操作執行 n 次。于是,我們又有了下面的語法:
數詞 動詞 名詞
請看示例:
# 兩次刪除單詞(等價于刪除兩個單詞): twice delete word2dw# 三次刪除字符(等價于刪除三個字符):three times delete character3x
新聞熱點
疑難解答