VIM文字操作

weixin_34377065發表於2015-08-11

1. 跳轉游標位置

文字物件 選擇範圍
w 下一個單詞第一個字元正向跳轉
b 本單詞的第一個字元反向跳轉(如果游標已經位於單詞的第一個字元,則跳轉到上一個單詞的第一個字元;如果游標位於單詞的其他位置,則跳轉到本單詞的第一個字元)
e 本單詞的最後一個字元正向跳轉(如果游標已經位於單詞的最後一個字元,則跳轉到下一個單詞的最後一個字元;如果游標位於單詞的其他位置,則跳轉到本單詞的最後一個字元)
ge 上一個單詞的最後一個字元反向跳轉

2. 文字選擇

本章節以 轉載文章 一起來說 Vim 語 為主題進行介紹

語法規則:

[數詞] 命令 [數詞] [介詞] [名詞]

[名詞]即對應命令操作的物件,稱為[物件]也沒毛病

動詞

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

d 表示刪除(delete)
r 表示替換(replace)
c 表示修改(change)
y 表示複製(yank)
v 表示選取(visual select)

介詞

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

i 表示“在…之內”(inside)
a 表示“環繞…”(around)
t 表示“到…位置前”(to)
f 表示“到…位置上”(forward)

5228-db67469a1569fcd3.png
圖例講解

名詞

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

w 表示一個單詞(word)
s 表示一個句子(sentence)
p 表示一個段落(paragraph)
t 表示一個 HTML 標籤(tag)
引號或者各種括號所包含的文字稱作一個文字塊。

3. 例子

文字選擇示例

文字物件 選擇區域
aw 當前單詞及其後一個空格。如果單詞後邊是句號,則選擇其前邊一個空格和該單詞
iw 當前單詞
aW 當前字串及其後一個空格
iW 當前字串
as 當前句子及其後一個空格
is 當前句子
ap 當前段落及其後一個空格
ip 當前段落
a) 圓括號及其內容
i) 圓括號內部內容
a} 花括號及其內容
i} 花括號內部內容
a] 方括號及其內容
i] 方括號內部內容
a> 尖括號及其內容
i> 尖括號內部內容
a' 單引號及其內容
i' 單引號內部內容
a" 雙引號及其內容
i" 雙引號內部內容
at XML/HTML類似標籤(很靈活,只要是對稱的標籤即可)及其內容,如<abcabc>tags</abcabc>
it XML/HTML類似標籤內部內容

操作語句示例

操作語句 功能
dip 刪除一個段落: delete inside paragraph
vis 選取一個句子: visual select inside sentence
ciw 修改一個單詞: change inside word
caw 修改一個單詞: change around word
dtx 刪除文字直到字元“x”(不包括字元“x”): delete to x
dfx 刪除文字直到字元“x”(包括字元“x”): delete forward x
c3w 修改三個單詞:change three words
d2w 刪除兩個單詞:delete two words
2dw 兩次刪除單詞(等價於刪除兩個單詞): twice delete word
3x 三次刪除字元(等價於刪除三個字元):three times delete character

參閱文章列表

Ref-1: https://www.jianshu.com/p/70b9e9df7ebd

相關文章