[英]How to copy error line and few more lines to end of file in vim?
我在 ansible 日志中发现致命错误并将它们复制到文件末尾以查看所有致命错误。
:g/fatal:/t$
但我想复制错误和下一行,因为下一行有时会被“忽略”,不需要考虑。 我只能找到真正需要的致命错误
如何移动图案和更多的线条? 在 grep 中我们可以找到 -A -B ,在 g 命令中有什么方法可以做到吗?
像所有从vi
和ex
继承的 ex 命令一样, :help :t
可以采用:help :range
。 在这种情况下,您希望对匹配的行和下面的行进行操作,这将转换为以下范围:
.,+1
在哪里:
.
代表当前行,+1
代表当前行下方的行,这给了你这个命令:
:g/fatal:/.,+1t$
请注意.
是隐含的, +
是+1
的快捷方式,因此可以缩短为:
:g/fatal:/,+t$
编辑:@romainl 的答案绝对更好,应该是 OP 尝试做的首选。
如果您要做的只是复制包含“fatal:”的行,然后再复制几行,您可以执行以下操作:
/fatal:<CR>y<motion>
,其中<CR>
是Enter和<motion>
可以是,例如, 2j
表示“这一行和下一行”或G
表示“从这一行到文件末尾” “, 等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.