使用 VIM 時會用到指令,其實熟練少數常用指令足以應付大部分的使用情形。底下將以幾個範例來說明。
範例一 (安裝vim、建檔、編輯、存檔、關閉檔案)
1. 安裝 vim
sudo apt-get install vim
2. 使用 vim 建立並開啟一個 src.c 的新檔案(指令同開舊檔)
vi src.c
3. 輸入 :set nu 後按 Enter 表示進入 < 命令模式 > 並開啟顯示行號功能 (剛開啟檔案是在 < 一般模式 >,模式切換參考下圖)
4. 按 i 進入 < 編輯模式 > (左下角出現 - - INSERT - -),開始編輯程式碼
5. 按 Esc 回到 < 一般模式 > (左下角 - - INSERT - - 消失)
6. 輸入 :w 後按 Enter 表示進入 < 命令模式 > 並執行存檔動作,如下兩圖
7. 輸入 :q 後按 Enter 表示進入 < 命令模式 > 並關閉檔案
提示:
- !!! 重要 !!! 無論在 < 輸入模式 > 或 < 命令模式 > 只要按 Esc 即可回到 < 一般模式 >,再根據需求按 i 或 : 切換模式即可。
- :wq 是存檔並關閉檔案,:q! 是不存檔並關閉檔案 (注意: 未儲存的檔案內容將會遺失)。
範例二 (快速移動游標、行複製、貼上、行刪除、回上一步)
1. 開啟 src.c
vi src.c
2. 在 < 一般模式 > 按 gg 將游標移到第一行 (按 G 可將游標移到最後一行),再按 yy 可複製游標那一行內容
3. 按 p 將複製的內容貼到游標那行的下一行
4. 按 i 進入 < 編輯模式 > (左下角出現 - - INSERT - -),將 stdio.h 改成 string.h
5. 按 Esc 回到 < 一般模式 > (左下角 - - INSERT - - 消失)
6. 按 gg 將游標移到第一行,按 dd 可刪除游標那一行的內容
7. 按 u 回上一步 (Undo)
提示:
- ngg 移動到第 n 行,例如: 輸入 10yy,游標會移到第 10 行。
- nyy 複製 n 行,例如: 輸入 10yy,複製游標那行與底下9行。
- ndd 刪除 n 行,例如: 輸入 10dd,刪除游標那行與底下9行。
- Page Up 與 Page Down 可捲動畫面。
範例三(搜尋、取代)
1. 在 < 一般模式 > 輸入 / 進入 < 命令模式 >,接著輸入要搜尋的關鍵字(例如: VIM)後按 Enter,游標會移動至搜尋到的關鍵字上
2. 接著每按一次 n,游標移動到下一個搜尋到的關鍵字
3. 文字取代,在 < 一般模式 > 輸入 : 進入 < 命令模式 >,接著輸入被取代字(例如: VIM)與取代字(例如: English),%s/VIM/English/gc,按 Enter 後,會逐一詢問是否取代,按 y 則取代
提示
- %s/VIM/English/gc 的 c (confirm) 表示每次取代前都要詢問,不需要可以不加。
- 上面提到按 n 讓游標移動到下一個搜尋到的關鍵字,而按 N 讓游標移動到上一個搜尋到的關鍵字。
- !!! 好用 !!! 將游標移動到檔案內容中想搜尋的關鍵字上之後,按 * 可直接搜尋此關鍵字,接著搭配上面提到的 n 與 N 使用。