文書編輯器介紹 [VI]
vi ( m ) 在大多數的 unix 系統中 ( 包括 Linux ) 都內建 vi ( m ) 編輯器。如果您即將成為 linux 系統管理者,或是長時間在 linux 環境中工作,您最好學會 vi ( m ),因為您遲早會使用到它,由其是系統出狀況時。對新手而言,第一次使用 vi ( m ) 的過程是非常痛苦的,甚至討厭它,因為它的使用方式與一般輯編器完全不同。但是,一但您學會如何操作它時,您會對它愛不釋手,因為它的功能實在太強了。vi ( m ) 就是這樣,讓人又愛又恨。
事實上 linux 系統中的 vi 其實是 vim。vi 與 vim 的用法很像,因為它是 vi 的增強版,因此 vi 有什麽功能 vim 都有,而且 vim 新增許多 vi 沒有的功能,而且比 vi 容易使用。
7.4.1 vi ( m ) 的三種模式簡介
一般模式
在一般模式下,您所能進行的動作只有移動游標屏幕上的位置,標記、刪除、搬移、復制字符或文字區塊。此外您可以由命令模式進人輸入模式雖命令列模式。
輸入模式
只有在輸入模式下,才可進行文字資料輸入,按 ESC 鍵可以回到一般模式。
命令列模式
將文件寫入或離開編輯器,亦可設定編輯環境,如尋找字串、列出行號等。
7.4.2 vi ( m ) 的基本操作
進人 vi
在系統提示符號下輸入 vi 及文件名稱後即進入 vi 全屏幕編輯畫面,且在一般模式下。輸入模式下編輯文件:在一般模式下可按 'i' 或 'a' 或 'o' 三鍵進入編輯模式。
"i" insert - 在目前游標之處插入所要輸入之文字
"a" append - 在目前游標所在的下一行開始輸入文字
"o" open - 新增一行在游標的下,並從行首開始輸人文字
離開 vi 及保存
在一般模式下可按 ':' 鍵進人命令列模式:
:w filename ( 存入指定文件 )
:wq ( 寫入並離開 vi )
:q! ( 強迫離開並放棄編輯的文件 )
:n [ 文件 ] - 引入下一個文件
:l,l2d - 刪除自行l至行 l2 的文字
:l,l2s/patternl/pattern2/g - 將行 l 至行 l2 的文字, patternl 的字串改為 pattern2 的字串,如無 g 則僅更換每一行所匹配的第一個字串,如有 g 則將每一個字串均做更換
7.4.3 一般模式功能鍵簡介
移動游標
h、j、k、l:分別控制游標左、下、土、右移一格
Ctrl+b : 往前一頁
Ctrl+f : 往後一頁
G : 移到文件最後
w : 移到下個 Word 的開頭
b : 跳至上個 wore 的開頭
刪除
x:刪除所在後面一個字符
#x:ex:5x 表刪除 5 個字符
dd:刪除游標所在之行
#dd:例,5dd 表刪除自游標算起之 5 行
更改
cw:更改游標處之字到此一單字之字尾處
c#w:例,c3w表更改 3 個字
取代
r:取代游標處之字符
R:取代字符直到按 ESC 為止
復制
yw:拷貝游標處之字到字尾至緩沖區
P:把緩沖區之資料貼上來
yy:拷貝游標所在之行至緩沖區
#yy:ex:5yy,拷貝游標所在之處以下 5 行至緩沖區
復原
u:undo,復原至上一動作
跳至指定之行
g:列出行號,及相關信息
7.4.4 命令列下命令簡介
注意:使用前請先按 ESC 鍵確定在一般模式下按 ':' 或 '/' 或 '?' 三鍵即可進入命令列模式
列出行號
:set nu
尋找字串
word ( 由首至尾尋找 ),按 n 可往下繼續找
word ( 由尾至首尋找 ),按 N 可往前繼續找
跳行
:100 - 可跳至第 100 行