Vim命令删除除选定行之外的所有行

时间:2010-12-16 22:36:58

标签: vim line

我想做

执行的逆操作
:g/pattern/d

即删除文件中没有pattern

的所有行

3 个答案:

答案 0 :(得分:22)

您可以使用v选择所有没有图案的线:
:v/pattern/d将实现您想要的目标。

请参阅:help :v

答案 1 :(得分:2)

一种方法是使用shell过滤器:

:%!grep pattern

此命令将整个文件(%)传递给shell(!),它通过grep pattern命令运行它并将输出返回到编辑器窗口。

答案 2 :(得分:2)

你可以简单地否定模式

:g!/pattern/d

这将删除除选定行以外的所有行。