:global/{pattern}/delete — 刪除所有匹配行:vglobal/{pattern}/delete(縮寫 :v/{pattern}/d)— 刪除所有不匹配行文件中每行要么是標籤(如 <a>、</a>),要么是標籤內容。想刪除所有標籤行,只留內容。
/\v\<\/?\w+\> " 先用 very magic 模式搜尋標籤
:g//d " 刪除所有匹配當前搜尋模式的行
正則解析:\v 開啟 very magic;\< 匹配 <;\/? 可選的 /;\w+ 單詞字符;\> 匹配 >。
執行後文件僅剩:
Show invisibles
Tabs and Spaces
Whitespace preferences and filetypes
:v/href/d
含義:刪除所有不包含 "href" 的行。結果只剩帶鏈接的行。
:g 作用於匹配行,:v 作用於不匹配行。\v 模式減少轉義,寫法更直觀。/pattern 確認匹配效果,再執行 :g//d(空模式復用上次搜尋)。:set undolevels=10000 以防誤刪無法撤銷。:g/^$/d — 刪除所有空行:g/^\\s*$/d — 刪除空白行(含空格/製表符):g/^\\s*#/d — 刪除註釋行:v/^\\s*$/d — 只保留非空行:global 是 Vim 中批量處理行的利器,配合正則表達式能完成「保留/刪除特定模式行」的所有需求,比宏錄製更聲明式、更高效。掌握 :g/:v + delete/yank/move 組合,文本篩選效率將質變。