我的menu.vim文件中有多个python脚本。
我想将它们复制到剪贴板。
所有的python脚本都是这样的:
python3 << endpython
.......code......
endpython
我使用以下搜索命令:
^python3\_.\{-}\_^endpython
在我看来,即使不突出显示所有行,这也是正确的命令(可能是因为脚本比我的屏幕显示还要长)。
但是,如何将多行搜索复制到剪贴板?
这是要走的路吗?
g/pattern/y A
最佳答案
你是对的;该解决方案涉及:global
(迭代所有匹配的范围)和一个大写寄存器(累积范围):
:let @a = '' | global/^python3/,/^endpython/yank A
如果您需要系统剪贴板中的结果,可以通过
:let @+ = @a
插件替代
如果这些多个命令太麻烦了,我的PatternsOnText plugin提供(除其他外)此快捷命令:
:YankRanges/^python3/,/^endpython/ +