天天看點

Linux使用手冊-vi使用手冊

vi使用手冊 

VI是unix上最常用的文本編輯工具,作為unix軟體測試人員,有必要熟練掌握它。

進入vi的指令
vi filename :打開或建立檔案,并将光标置于第一行首
vi +n filename :打開檔案,并将光标置于第n行首
vi + filename :打開檔案,并将光标置于最後一行首
vi +/pattern filename:打開檔案,并将光标置于第一個與pattern比對的串處
vi -r filename :在上次正用vi編輯時發生系統崩潰,恢複filename
vi filename....filename :打開多個檔案,依次編輯

移動光标類指令
h :光标左移一個字元
l :光标右移一個字元
space:光标右移一個字元
Backspace:光标左移一個字元
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一個字至字首
b或B :光标左移一個字至字首
e或E :光标右移一個字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落開頭
{:光标移至段落結尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至螢幕頂行
M :光标移至螢幕中間行
L :光标移至螢幕最後行
0:(注意是數字零)光标移至目前行首
$:光标移至目前行尾

螢幕翻滾類指令
Ctrl+u:向檔案首翻半屏
Ctrl+d:向檔案尾翻半屏
Ctrl+f:向檔案尾翻一屏
Ctrl+b;向檔案首翻一屏
nz:将第n行滾至螢幕頂部,不指定n時将目前行滾至螢幕頂部。

插入文本類指令
i :在光标前
I :在目前行首
a:光标後
A:在目前行尾
o:在目前行之下新開一行
O:在目前行之上新開一行
r:替換目前字元
R:替換目前字元及其後的字元,直至按ESC鍵
s:從目前光标位置處開始,以輸入的文本替代指定數目的字元
S:删除指定數目的行,并以所輸入文本代替之
ncw或nCW:修改指定數目的字
nCC:修改指定數目的行

删除指令
ndw或ndW:删除光标處開始及其後的n-1個字
do:删至行首
d$:删至行尾
ndd:删除目前行及其後n-1行
x或X:删除一個字元,x删除光标後的,而X删除光标前的
Ctrl+u:删除輸入方式下所輸入的文本

搜尋及替換指令 :
/pattern:從光标開始處向檔案尾搜尋pattern
?pattern:從光标開始處向檔案首搜尋pattern
n:在同一方向重複上一次搜尋指令
N:在反方向上重複上一次搜尋指令
:s/p1/p2/g:将目前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将檔案中所有p1均用p2替換

選項設定
all:列出所有選項設定情況
term:設定終端類型
ignorance:在搜尋中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾标志($)
number:顯示行号
report:顯示由面向行的指令修改過的數目
terse:顯示簡短的警告資訊
warn:在轉到别的檔案時若沒儲存目前檔案則顯示NO write資訊
nomagic:允許在搜尋模式中,使用前面不帶“\”的特殊字元
nowrapscan:禁止vi在搜尋到達檔案兩端時,又從另一端開始
mesg:允許vi顯示其他使用者用write寫到自己終端上的資訊

最後行方式指令
:n1,n2 co n3:将n1行到n2行之間的内容拷貝到第n3行下
:n1,n2 m n3:将n1行到n2行之間的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之間的内容删除
:w :儲存目前檔案
:e filename:打開檔案filename進行編輯
:x:儲存目前檔案并退出
:q:退出vi
:q!:不儲存檔案并退出vi
:!command:執行shell指令command
:n1,n2 w!command:将檔案中n1行至n2行的内容作為command的輸入并執行之,若不指
定n1,n2,則表示将整個檔案内容作為command的輸入
:r!command:将指令command的輸出結果放到目前行 。      

作者:

Candyメ奶糖

出處:

http://www.cnblogs.com/Candies/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

博文來源廣泛,如原作者認為我侵犯知識産權,請盡快給我發郵件

[email protected]

聯系,我将以第一時間删除相關内容。

繼續閱讀