動詞
ide
動詞表明瞭咱們打算對文本進行什麼樣的操做。例如:spa
d 表示刪除 delete
r 表示替換 replace
c 表示修改 change
y 表示複製 yank
v 表示選取 visual select對象
名詞blog
名詞表明瞭咱們即將處理的文本。Vim 中有一個專門的術語叫作文本對象,下面是一些文本對象的示例:three
w 表示一個單詞 word
s 表示一個句子 sentence
p 表示一個段落 paragragh
t 表示一個 HTML 標籤 tag
引號或者各類括號所包含的文本稱做一個文本塊。ip
介詞ci
介詞界定了待編輯文本的範圍或者位置。例如:get
i 表示「在...以內」 inside
a 表示「環繞...」 around
t 表示「到...位置前」 to
f 表示「到...位置上」 forwardit
下面是幾個有關範圍的示意圖,大家感覺一下:io
有了這些基本的語言元素,咱們就能夠着手構造一些簡單的命令了。文本編輯命令的基本語法以下:
動詞 介詞 名詞
# 刪除一個段落: delete inside paragraph
dip
段落與段落之間以空白行爲間隔
# 選取一個句子: visual select inside sentence
vis
# 修改一個單詞: change inside word
ciw
# 修改一個單詞: change around word
caw
# 複製一個單詞:yank a word
yiw
# 複製某些單詞:yank to X
ytx
# 刪除文本直到字符「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