vi 是 Linux 系統內建的全螢幕文字編輯器,無選單、純指令操作,掌握核心指令即可高效編輯設定檔、腳本、程式碼。
Esc 返回。輸入指令管理檔案。i、a、o、c、r、s 進入。輸入文字內容。: 進入。檔案存檔、離開、搜尋取代、環境設定。vi file.txt # 編輯既有檔
vi +5 file.txt # 從第 5 行開始
vi new.txt # 新建檔案
:q # 直接離開(未修改)
:wq # 存檔離開
:x # 同 wq
:q! # 強制不存離開
:set number # 或 :set nu
| 指令 | 動作 |
|---|---|
| h / j / k / l | 左 / 下 / 上 / 右 |
| 0 / $ | 行首 / 行尾 |
| H / M / L | 螢幕首行 / 中行 / 尾行 |
| nG | 跳至第 n 行 |
| w / W | 下一個單字字首 |
| e / E | 單字字尾 |
| b / B | 上一個單字字首 |
| Ctrl+G | 顯示檔案狀態(行號、百分比) |
| 指令 | 說明 |
|---|---|
| i | 游標前插入 |
| I | 行首插入 |
| a | 游標後附加 |
| A | 行尾附加 |
| o | 下方新行插入 |
| O | 上方新行插入 |
| r | 取代單一字元 |
| R | 取代模式 |
| s | 刪除字元並進入輸入 |
| cw / c$ / cc | 修改單字/到行尾/整行 |
| dd / ndd | 刪除整行 / n 行 |
| D | 刪除至行尾 |
| x / nx | 刪除游標字元 / n 字元 |
| u / U | 復原 / 整行復原 |
| . | 重複上一動作 |
/pattern # 向下搜尋
?pattern # 向上搜尋
n / N # 下一個 / 上一個
:s/old/new/ # 當行首次取代
:s/old/new/g # 當行全部取代
:%s/old/new/g # 全檔案取代
:%s/old/new/gc # 全檔案逐一確認取代
v / V / Ctrl+v # 字元/行/區塊選取
y # 複製
d # 剪下
p / P # 貼上(後/前)
:e file2 # 編輯另一檔
:bn / :bp # 下一個/上一個緩衝區
:split / :vsplit # 水平/垂直分割視窗
Ctrl+w 方向鍵 # 視窗切換
熟練這份速查表,vi/vim 即是最強輕量編輯利器。