首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim:打开一个新的缓冲区,其中包含与模式匹配的当前文件的所有行

Vim:打开一个新的缓冲区,其中包含与模式匹配的当前文件的所有行
EN

Stack Overflow用户
提问于 2013-03-04 06:48:45
回答 2查看 580关注 0票数 0

我正在Vim中编辑Python文件,有几行代码需要提取:匹配模式REGEX的所有代码行。

我可以按:g/REGEX列出所有这些行。

如何使用上述命令返回的选择内容打开新的缓冲区?

现在,我求助于退出编辑器,并使用catgrep实际创建一个新文件……必须有一种综合的方式吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-04 08:37:06

试试这个:

代码语言:javascript
复制
$ vim file.txt

:e new.txt
:0r!grep REGEX #

最后一个命令使用REGEX和替代缓冲区名称#(与file.txt相同)调用外部grep,然后将结果读取到当前缓冲区(new.txt)

也可以试试这个:

代码语言:javascript
复制
$ vim file.txt

:v/REGEX/d
:w new.txt
票数 3
EN

Stack Overflow用户

发布于 2013-03-04 22:58:28

如果你喜欢使用命令行Vim而不是gVim,我相信:

代码语言:javascript
复制
vim `grep REGEX file.txt` 

就能达到目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15191875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档