如何将 vim 搜索结果复制并粘贴到新标签页

how to copy and paste a vim search result to a new tab

我试图在 vim 的有限范围内搜索和复制匹配项。 。 我正在尝试使用

将结果复制到新的 vim 选项卡中
:'<,'>g/foo/y A

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

选项 1 的解决方案:

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

  :tabnew | :normal! i^R/

要输入 ^R,您必须按 CtrlV,然后按 R.

上面的命令粘贴了搜索寄存器的内容,在你的例子中是foo。如果你想放任何其他寄存器的内容,你可以放那个字符而不是斜线。

  :tabnew | :normal! i^Ra

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

选项 2 的解决方案: 通过寄存器正确复制粘贴

您的命令完美运行!它将全局搜索的输出复制到寄存器 a。所以,你可以直接按:tabnew打开另一个标签,然后按"ap粘贴,或者按i进入插入模式,然后按CtrlR,然后是 a。寄存器 a 的内容粘贴在那里。