在 Vim 中,我尝试删除文件中的所有行(包含一个模式和该模式上方的 2 行)。我尝试:
:g!/pattern/.-2 d
但它说:无效范围...
该怎么办?
最佳答案
下面的命令查找不匹配的行 pattern
并删除它们和上面的两行:
:g!/pattern/-2,.d
下面的命令查找不匹配的行
pattern
并删除位于上面两行的行::g!/pattern/-2d
范围总是向下,所以我们首先使用高地址——
-2
— 和较低的一秒 — .
——。也就是说,如果匹配行上方没有两行,您很可能会收到错误消息。
关于vim - 删除行不(包含模式和模式上方的 2 行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31312140/