Chapter 6 Vi-編輯器
◎vi是文字編輯器。
◎不是僅有,也不是最好用﹐卻是唯一存在所有UNIX版本中之Editor。
◎三種模式:命令模式、輸入模式、last line(延伸命令)模式。
模式切換 |
啟動vi編輯器 --> 命令模式
命令模式 +( i, a, o, O,) --> 插入模式
命令模式 + ”:”--> last line模式
last line模式 + 任何指令or KeyStroke --> 命令模式
插入模式 + “Esc”--> 命命模式
vi啟動:
$ vi filename
命令模式:
命令模式基本指令可分為游標移動、插入文字、刪除文字、修改文字等幾類﹐熟悉各種常用指令﹐並善加組合變化﹐可使文字編輯的工作變得快速而有效率。
last line模式:
last line模式之指令一般用於輔助命令模式指令之不足﹐主要指令如下:
(我們可以將last line模式指令視為“:”開頭的命令模式指令)
:q
不儲存檔案內容並離開vi(未變更檔案內容才可以執行)
:q! 不儲存檔案內容並離開vi(檔案內容已被更動, 必須加!)
:wq <filename> 儲存檔案內容並離開vi
:w <filename> 儲存檔案
:= 顯示游標目前所在之行數
:.= 顯示檔案全部總行數
:n,ms/str1/str2/opt從第n行搜尋至第m行,並將所找到之字串”str1”取代為”str2”。opt=g全部取代,opt=c確認再取代
:r filename將外部檔案引用(paste)至游標所在位置之後
:e filename編輯另一檔案
:! Command 執行SHELL command後返回。
命令模式指令概述:
游標移動指令 |
|
k |
往上移一格 |
j |
往下移一格 |
h |
往左移一格 |
l |
往右移一格 |
w |
往下移一個字(word) |
b |
往上移一個字(word) |
1 or 0 |
移至游標所在行首 |
$ |
移至游標所在行首 |
n G |
移至第n行 |
G |
移至檔尾 |
插入本文 |
|
a |
在游標後插入文字(進入插入模式) |
A |
在行尾插入文字(進入插入模式) |
I |
在游標前插入文字(進入插入模式) |
I |
在本行前插入文字(進入插入模式) |
o |
在本行之下開新一行並輸入 |
O |
在本行之上開新一行並輸入 |
<Ctrl> v |
輸入特殊字元(在插入模式下) |
編輯指令 |
|
nyy |
copy n行資料放置緩衝區中 |
y+游標移動指令 |
copy游標移動範圍之資料至緩衝區中(e.g.:y3w: copy游標之後三個字) |
p |
將緩衝區之資料copy至目前游標所在 |
nx |
刪除游標之後n個字元 |
ndd |
往下刪n行 |
d+游標移動指令 |
copy刪除游標移動範圍之資料(e.g.:dw刪一個字) |
其他 |
|
/字串<CR> |
尋找字串所在位置(往下) |
?字串<CR> |
尋找字串所在位置(往上) |
u |
放棄上一個指令動作 |
. |
重複上一個本文更改指令 |