2016-07-15 149 views
0

我试图在vim的有限范围内搜索和复制匹配项。 as mentioned in this answer。 我想要的结果复制到使用如何将vim搜索结果复制并粘贴到新标签

:'<,'>g/foo/y A 

新VIM标签,但是当打开一个新标签:tabnew并尝试粘贴p 什么也不显示。
1.所以,我的问题是,如果我可以重定向到一个新的标签gsearch输出?
2.如何正确地将输出复制到寄存器并从寄存器粘贴到新选项卡?

+0

我可以将输出粘贴到新标签中。 – SibiCoder

+2

你正在注册'a',所以你必须从相同的寄存器:'“ap'。 – romainl

回答

2

解决方案选项1:

重定向匹配的文本到新标签

:tabnew | :normal! i^R/ 

为了把^R,你必须按Ctrl键V,然后[R

上面的命令粘贴搜索寄存器的内容,这是你的情况。如果你想把任何其他寄存器的内容,你可以把该字符,而不是斜杠。

:tabnew | :normal! i^Ra 

这将粘贴寄存器a的内容,在您保存全局搜索命令的输出。

解决方案选项2: 正常通过寄存器

完美

你的命令作品复制并粘贴!它将全局搜索的输出复制到寄存器a。所以,你可以直接:tabnew打开另一个选项卡,然后按"ap到贴吧,或者去按i插入模式,然后按Ctrl键[R,然后a。在那里粘贴寄存器a的内容。

+1

我想我错过了”在新的水龙头中的Ap,而不是我只使用p。当我复制到寄存器A时,是否附加到前一个副本,还是清除旧副本,只保留新副本? –

+0

当您提供大写字母时,它会将内容附加到同一个寄存器中。当您尝试通过p粘贴时,它会粘贴最近删除/复制的文本。您可以通过在命令行模式下键入':registers'来查看寄存器的内容。当您使用小写字母将某些内容复制到寄存器中时,其旧内容将被删除。 – SibiCoder