為什麼要使用vi。
vi是一個很不友好的文字編輯器,但為什麼還要使用它。因為: 所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在; 很多個別軟體的編輯介面都會主動呼叫 vi vim 具有程式編輯的能力,可以主動的以字體顏色辨別語法的正確性,方便程式設計; 因為程式簡單,編輯速度相當快速。
什麼是 vim 。
你可以將 vim 視作 vi 的進階版本,vim 可以用顏色或底線等方式來顯示一些特殊的資訊。目前大部分的 distributions 都以 vim 取代 vi 的功能了。如果你使用 vi 後,卻看到畫面的右下角有顯示目前遊標所在的行列號碼,那麼你的 vi 已經被 vim 所取代。舉例來說,當你使用 vim 去編輯一個 C 程式語言的檔案,或者是我們後續會談到的 shell script 程式時,vim 會依據檔案的副檔名或者是檔案內的開頭資訊, 判斷該檔案的內容而自動的呼叫該程式的語法判斷式,再以顏色來顯示程式碼與一般資訊
vi 的使用
基本上 vi 共分為三種模式,分別是『一般模式』、『編輯模式』與『指令列命令模式』。 這三種模式的作用分別是: 一般模式:
以 vi 打開一個檔案就直接進入一般模式了(這是預設的模式)。在這個模式中, 你可以使用『上下左右』按鍵來移動遊標,你可以使用『刪除字元』或『刪除整行』來處理檔案內容,也可以使用『複製、貼上』來處理你的檔案資料。在一般模式中可以進行刪除、複製、貼上等等的動作,但是卻無法編輯檔案內容的。 編輯模式:
在一般模式中可以進行刪除、複製、貼上等等的動作,但是卻無法編輯檔案內容的。 要等到你按下『i, I, o, O, a, A, r, R』等任何一個字母之後才會進入編輯模式。通常在 Linux 中,按下這些按鍵時,在畫面的左下方會出現『 INSERT 或 REPLACE 』的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。該模式下鍵盤上除了 [Esc] 這個按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進行任何的編輯囉。 指令列命令模式:
在一般模式當中,輸入『: / ?』三個中的任何一個按鈕,就可以將遊標移動到最底下那一行。在這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯示行號等等的動作則是在此模式中達成的。最重要的指令就是“:wq”,它會儲存當前文檔並離開 vi
vi 三種模式的關係圖
注意:一般模式可與編輯模式及指令列模式切換, 但編輯模式與指令列模式之間不可互相切換
一般模式可用的按鈕說明,遊標移動、複製貼上、搜尋取代等
移動遊標的方法 |
h 或 向左方向鍵(←) |
遊標向左移動一個字元 |
j 或 向下方向鍵(↓) |
遊標向下移動一個字元 |
k 或 向上方向鍵(↑) |
遊標向上移動一個字元 |
l 或 向右方向鍵(→) |
遊標向右移動一個字元 |
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動遊標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)後,按下動作即可。 |
[Ctrl] + [f] |
螢幕『向下』移動一頁,相當於 [Page Down]按鍵 (常用) |
[Ctrl] + [b] |
螢幕『向上』移動一頁,相當於 [Page Up] 按鍵 (常用) |
[Ctrl] + [d] |
螢幕『向下』移動半頁 |
[Ctrl] + [u] |
螢幕『向上』移動半頁 |
+ |
遊標移動到非空白字元的下一列 |
- |
遊標移動到非空白字元的上一列 |
n<space> < |