vi命令詳解
vi命令是unix下常用而重要命令,可在全屏幕方式下編輯一個或多個文件。若在vi執(zhí)行時沒有指定一個文件,那么vi命令會自動產(chǎn)生一個無名的空的工作文件。若指定的文件不存在,那么就按指定的文件名創(chuàng)建一個新的文件。若對文件的修改不保存的話,v i命令并不改變原來文件的內(nèi)容。
注意:vi命令并不鎖住所編輯的文件,因此多個用戶可能在同時編輯一個文件,那么最后保存的文件版本將被保留。
下面是vi命令使用的一些選項及含義:
-c sub-command 在對指定的文件編輯前,先執(zhí)行指定的命令 sub-command .
-r filename 恢復(fù)指定的文件filename .
-R 將指定的文件以只讀的方式放入編輯器中,這樣不會保存對文件的任何修 改。
-y number 將編輯窗口的大小設(shè)為number行。
下面是vi編輯所處的三種模式:
命令模式 進入vi時所處的模式。在此模式下用戶可輸入各種子命令對進行*作,如刪除行、粘貼行、移向下一個字、移向不同行等。
文本輸入模式 在此模式下可以修改一行的內(nèi)容并增添新行。在命令模式下鍵入a 、i 或c鍵可進入文本輸入模式,按Escape鍵可返回命令模式。
命令項模式 在此模式下,可以通過子命令輸入更多的參數(shù)。如:w子命令要求輸入一文件名,”/”子命令要求輸入一個查找項。用戶使用Escape鍵返回命令模式。
下面是自命令模式下執(zhí)行的linux命令大全,在同一行上移動的自命令
h 將光標左移一格。
l 將光標右移一格。
j 將光標下移一格。
k 將光標上移一格。
w 將光標移到下一個小字的前面。
W 將光標移到下一個大字的前面。
b 將光標移到前一個小字的前面。
B 將光標移到前一個大字的前面。
e 將光標移到下一個小字的后面。
E 將光標移到前一個大字的后面。
fc 把光標移到同一行的下一個c字符處。
Fc 把光標移到同一行的前一個c字符處。
tc 把光標移到同一行的下一個字符c的前一格。
Tc 把光標移到同一行的前一個字符c的后一格。
number| 把光標移到遞number列上。
下面是命令模式下在行間移動的子命令
+或Enter 把光標移至下一行第一個非空白字符。
- 把光標移至上一行第一個非空白字符。
0 把光標移到當前行的第一個字符處。
$ 把光標移到當前行的最后一個字符處。
H 把光標移到屏幕最頂端一行。
L 把光標移到屏幕最底端一行。
M 把光標移到屏幕中間。
下面是命令模式下改變屏幕顯示的子命令
z- 把當前行作為屏幕的最后一行,并重新顯示屏幕。
z. 把當前行作為屏幕的中間一行,并重新顯示屏幕。
Ctrl+l 重新顯示屏幕當前內(nèi)容。
/pattern/z- 尋找pattern的下一個位置,并把所在行設(shè)為屏幕的最后一行。
下面是在命令模式下用來顯示頁面的子命令
Ctrl + f向后滾一頁。
Ctrl + d向后滾半頁。
Ctrl + b向前滾一頁。
Ctrl + u向前滾半頁。
Ctrl + e屏幕向下滾一行。
Ctrl + y屏幕項上滾一行。
下面是在命令模式下用來查找字符串所使用的子命令
/pattern 向后尋找指定的pattern ,若遇到文件尾,則從頭再開始。
?pattern 向前尋找指定的pattern ,若遇到文件頭,則從尾再開始。
n 在上次指定的方向上,再次執(zhí)行上次定義的查找。
N 在上次指定的方向的相反方向上,再次執(zhí)行上次定義的查找。
/pattern/+number 將光標停在包含pattern的行后面第number行上。