我想在一个函数中搜索,并将在该范围内调用不同函数的所有行复制到另一个文件。我知道我可以通过视觉选择限制搜索的范围,搜索很容易 - 但是我没有方便的方法将所有搜索结果复制到任何缓冲区(我可以将其粘贴到另一个文件进行分析)。 .. 有人可以指出解决方案(我几乎可以肯定这很容易,但出于某种原因,它对我来说并不明显!!)
答案 0 :(得分:15)
您可以使用:
:let @a='' " clear register a. A faster alternative would be “qaq” in normal mode (thanks ZyX)
:g/pattern/y A " yank all lines with pattern into register a, but in append mode (hence a capital letter)
:buffer other_file.txt
"ap
关于寄存器的this answer可能对你有所帮助。
如果您想要APPEND到其他缓冲区,则可以选择
:redir >> other_file.txt
:g/pattern/# "alternative: :g/pattern/print or :g/pattern/number.
:redir END
参考文献::help :g
,:help :#
,:help :redir