我使用以下VIM命令,将包含某个模式的所有行复制到文件末尾:
但我还想将匹配行上一行或下一行也复制。
:g/pattern/t$
但我还想将匹配行上一行或下一行也复制。
输入:
:g/pattern/t$
:t
是一个 ex 命令,就像所有的 ex 命令一样,都可以使用范围。
下面的命令会将第 1-13 行复制到最后一行之后:
:1,13t$
除了绝对行号,您还可以使用相对行号:
:-3,+5t$
而且,任何可以转换为行号的内容都可以进行翻译:
:?foo?,'et$
在你的情况下,你可以使用范围来告诉Vim复制被标记的行,即上面的一行 (-1
) 和下面的一行 (+1
):
:g/pattern/-1,+1t$
:g/pattern/-,+t$