1. 查找
/xxx(?xxx) 表示在整篇文檔中搜索匹配xxx的字符串, / 表示向下查找, ? 表示
向上查找.其中xxx可以是正規(guī)表達(dá)式,關(guān)于正規(guī)式就不多說了.
一般來說是區(qū)分大小寫的, 要想不區(qū)分大小寫, 那得先輸入
:set ignorecase
查找到以后, 再輸入 n 查找下一個匹配處, 輸入 N 反方向查找.
*(#) 當(dāng)光標(biāo)停留在某個單詞上時, 輸入這條命令表示查找與該單詞匹配的
下(上)一個單詞. 同樣, 再輸入 n 查找下一個匹配處, 輸入 N 反方
向查找.
g*(g#) 此命令與上條命令相似, 只不過它不完全匹配光標(biāo)所在處的單詞, 而
是匹配包含該單詞的所有字符串.
gd 本命令查找與光標(biāo)所在單詞相匹配的單詞, 并將光標(biāo)停留在文檔的非
注釋段中第一次出現(xiàn)這個單詞的地方.
% 本命令查找與光標(biāo)所在處相匹配的反括號, 包括 () [] {}
f(F)x 本命令表示在光標(biāo)所在行進(jìn)行查找, 查找光標(biāo)右(左)方第一個x字符.
找到后:
輸入 ; 表示繼續(xù)往下找
輸入 , 表示反方向查找
2. 快速移動光標(biāo)
在 vi 中, 移動光標(biāo)和編輯是兩件事, 正因為區(qū)分開來, 所以可以很方便的進(jìn)行光標(biāo)定
位和編輯. 因此能更快一點移動光標(biāo)是很有用的.
w(e) 移動光標(biāo)到下一個單詞.
b 移動光標(biāo)到上一個單詞.
0 移動光標(biāo)到本行最開頭.
^ 移動光標(biāo)到本行最開頭的字符處.
$ 移動光標(biāo)到本行結(jié)尾處.
H 移動光標(biāo)到屏幕的首行.
M 移動光標(biāo)到屏幕的中間一行.
L 移動光標(biāo)到屏幕的尾行.
gg 移動光標(biāo)到文檔首行.
G 移動光標(biāo)到文檔尾行.
c-f (即 ctrl 鍵與 f 鍵一同按下) 本命令即 page down.
c-b (即 ctrl 鍵與 b 鍵一同按下, 后同) 本命令即 page up.
'' 此命令相當(dāng)有用, 它移動光標(biāo)到上一個標(biāo)記處, 比如用 gd, * 等查
找到某個單詞后, 再輸入此命令則回到上次停留的位置.
'. 此命令相當(dāng)好使, 它移動光標(biāo)到上一次的修改行.
`. 此命令相當(dāng)強(qiáng)大, 它移動光標(biāo)到上一次的修改點.
3. 拷貝, 刪除與粘貼
在 vi 中 y 表示拷貝, d 表示刪除, p 表示粘貼. 其中拷貝與刪除是與光標(biāo)移動命令
結(jié)合的, 看幾個例子就能夠明白了.
yw 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)所在單詞結(jié)尾的內(nèi)容.
dw 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在單詞結(jié)尾的內(nèi)容.
y0 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)所在行首的內(nèi)容.
d0 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在行首的內(nèi)容.
y$ 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)所在行尾的內(nèi)容.
d$ 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的內(nèi)容.
yfa 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)后面的第一個a字符之間的內(nèi)容.
dfa 表示刪除從當(dāng)前光標(biāo)到光標(biāo)后面的第一個a字符之間的內(nèi)容.
特殊地:
yy 表示拷貝光標(biāo)所在行.
dd 表示刪除光標(biāo)所在行.
D 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的內(nèi)容.
關(guān)于拷貝, 刪除和粘貼的復(fù)雜用法與寄存器有關(guān), 可以自行查詢
其它: 1G 真接到第一行, 1%到文檔的百分之一處.
推薦:http://vcd.gro.clinux.org/