vim global 命令

对匹配模式的所有行执行命令,批量操作利器

语法

:[range]g/pattern/command

参数

参数说明示例级别
:g/pattern/d 删除所有匹配行 :g/console.log/d 常用
:g/pattern/normal cmd 对匹配行执行 Normal 命令 :g/TODO/normal dd 进阶
:v/pattern/d 删除所有不匹配的行 :v/error/d 进阶
:g/pattern/m$ 将匹配行移到文件末尾 :g/import/m0 进阶
:g/^$/d 删除所有空行 :g/^$/d 常用

示例

删除所有 console.log

:g/console\.log/d
清理调试代码

删除所有空行

:g/^$/d

只保留含 error 的行

:v/error/d
v 是 g 的反向操作

给所有 TODO 行添加标记

:g/TODO/normal A // FIXME
在匹配行末尾追加文本

常见错误

E147: Cannot do :global recursive global 命令中不能嵌套 global,改用其他方式

技巧

相关命令