Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Vim 進階實用技巧:鮮為人知但極度高效的編輯秘籍

編輯:Linux 系統常見問題解答

Vim 擁有大量隱藏功能,掌握這些「冷門但實用」技巧能讓編輯效率質變。本文精選 12 個高頻實用技巧,涵蓋儲存退出、計算機、重複單詞偵測、縮寫、sudo 儲存、自動補全、檔案比較、時間旅行、括號操作、標記跳轉、十六進位編輯、HTML 匯出。

1. 儲存並退出的兩種方式差異

:x     " 僅在檔案被修改時寫入,不修改檔案修改時間
:wq    " 強制寫入並更新修改時間

若檔案未修改,:x 保留原修改時間,:wq 會更新,影響備份/同步工具判斷。

2. 插入模式內建計算機

插入模式下:Ctrl+R → = → 輸入運算式 (如 3+6) → Enter,結果直接插入游標處。支援基本四則運算。

3. 偵測連續重複單詞

輸入搜尋模式:

/\\(\\<\\w\\+\\>\\)\\_s*\\1

搭配 set hlsearch 高亮所有重複單詞 (如 "the the"),校對神器。

4. 縮寫展開

:ab asap as soon as possible

輸入 asap 後按空白鍵自動展開為完整片語。適合常用長字串、模板代碼。

5. 忘記 sudo 開啟檔案時的強制儲存

:w !sudo tee %

以 root 權限透過 tee 寫入當前檔案 (% 代表當前檔名),無需重新以 sudo 開啟。

6. 內建關鍵字自動補全

插入模式下輸入開頭字元,按 Ctrl+N (下一個) 或 Ctrl+P (上一個),Vim 依目前緩衝區內出現過的單詞補全。無需外掛即可用。

7. 檔案差異比較

方法一:啟動時比較

vimdiff file1 file2

方法二:已開啟檔案中比較

:vsp file2      " 垂直分割開啟第二個檔案
:diffthis       " 在第一個緩衝區執行
Ctrl+W w        " 切換到第二個緩衝區
:diffthis       " 執行
:windo diffthis " 或一次對所有視窗套用

差異行會高亮顯示,支援合併編輯。

8. 時間旅行:按時間回復檔案狀態

:earlier 1m    " 回到 1 分鐘前狀態
:earlier 2h    " 回到 2 小時前
:later 30m     " 前進 30 分鐘 (撤銷 earlier)

基於 Vim 的 undo tree 機制,比傳統 undo/redo 強大得多。

9. 刪除括號/引號內容

一般模式下游標在左括號上:

di(   " 刪除圓括號內容
di{   " 刪除大括號內容
di[   " 刪除方括號內容
di"   " 刪除雙引號內容
di'   " 刪除單引號內容

括號本身保留。da( 會連同括號一起刪除。

10. 刪除到指定字元之前

dt.   " 刪除到句點前 (保留句點)
dt,   " 刪除到逗號前

同行有效,配合 f/F 尋找字元極為高效。

11. 十六進位編輯器模式

:%!xxd      " 轉為十六進位檢視/編輯
:%!xxd -r   " 還原為二進位

需系統安裝 xxd (通常預裝)。

12. 標記跳轉

Ctrl+O   " 跳回上一個編輯位置 (可連續多次)
Ctrl+I   " 跳往下一個位置 (撤銷 Ctrl+O)

大型檔案編輯時在多處跳轉的救星。

13. 匯出為 HTML

:%TOhtml

產生保留語法高亮的 HTML 檔案,分享代碼片段極佳。

Copyright © Windows教程網 All Rights Reserved