編輯器(2)
本篇說明vi命令模式下可執行的命令。
所有要輸入的指令皆用藍色表示。
對於初學者來說,這個部分有點複雜了。
不過呢?以藍色泡泡的經驗來說,用久了你自然會記住某些指令。
不用刻意去記,因為常用的自然會在不知不覺中記住。
(極有可能像我一樣,手指記住了,腦袋記不住..XD)
註: <control+A> 表示先按住ctrl鍵再按A。(有些命令小寫也可以用)
我都是用小寫。
1.常用移動命令:
<control+A> 往下移動到這個字下次一出現的地方。
<control+B> 游標向上移動一個螢幕。
<control+D> 游標往下移動數行(約12行)。
<control+F> 游標往下移動一個螢幕。
<control+U> 游標往上移動數行(約12行)。
$ 將游標移動到該行尾.
nG 移動到某行,n為行數,若沒有指定則為檔案的最後一行.
L 將游標移動到螢幕的最下一行.
^ 移到該行第一個非空白字元.
2.常用檔案命令
<control+G> 顯示檔案的資訊。
顯示出目前檔案是否更改,所在行的位置.
file_name: unmodified : line 1 of 380 [0%]
<control+L> 重畫螢幕。
<control+Z> 暫停編輯 回到shell,可用fg回到編輯畫面
<control+^> 切換到最近編輯的檔案.
vi file_name file_name2
用此命命可以在兩個檔案中切換.
3.常用編輯命令
輸入:
I 移動游標道行首的第一個字元並開始接受輸入.
複製:
Y 複製該行到暫存區(用yy也可以)
刪除:
D 從游標目前位置道行尾的所有字元刪除..(用dd也可以)
x 刪除游標所在位置的一個字元
取代:
!shell命令 !後接shell comd ,並以shell cmd 執行結果取代游標該行.
如!panda 會用以下訊息取代原有行的內容
bash: panda: command not found
r 按r後接著按某字元,以取代游標所在的該字元.
~ 切換游標所在字元的大小寫
重複:
n 搜尋之前所搜尋過的字串 (用/也可以)
若先執行 /BSD 再執行 n 等同於執行 /BSD
若先前沒有搜尋任何東西 會有如下訊息
No previous search pattern.
復原:
U 恢復狀態到游標起初接觸此行的狀態
u 復原前一個動作產生的效果(也就是回復)
其他:
: 執行ex 命令
J 將下一行與此行合併.
◎參考資料: vi (1)

