指令 vi file 表示要進入 vi 環境,編輯檔案 file。 vi 有三種狀態﹝ mode ﹞: input mode, command mode,和 line mode。 初入 vi 時,自動在 command mode 中。在 command mode 時, 每一個按鍵被解釋成 vi 的指令,請不要在 command mode 下輸入中文, vi 會做出一些你無法預期的動作。
要由 command mode 進入 input mode, 請按【 i 】﹝ insert ﹞或【 a 】﹝ append ﹞; 前者插字於游標的左邊,後者填字於右邊。
在 input mode 時,你所輸入的文字都會直接出現在游標所指的地方, 和一般的編輯器一樣。 按【 Backspace 】會向左邊刪除文字, 但是最多只能修正到你按【 i 】或【 a 】進入 input mode 的那一個位置而已。 要回到 command mode,請按【 Esc 】。
當搞不清是在 input mode 或 command mode 時, 按一次【 Esc 】便回到 command mode。
此處我們不談 line mode,若不慎闖入, 輸入 vi 回到 command mode ﹝在 line mode 時, 螢幕左下角有一個冒號 : ﹞。
現在要介紹一些 command mode 中常用的基本指令, 以下均假設處於 command mode 中﹝請注意大小寫﹞ :
輸入 ZZ 表示存檔並離開 vi。 若要離開但不存檔,則必須經過 line mode ──輸入 :q。 若此檔內容被更改過,vi 不許您輕易離開。 輸入 :q! 以強制離開。
- 按【 h 】、【 j 】、【 k 】、【 l 】 分別代表向左、下、上、右移動。
- 按【 H 】、【 M 】、【 L 】分別將游標移到螢幕的上、中、下。
- 【 Ctrl-G 】顯示游標在第幾列。
- 輸入 n 【 G 】將游標移到第 n 列, 而【 G 】是將游標移到最後一列。
- 【 Ctrl-F 】會將畫面翻下一頁,【 Ctrl-B 】會將畫面翻上一頁。
- 【 w 】移到下一個字的開頭,【 b 】移到上一個字的開頭, 【 e 】移到下一個字的結尾。 這裡的「字」指的是符合一般直覺認識的英文字。用在中文文件中則沒什麼用處。
- 【 W 】移到下一個字的開頭,【 B 】移到上一個字的開頭, 【 E 】移到下一個字的結尾。 這裡的「字」指的是廣義字,也就是以空白隔開的連續字符。
- 【 0 】﹝ zero ﹞將游標移到該列的第一格,【 $ 】移到該列的最後一格。
- 【 X 】消去游標左邊的字母﹝ backspace ﹞, 【 x 】消去游標上的字母﹝ delete ﹞。
- 【 s 】﹝ substitute ﹞替換游標上的字元, 【 S 】替換游標所在的列。
- 輸入 dd 消去一列。
- 輸入 yy 複製一列。
- 【 p 】﹝ join ﹞將剛消去或複製的東西插入游標的右或下邊, 而【 P 】插入左或上邊。
- 【 J 】會將目前游標所在的列和下一列合併成一列。
- 【 u 】﹝ undo ﹞會取消上一個指令。
- 除了【 G 】、【 u 】、【 J 】、【 p 】和【 P 】以外, 在上述指令前先按一個正整數 n,表示重複該指令 n 次。 例如下指令 5dd 便會刪除五列,下指令 8x 便會刪除八個字元, 而 25l 使游標向右移 25 格。
- 按【 / 】,可見 / 出現在左下角。 輸入 string,則 vi 向下尋找 string。 到了最後一列,vi 會回到第一列往下找。 游標將停在第一個被找到的 string,否則 vi 會報告找不到。 找到一次之後,按【 n 】找下一個,【 N 】找上一個。
製作人、 修改記錄 |
李易霖 (02/7/18) --- |