繁体   English   中英

VIM:如何将具有子字符串的所有行复制到另一个文件/缓冲区?

[英]VIM : How to copy all lines having a substring to another file/buffer?

我想在函数内搜索,并将在该范围内调用不同函数的所有行复制到另一个文件。 我知道我可以通过视觉选择限制搜索的范围,搜索很容易 - 但是我没有方便的方法将所有搜索结果复制到任何缓冲区(我可以将其粘贴到另一个文件进行分析)。 ..有人能指出解决方案(我几乎可以肯定它会很容易,但出于某种原因,它对我来说并不明显!!)?

您可以使用:

: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

也许这个关于寄存器的答案对你有所帮助。

如果您想要APPEND到其他缓冲区,另一种方法是:

:redir >> other_file.txt
:g/pattern/#       "alternative: :g/pattern/print or :g/pattern/number.
:redir END

参考文献:: :help :g:help :# :help :redir

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM