我正在 Vim 中编辑一个 Python 文件,我有几行要提取:所有行匹配 pattern REGEX
。
我可以列出所有这些行:g/REGEX
。
如何使用上述命令返回的选择内容打开一个新缓冲区?
现在,我正在诉诸于退出编辑器并使用cat
并grep
实际创建一个新文件......必须有一个集成的方式吗?
我正在 Vim 中编辑一个 Python 文件,我有几行要提取:所有行匹配 pattern REGEX
。
我可以列出所有这些行:g/REGEX
。
如何使用上述命令返回的选择内容打开一个新缓冲区?
现在,我正在诉诸于退出编辑器并使用cat
并grep
实际创建一个新文件......必须有一个集成的方式吗?
试试这个:
$ vim file.txt
:e new.txt
:0r!grep REGEX #
最后一个命令调用 external grep
withREGEX
和备用缓冲区名称#
(与 相同file.txt
),然后将结果读取到当前缓冲区(new.txt
)
也试试这个:
$ vim file.txt
:v/REGEX/d
:w new.txt
如果你对命令行 Vim 而不是 gVim 很感兴趣,我相信:
vim `grep REGEX file.txt`
会做的伎俩。