微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法配置Vim grepprg选项,以避免等到外部工具完成搜索?

我很长一段时间都是Vimmer.但是,我一直在切换到 shell进行搜索.这避免了我使用quickfix功能.

切换到shell的主要原因是当我在Vim内部使用grep(使用:grep)时,我无法跟进进度.

因为我搜索代码库通常很宽,所以我非常感谢您的反馈.

它让我有机会在显示完整结果之前发现我的搜索表达式是错误的.

这允许我取消搜索,优化表达式然后重新启动搜索.

任何提示如何在Vim内重现这种模式将不胜感激.

我没有看到与你相同的vim行为.当我运行:grep时,我仍然在搜索完成之前在vim中查看结果(不在quickfix中)(但在搜索完成之前我无法做任何事情).

我甚至尝试过不使用vim设置或插件

gvim -u NONE -U NONE

如果这不是你的行为,请检查你的grepprg.我的认值是:

:verbose set grepprg
grepprg=grep -n $* /dev/null

当我使用run grep -e“score”-R / etc时,我在vim中看到这个输出

:!grep -n -e "score" -R /etc /dev/null 2>&1| tee /tmp/voLcaNS/232

您的系统可能缺少T恤或您的vim不使用它(我在Ubuntu 10.10上使用Vim 7.2). tee将传递给它的文本写入文件和stdout.

如果您正在寻找一种方法让quickfix更新您的搜索结果并且在您搜索时让vim不阻塞,那么您可以编写一个脚本:

>使用grep作为后台进程进行搜索重定向文件
>每秒直到grep完成,让vim加载quickfix(cgetfile)中的文件(你可以告诉vim用–remote-expr从另一个进程做一些事情)

您可以尝试使用我的AsyncCommand plugin来启动代码.它执行上述操作,但它仅在搜索完成时加载文件.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐