╭══════╮
║ VI快速入門║
╰══════╯

【簡介VI常用指令】

梁凱旋

vi是unix 工作站上,一項讓人又愛又恨的工具,
而且這是unix上指令格式最簡單的編輯器。

◎vi的使用要訣

vi的使用簡介想必大家都看過了。但那麼多的指令只有一些會常用的, 所以我再提出一些常用的指令,以及該注意的事項。

vi的主要三個模式:

 1.命令模式:一進入vi就是命令模式。輸入的任何按鍵都會被解釋成指令。        而且指令在你按的時候,不會像PE2一樣顯示出來。所以你要        記得你按過什麼。

 2.本文模式:輸入的按鍵成為本文的內容。

 3.:(冒號)命令模式:在命令模式下按:就會進入此模式。此模式就比較像            PE2的命令列。

 命令模式下常用的vi指令,大小寫是有分別的。列表如下:

       以下是命令用的指令,使用完後仍然在命令模式下。

Return   向下移一行
Backspace(倒退鍵) 向左移一個字元
SpaceBar(空白鍵) 向右移一個字元
Ctrl-F 向前捲動一個螢幕
Ctrl-B 向後捲動一個螢幕
J 將目前行和下一行連結
G 到檔案的最後一行
x 刪除游標所在的那個字元
dw 刪除字(一個字當中游標的右方部份)
dd 刪除游標所在的那一行文字
yy 將游標所在的那一行文字複製到緩衝區
以上這五個指令,假如你在按它們之前,先按數字,例如:12x 那將會刪除包括游標所在及之後的12個字元。
n代表你先按的數字,則
nG到這篇文章的第n行
nx刪除游標所在及之後的n個字元
ndw刪除n個字(一個字當中游標的右方部份)
ndd刪除游標所在及之後的n行文字
nyy將游標所在及之後的n行文字複製到緩衝區

在此說明一下緩衝區:當你刪除一個字、字元、行,被刪除的內容都會被儲 存到緩衝區,而且原先緩衝區的內容就被取代了。yy也是讓文字進入緩衝區,但 和dd不同的是,yy不會刪除原來的文字。而文字進入緩衝區之後,就可以用下面 會提到的p指令來貼到別的地方去。

以下是編輯用的指令,按了之後就進入本文模式。

a 在游標右方插入字元
A 在行尾插入字元
i 在游標所在的位置插入字元
I 在行首游標左方插入字元
o 在游標下面插入一行
p 將緩衝區的內容放在目前行的下面
注意事項:

.在本文模式下按enter,會將游標後的整行文字搬到下一行。所以  當游標在行首,你按enter,可以....增加一行空行  當游標在行裏,你按enter,可以....將這行切成兩段  你可以回到命令模式,用J把兩段接回來  當游標在行尾,你按enter,可以....將游標移到下一行。

.想開始編輯,也就是由命令模式進入本文模式,就是按上面這幾個指令。假如  你開始編輯之後,打了錯字,要按Backspace回來修改,vi會自動用新的字取代  原來的字。

.在本文模式下,無法輸入指令,所以你要回到命令模式,這時候要按ESC。你可  能會聽到嗶一聲,這是提醒你回到命令模式了。大多數時候,你若聽到嗶一聲,  這就是回到命令模式了。這很重要,因為當你作一些動作的時候,vi常常會自動  切換回命令模式,所以你必需時時注意,是不是又回到命令模式了。

.假如不能確定是在什麼模式,不妨就直接按ESC,按了之後一定是在命令模式。  若要再編修,就再按編輯指令就好。

.同時我們會發現,當你按下ESC回到命令模式時,游標會自動往左移一格,你一  定要習慣vi這種奇怪的安排。

.有時候,在本文模式下,不能用方向鍵移動游標。這不知道是為什麼,沒辦法,  只好要移動游標的時候就切回命令模式。

.vi的游標,只能移到你有確實打入的字上,包括空白。所以不能再像PE2一樣游  標可以到處跑。假如你要安排一些格式,只好填入空白來移動了。以下是:(冒  號)命令模式的指令, (: 是系統提示,打入:之後的字就可以。)

:/要尋找的字串尋找字串
:/尋找下一個字串
:g/要尋找的字串/s//要換上去的字串/g尋找字串並替換字串
,範圍是整篇文章
:rfilename讀取檔案進來,放在游標所在行以後
:w儲存檔案(也就是write)
:wfilename儲存檔案,依照所指定的檔案名
:wq儲存內容並跳出vi(也就是writeandquit)
:q!跳出vi,放棄修改的內容,不存檔

vi是unix上,一項讓人又愛又恨的工具,而且這是unix上指令格式最簡單的 編輯器。因為程式簡單,所以它傻瓜,才能顯得你聰明嘛! 我想只要學好上面說 的這些指令,大概就能應付普通的要求了。