假设您有一些文本文件(例如日志文件),并且在vim
编辑器中打开它并点击命令
:g/aaa
它将输出一个结果,您可以使用j
和k
键移动,当您移动到底部时,
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
我这样做的方法是反转:g
into:v
和 do :v/pattern/d
,然后将结果文本复制到寄存器 with 中1GVG"ry
,最后撤消:v
with u
。现在匹配的行已安全地存储在 register 中r
。