bfa*_*bry 11
:g!/hello/ yank A
Run Code Online (Sandbox Code Playgroud)
这些行现在存储在寄存器a中,粘贴它们做"ap
编辑:可以缩写为
:g!/hello/y A
Run Code Online (Sandbox Code Playgroud)
对于那些对vim意味着什么感兴趣的人:
:g =全球搜索
!=对布尔测试的否定
/ hello/=正则表达式匹配"hello"
y =在每个匹配的行上执行的命令,在这种情况下"yank"
A =对"yank"命令的寄存器参数.在这种情况下,寄存器'a'但是以大写形式的形式附加到寄存器而不是替换.
我通常会做一些变化
:g/hello/d
Run Code Online (Sandbox Code Playgroud)
即删除包含"hello"的所有内容,然后选择,抽取或需要完成的任何操作,最后还原回击你.我发现这对构建命令行管道没有太大的精神负担.
到目前为止我没有看到的替代方案是redirecton.
所以对于你的情况,这将是
:redir > file
:g!/hello/
:redir END
Run Code Online (Sandbox Code Playgroud)
也可以看看
:help redir
:help verbosefile
Run Code Online (Sandbox Code Playgroud)