以下彙整了 Neovim (`nvim`) 各模式的常用指令,希望能幫助 Neovim 使用者更有效率地操作。 ![Neovim 命令摘要插圖](/media/whitedec/blog_img/Neovim_commands_summary.webp) --- 1. 模式切換 (Mode switching) ------------------------ | 快捷鍵 | 說明 | | --- | --- | | `Esc` 或 `Ctrl + [` | **一般模式**(Normal Mode)切換 | | `i` | 在當前光標位置進入 **插入模式**(Insert Mode) | | `I` | 在當前行的開頭進入 **插入模式** | | `a` | 在光標下一個位置進入 **插入模式** | | `A` | 在當前行的結尾進入 **插入模式** | | `o` | 在下一行插入新行並進入 **插入模式** | | `O` | 在當前行上方插入新行並進入 **插入模式** | | `v` | 進入 **視覺模式**(Visual Mode) | | `V` | 進入 **行視覺模式**(Line Visual Mode) | | `:` | 進入 **命令模式**(Command Mode) | --- 2. 文件管理 (File management) ------------------------- | 命令 | 說明 | | --- | --- | | `:w` | 保存文件 | | `:wq` 或 `:x` | 保存文件後退出 | | `:q` | 退出(沒有更改時) | | `:q!` | 強制退出(忽略更改) | | `:e filename` | 打開文件,創建文件 | | `:ls` | 查看當前打開的緩衝區列表 | | `:bn`, `:bp` | 切換到下一個或上一個緩衝區 | | `:edit` | `:e` 相同,如果指定的文件路徑不存在,Nvim 將打開名為 **新的空緩衝區(buffer)** | | `:e [新文件路徑]` | 創建新目錄或文件(創建目錄需在末尾加 `/`) | --- 3. 游標移動 (Cursor movement) ------------------------- | 快捷鍵 | 說明 | | --- | --- | | `h`, `j`, `k`, `l` | 向左(h),向下(j),向上(k),向右(l) 移動 | | `w`, `b` | 按單詞向前(w)、向後(b) 移動 | | `0`, `$` | 當前行的開始(0)、結束($) 移動 | | `gg`, `G` | 移動到文件的頂部(gg)、底部(G) | | `{n}G` | 移動到第 {n} 行(例如:10G 移動到第 10 行) | | `Ctrl + d` | 向下移動半頁 | | `Ctrl + u` | 向上移動半頁 | --- 4. 文字編輯 (Editing commands) -------------------------- | 快捷鍵 | 說明 | | --- | --- | | `dd` | 刪除當前行 | | `dw` | 刪除單詞 | | `x` | 刪除當前字符 | | `yy` | 複製當前行 | | `p`, `P` | 將複製/刪除的內容粘貼到後(p)、前(P) | | `u` | 撤消(undo) | | `Ctrl + r` | 重做(redo) | | `r{字符}` | 將當前字符變更為 {字符} | | `:%s/查找單詞/替換單詞/g` | 在整篇文檔中批量更改單詞 | --- 5. 搜尋與替換 (Search and replace) ----------------------------- | 命令 | 說明 | | --- | --- | | `/查找詞` | 往前搜尋 | | `?查找詞` | 往後搜尋 | | `n` | 移動到下一個搜尋結果 | | `N` | 移動到前一個搜尋結果 | | :noh | 移除搜尋高亮 | --- 6. 窗口管理 (Window management) --------------------------- | 命令 | 說明 | | --- | --- | | `:split` 或 `:sp` | 水平分割窗口 | | `:vsplit` 或 `:vsp` | 垂直分割窗口 | | `Ctrl + w, hjkl` | 在窗口之間移動(上下左右) | | `Ctrl + w, c` | 關閉當前窗口 | | `Ctrl + w, =` | 均勻調整所有窗口的大小 | | Ctrl+w, > | 增大選定窗口的大小 | | Ctrl+w, < | 縮小選定窗口的大小 | --- 7. 標籤管理 (Tab management) ------------------------ | 命令 | 說明 | | --- | --- | | `:tabnew` | 打開新標籤 | | `gt`, `gT` | 切換到下一個標籤(gt)、上一個標籤(gT) | | `:tabclose` | 關閉當前標籤 | --- 8. nvim-tree 命令 --------------- **檔案/目錄建立指令(基本快捷鍵):** * **`a` (add):** 創建新文件或目錄。按 `a` 鍵後,下方會顯示提示,輸入 `文件/目錄名稱`。 + `file.py` 輸入後按 `Enter` -> 建立 `file.py` 檔案 + `new_dir/` 輸入後按 `Enter` -> 建立 `new_dir` 目錄 + `another_dir/another_file.txt` 輸入後按 `Enter` -> 同時建立 `another_dir` 目錄以及其中的 `another_file.txt` 檔案 * **`d` (delete):** 刪除選中的文件/目錄 * **`r` (rename):** 更改選中的文件/目錄名稱 * **`x` (cut), `c` (copy), `p` (paste):** 剪切/複製/粘貼文件/目錄 --- 9. 使用 Nvim 內建終端(`:terminal` 或 `:term`) -------------------------------------- Nvim 內建終端模擬器,您可以使用它直接執行 Linux 指令。 1. **開啟終端:** 在命令模式中輸入 `:terminal` 或 `:term` 後按 `Enter`。 * 在 Nvim 窗口內會開啟新的終端緩衝區。 * 在正常模式下按 `i` 進入輸入模式。 2. **退出終端:** * 按下 `Ctrl + \` 然後按 `Ctrl + n` (返回正常模式) * 或在終端中輸入 `exit` 指令 3. **返回檔案編輯模式:** * 使用 `Ctrl + w w`(移動到下一個窗口)或 `Ctrl + w h/j/k/l`(使用方向鍵移動窗口),返回您原本正在編輯的檔案窗口。 --- 參考這些指令彙整表,您將能更有效率地運用 Neovim!