我试图在 vim 的有限范围内搜索和复制匹配项。 如本答案所述。我正在尝试使用将结果复制到新的 vim 选项卡中
:'<,'>g/foo/y A
但是当打开一个新标签:tabnew
并尝试粘贴时p
没有显示任何内容。
1. 所以,我的问题是我是否可以将 gsearch 输出重定向到新选项卡?
2.或者我如何正确地将输出复制到寄存器中并从寄存器粘贴到新选项卡?
选项1的解决方案:
将匹配的文本重定向到新选项卡
:tabnew | :normal! i^R/
放^R
,你必须按Ctrl和V,然后R。
上面的命令粘贴搜索寄存器的内容,在你的情况下是 foo 。如果你想放任何其他寄存器的内容,你可以放那个字符而不是斜杠。
:tabnew | :normal! i^Ra
这将粘贴 register 的内容a
,其中保存了全局搜索命令的输出。
选项2的解决方案: 通过寄存器正确复制和粘贴
您的命令完美运行!它将全局搜索的输出复制到 register a
。因此,您可以直接打开另一个选项卡:tabnew
,然后按"ap
粘贴,或按 进入插入模式i
,然后按Ctrl和R,然后按a
。寄存器的内容a
粘贴在那里。