如何删除所有内容,直到下一个模式匹配**或** *文件结尾*在vim中

时间:2018-02-02 20:23:32

标签: vim

我可以让vim删除所有内容,直到下一个模式匹配 文件结尾吗?

我想搜索模式文件的结尾(同时),仍然允许回绕(所以不只是this) ,然后允许我 dn 删除直到下一个匹配(然后包括文件的结尾),但我无法弄清楚如何编码|EOF搜索范围。

也许可以在删除命令的这一个实例中添加一些东西(例如d/Gn,这不是什么东西)或什么? 喜欢只为这一个命令启用nowrapscan ...

使用案例:当编辑--verbose git commit消息,其中diff包含在提交消息模板中时,我喜欢在消息中添加关于diff的一部分的注释,删除该代码部分,以及重复直到所有代码差异消失。我搜索^\(@@\|diff\|$\),找到新文件(^diff)或大块(^@@)或空白行(^$)的开头,然后可以使用 dn 删除到下一个匹配,这可以正常工作,直到最后一个大块(可能会延伸到屏幕的末尾) - 如果我不小心在那里做了,它会回绕并删除向上< / em>的。很容易撤消和 dG ,但仍然有点烦人。

1 个答案:

答案 0 :(得分:4)

您可以使用与文件末尾匹配的\%$模式。

因此d/x\|\%$可以删除第一个x或文件末尾。