編輯檔案前,須先key入指令 : vi 檔案名
一般模式(預設模式)
指令 | 動作 |
上、下、左、右 | 游標移動上、下、左、右一個字元 |
n<space> | 游標向右移動這一行n個字元 |
Home | 移動游標同一行最前面字元 |
End | 移動游標同一行最後面字元 |
G | 移動到檔案的最後一行 |
nG | 移動至檔案的第n行 |
n<Enter> | 游標向下移動n行 |
/word | 游標之後尋找一個字串word |
X(x) | 向前(後)刪除一個字元 |
nx | 向後刪除n個字元 |
dd(ndd) | 刪除游標所在那一整行(ndd就是刪除游標所在向下n行) |
yy(nyy) | 複製游標所在那行(nyy為複製游標所在向下n行) |
p(P) | 複製的資料在游標下一行貼上(P為複製的資料在游標上一行貼上 ) |
u | 復原上一個動作 |
編輯模式(插入模式)
指令 | 動作 |
i | 從目前游標所在處插入 |
I
|
在目前所在行的第一個非空白字元處開始插入 |
a
|
從目前游標所在的下一個字元處開始插入 |
A
|
從游標所在行的最後一個字元處開始插入 |
o |
在目前游標所在處的下一行插入新的一行 |
O |
在目前游標所在處的上一行插入新的一行 |
r
|
取代游標所在的那一個字元一次 |
R
|
一直取代游標所在的文字,直到按下Esc為止 |
Esc | 退出編輯模式,回到一般模式 |
指令命令模式
指令 | 動作 |
:w | 將編輯的資料寫入硬碟檔案中 |
:w! | 檔案屬性為『唯讀』時,強制寫入該檔案 |
:q | 離開vi |
:q! | 強制離開而不儲存檔案 |
:wq | 儲存後離開 |
:wq! | 強制儲存後離開 |
:ZZ | 檔案沒更動為不儲存離開,檔案被更動過為儲存後離開 |
:w【filename】 | 另存新檔名稱叫filename |
:r【filename】 | 將filename這檔案內容加到游標所在的行後面 |
:set nu | 顯示行號 |
:set nonu | 取消行號 |
n1,n2 w【filename】 | 將n1到n2的內容儲存成filename檔案 |