命令1: [vydc] [ia] [pair_char]
上面命令指的是該命令由三部分組成,每部分可以是[ ]裡面的任意一個字元
第一部分指定“操作類型”
第二部分和第三部分指定“操作範圍”,是基於當前游標所在位置的,這個非常重要
(1)
v: visual select
y: copy
d: delete
c: change,和delete的區別在於它會先delete,然後進入"insert mode";等價於先 d 然後按下 i 進入"insert mode"
(2)
pair_char 可以是一些成對的字元,比如 { [ ( < " ' 也可以使用它們的對應right close版本,比如} ] 等等
pair_char 的特殊情況, 可以是w, 代表游標所在的單詞(以空格分隔), 這時中間是使用i還是a, 區別在於操作結果包不包括單詞右邊的空格
(3)
i: exclude the pair_char
a: include the pair_char
i 和 a 的區別在於指定的“操作範圍”包不包括由pair_char指定的這一對字元,即 {} 或 [] 或 () 或 "" 等等
舉個例子吧:
假設有一文本行為 abcd "fgh ijk <lmn>";
游標位於m處(底線處)
vi< 作用:選中了 lmn
ya" 作用:複製了 "fgh ijk <lmn>"
di" 作用:刪除了 fgh ijk <lmn>
ci< 作用: 刪除了 lmn 並且進入了"insert mode",游標位於<>中間
命令2: [vydc] [tf] [a_char]
(1)
參見命令1的(1)
(2)
t: till, exclude the character 'a_char'
f: find, include the character 'a_char'
t和f 代表從左往右
另外,還可以使用大寫的T和F,代表從右往左
(3)
a_char: 代表某一個字元,特殊情況是0和$, 代表行首和行尾
命令3: 大小寫轉換 gU, gu
(1)
[visual_select_something_by_someway]gU
[visual_select_something_by_someway]gU
先通過某種方式選擇某個範圍的內容(可以通過命令1,2中的v指令進行選擇),然後將其轉換成大寫或小寫
(2)
gU [ia] [pair_char]
gu [ia] [pair_char]
gU [tf] [a_char]
gu [tf] [a_char]
這種方式是先通過gU指定要轉換成大寫,然後通過後兩部分指定“操作範圍”
[ia] [pair_char] 參見命令1的解釋
這裡中間部分使用 i 或 a 好像是沒有什麼區別
[tf] [a_char] 參見命令2的解釋
本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/