从 vim 编辑器复制 grep 输出

从 vim 编辑器复制 grep 输出

假设您有一些文本文件(例如日志文件),并且在vim编辑器中打开它并点击命令

:g/aaa

它将输出一个结果,您可以使用jk键移动,当您移动到底部时, Press ENTER or type command to continue会出现一个绿色的句子。

我以某种方式理解它,我可以使用一些命令来处理结果,但不知道如何找到我可以用它做什么。

我想做的一项操作是将这些行保存到新文件中。

当然你可以使用命令

$ grep aaa file.txt > new_file.txt

但可以vim直接从编辑器中获取吗?

答案1

可以通过多步骤过程来做到这一点。

之内vim

:redir > new_file.txt
:g/aaa
:redir END

:help redir从内部看vim

:redir命令还可以通过修改第一个命令来附加到现有文件。

:redir >> new_file.txt

答案2

我这样做的方法是反转:ginto:v和 do :v/pattern/d,然后将结果文本复制到寄存器 with 中1GVG"ry,最后撤消:vwith u。现在匹配的行已安全地存储在 register 中r

相关内容