vi/vim 是 Linux 系統管理員的必修基本功。本文將龐大指令集整理為三大模式、六大功能分類的速查表,收藏即用,無需背誦。
+----------------+ i, a, o +-----------------+
| 命令模式 | ---------------> | 輸入模式 |
| (預設、導航) | <--------------- | (打字、編輯) |
| | ESC | |
+----------------+ +-----------------+
| ^
| : / ? |
v |
+----------------+ (底線命令模式合併於命令模式說明)
| 底線命令模式 |
| (存檔、設定、 |
| 搜尋、離開) |
+----------------+
| 按鍵 | 動作 | 記憶 |
|---|---|---|
| h / j / k / l | 左 / 下 / 上 / 右 | 鍵盤右側排列,j 似下鉤 |
| 0 (零) | 行首 | 數字 0 起始 |
| ^ | 行首第一個非空白字元 | |
| $ | 行尾 | 正則表達式行尾符 |
| w / b / e | 下一字首 / 上一字首 / 字尾 | word / back / end |
| gg / G | 檔案首行 / 末行 | go go / Go end |
| nG / :n | 跳至第 n 行 | |
| Ctrl+f / Ctrl+b | 向下/上翻一頁 | forward / back |
| Ctrl+d / Ctrl+u | 向下/上翻半頁 | down / up |
| % | 跳至配對括號 ( ) { } [ ] | 程式碼對齊神器 |
| 按鍵 | 動作 |
|---|---|
| i | 游標前插入 |
| I | 行首非空白處插入 |
| a | 游標後附加 |
| A | 行尾附加 |
| o | 下方新增一行並插入 |
| O | 上方新增一行並插入 |
| s | 刪除游標字元並進入插入 |
| S | 刪除整行並進入插入 |
| 指令 | 動作 |
|---|---|
| x / X | 刪除游標後/前單一字元 |
| dw / db / d$ / d^ | 刪至字尾/字首/行尾/行首非空白 |
| dd | 刪除整行 (剪下) |
| ndd | 刪除 n 行 (含當前行) |
| D | 刪除至行尾 (同 d$) |
| yw / y$ / yy | 複製字元/至行尾/整行 |
| nyy | 複製 n 行 |
| p / P | 貼上於游標後/前 |
| "ayy / "ap | 複製/貼上至名為 a 的暫存器 (26 個 a-z) |
| 指令 | 動作 |
|---|---|
| /keyword | 向下搜尋 (n 下一個, N 上一個) |
| ?keyword | 向上搜尋 |
| :set hlsearch | 高亮所有匹配 |
| :set nohlsearch | 關閉高亮 |
| :s/old/new | 當前行首次匹配取代 |
| :s/old/new/g | 當前行所有匹配取代 |
| :%s/old/new/g | 全檔所有匹配取代 |
| :%s/old/new/gc | 全檔取代並逐個確認 |
| :n,m s/old/new/g | 第 n 到 m 行取代 |
| 指令 | 動作 |
|---|---|
| u | 撤銷 (多級) |
| Ctrl+r | 重做 |
| . | 重複上一個編輯指令 |
| :sp / :vsp | 水平/垂直分割視窗 |
| Ctrl+w, 方向鍵 | 切換視窗焦點 |
| :tabnew / gt / gT | 新分頁 / 下一分頁 / 上一分頁 |
| 指令 | 動作 |
|---|---|
| :w | 存檔 |
| :w filename | 另存新檔 |
| :wq / :x | 存檔並離開 |
| :q! | 強制離開 (不存檔) |
| :wq! | 強制存檔離開 (需權限) |
| :set nu / :set nonu | 顯示/隱藏行號 |
| :set ts=4 / :set expandtab | Tab 寬度 4 / 展開為空白 |
" ~/.vimrc
set number " 顯示行號
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set smartindent
set hlsearch
set incsearch
set ignorecase
set smartcase
syntax on
filetype plugin indent on
set mouse=a " 滑鼠支援
set clipboard=unnamedplus " 系統剪貼板整合
熟練上表 80% 指令,日常編輯、程式碼審查、設定檔修改已無障礙;剩餘 20% 遇到再查,漸進式精通 vim 之道。
Linux 原始碼安裝完全指南:Tarball 解包、Configure、Make、Make Install 標準流程
Vim 進階操作大全:宏、標籤、分割視窗、暫存器、書籤、可視模式完全指南
Ubuntu 下 Aircrack-ng 破解 WEP/WPA 無線網絡實戰教程
Linux 線程池 C++ 實現:任務隊列、同步機制與 RAII 封裝
Linux 桌面分享 WiFi 熱點給 Android 手機(ap-hotspot 實測可行)
Linux rz/sz 指令完整教學:終端機檔案上傳下載神器