vi 命令使用--AIX環境下總結

fanhongjie發表於2013-01-17
1. 游標的移動
在一行內移動
h 向左移動一個字元
l 向右移動一個字元
0 移動到行尾
$ 移動到行首
在word間移動
w 下個小寫詞彙(組合)
W 下個大寫詞彙(組合)
b 上一個小寫詞彙(組合)
B 上一個大寫詞彙(組合)
e 下一個小寫詞彙(組合)的尾部
E 下一個大寫詞彙(組合)的尾部
在一個螢幕內移動
k 游標移動到上一行
j 游標移動到下一行
H 游標移動到螢幕內首行首字元(空格除外)
M 游標移動到螢幕內中間行首字元(空格除外)
L 游標移動到螢幕內最後一行首字元(空格除外)
游標在螢幕間移動
游標移動到下一個螢幕
游標移動到上一個螢幕
2. 刪除操作
x 刪除游標後一個字元
X 刪除游標前一個字元
dw 從游標處刪除至詞尾
d$ 從游標處刪除至行尾
d0 從游標處刪除至行首
dd 刪除整行
:20,40d 從第20個字元刪除至第40個字元
10dd(d10d) 刪除游標以下10行(包含游標所在行),並置於buffer內
u 取消之間操作。
3. 插入操作
i 在游標前插入字元
I 在行首插入字元
a 在游標後插入字元
A 在行尾插入字元
o 在游標下面插入一行
O 在游標上方插入一行
4. 替換
r 單字元替換
:s 命令來替換字串
:s/str1/str2/ 替換當前行第一個 str1為 str2
:s/str1/str2/g 替換當前行所有 str1為 str2
:n,$s/str1/str2/ 替換第 n 行開始到最後一行中每一行的第一個 str1為 str2
:n,$s/str1/str2/g 替換第 n 行開始到最後一行中每一行所有 str1為 str2
若 n 為 .,表示從當前行開始到最後一行
:%s/str1/str2/(等同於 :g/str1/s//str2/) 替換每一行的第一個 str1為 str2
:%s/str1/str2/g(等同於 :g/str1/s//str2/g) 替換每一行中所有 str1為 str2
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符(可以使用其他任意的字元替換/的作用,此時/作為字串的一部分)
:s#str1/#str2/# 替換當前行第一個 str1/ 為 str2/
5. 查詢
輸入 /,然後會發現在左下角會出現/,隨後輸入想要查詢的詞,按回車就可以以當前游標位置為起點向下查詢。
輸入?,然後輸入查詢的詞,會以當前游標為起點向上查詢
6. 剪下、複製、貼上
dd 刪除當前行,並將內容置於buffer內,此操作,相當於剪下
yy(nyy / yny,n為正整數) 為複製
p/P 貼上(小寫p表示在游標後貼上,大寫P表示在游標前貼上)
7. vi 編輯檔案與外部環境之間的切換操作
在vi 編輯檔案時,
:! +command 來切換到外部環境,並執行command命令.如: :!ls
:r + file_name 將file_name的內容讀取到當前編輯的檔案中.
:sh + 一系列命令
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/73920/viewspace-1060121/,如需轉載,請註明出處,否則將追究法律責任。

相關文章