加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:15:16 所属栏目:安全 来源:网络整理
导读:我很长一段时间都是Vimmer.但是,我一直在切换到 shell进行搜索.这避免了我使用quickfix功能. 切换到shell的主要原因是当我在Vim内部使用grep(使用:grep)时,我无法跟进进度. 因为我搜索的代码库通常很宽,所以我非常感谢您的反馈. 它让我有机会在显示完整结果
我很长一段时间都是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来启动代码.它执行上述操作,但它仅在搜索完成时加载文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读