TimothyQiu's Blog

keep it simple stupid

Vim 中删除符合条件的行

分类:技术

一说筛选数据首先映入脑海的是 grep,但 Windows 下就悲了个具了,从别程序复制(这时候觉得 GUI 不能管道真是太糟糕了)了一坨纯文本数据要筛选,为了这个还要临时保存个文件然后再开个 Cygwin 啊~MSYS 啊什么的真是太不适合我这种懒人了。于是还是要拜托好用的 Vim 来处理。

假设要在某坨数据中删除含有「kernel32」的行,可以执行:

:g/kernel32/d

其中中间的条件部分 kernel32 和一般的查找条件格式相同,最后部分的 d 则和一般的命令按键相同。如果要保留匹配的行则可以把开头的 g 替换为 g!

这样的写法实际是使用了 VIM 的「Multiple Repeats」功能,完整格式是这样的:

:[range]g[lobal]/{pattern}/[cmd]

详情请参考 :help :g :)

Vim

添加新评论 »