本文出自:OHaHa的學習心得[ohaha.ks.edu.tw] 作者:藍色泡泡(panda@ks.edu.tw)
◎VI COMMANDS
以下命令皆在vi命令模式下執行。
為避免ex:符號與ex命令混淆 所有要輸入的指令皆用藍色表示
不顯示ex:(舉例說明的英文縮寫)
:
表示先按住ctrl鍵再按A
有些命令小寫也可以用
移動命令:
往下移動到這個字下次一出現的地方。
標向上移動一個螢幕。
標往下移動數行(約12行)。
將螢幕往上一行,但標位置不變。
標往下移動一個螢幕。
+ 標往下移動到下一行第一個非空白字元。
標往上移動數行(約12行)。
將螢幕往上動,但標位置不變.
CTRL+Y 每移動一次 Y就按一次
(當然您的標須位在至少能夠向上動的位置)
$ 將標移動到該行尾.
( 標往上移動到下一句子.
) 標往下移動到下一句子.
- 標移動到上一行第一個非空白字元.
0(數字) 移動標到該行的第一個字元(包含空白).
< 移動該行向左移動一個tab鍵距離,按第二次後開始動作.
> 移動該行向右移動一個tab鍵距離,按第二次後開始動作.
B 往上移動標到下一個字的開始.
E 標往後移動到下一個字的最後一個字元.
nG 移動到某行,n為行數,若沒有指定則為檔案的最後一行.
H 移動標到檔案第一行行首.
L 將標移動到螢幕的最下一行.
M 將標移動到螢幕的中間行.
W 往下移動標到下一個字的開始.
^ 移到該行第一個非空白字元.
e 移動到該字的最後一字母.
f<字元> 行中向後搜尋該字母並移動標到該位置.
移動到a字母的位置fa
t<字元> 行中向後搜尋該字母並移動標到該字元前一個位置.
{ 往上移動到前一段落.
} 往下移動到後一段落.
檔案命令:
顯示檔案的資訊。
顯示出目前檔案是否更改,所在行的位置.
file_name: unmodified : line 1 of 380 [0%]
重畫螢幕。
重畫螢幕。
暫停編輯 回到shell,可用fg回到編輯畫面
切換到最近編輯的檔案.
vi file_name file_name2
用此命命可以在兩個檔案中切換.
ZZ 將文件存檔並離開vi
編輯命令:
輸入:
I 移動標道行首的第一個字元並開始接受輸入.
R 以取代模式進入輸入模式.
:
Y 該行到暫存區
刪除:
D 從標目前位置道行尾的所有字元刪除..
S 將該行清除並進入輸入模式.
X 刪除標之前的一個字元
取代:
!shell命令 !後接shell comd ,並以shell cmd 執行結果取代標該行.
!panda
用以下訊息取代原有行的內容
bash: panda: command not found
r 按r後接著按某字元,以取代標所在的該字元.
~ 切換標所在字元的大小寫
重:
& 在該行重之前的規則表示式.
前提是需要之前有執行過規則表示式.
用panda取代a :s/a/panda/
若之前沒有任何錶示式 則系統會顯示如下訊息
No previous regular expression
. 重上一個更改文件內容的vi命令.
n 搜尋之前所搜尋過的字串
若先執行 /BSD
再執行 n 等同於執行 /BSD
若先前沒有搜尋任何東西 會有如下訊息
No previous search pattern.
復原:
U 恢復狀態到標起初接觸此行的狀態
u 復原前一個動作產生的效果(也就是回復)
其他:
: 執行ex 命令
J 將下一行與此行合.
Q 離開vi模式並切換到ex模式.