首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据vim的path变量的vimgrep

根据vim的path变量的vimgrep
EN

Stack Overflow用户
提问于 2018-06-22 19:28:51
回答 1查看 188关注 0票数 0

我通常在多个位置的项目中工作,源文件分布在不同的服务器、数据库等中。我随意做的是将这些位置添加到vim的路径中,例如,我可以'gf‘到这些文件中。

当使用":vimgrep“启动搜索以查找字符串时,是否可以以某种方式指定搜索不是在当前位置执行,而是在path指定的所有级别执行?

我目前唯一的选择是

a)创建一个带有指向不同源代码的符号链接的文件夹,并从那里启动vim

b)手动将位置添加到vimgrep命令的模式表达式之后

EN

回答 1

Stack Overflow用户

发布于 2018-06-23 01:52:58

您可以实现类似于searchsavvy's ListGrep的东西,但是不是在每个a:list上执行vimgrepadd,而是递归地在path中的每个元素上执行。大致如下所示:

代码语言:javascript
复制
...
call setqflist([])
for path in split(&path, ",")
    " Recursively (**) grep each path and add it to quickfix.
    exec 'silent! vimgrepadd/' . a:query . '/gj '. path .'/**'
endfor

或者,您可以使用:grep命令(对于大树,可能更快,但对于带有空格的路径,需要执行此操作):

代码语言:javascript
复制
function! GrepInPath(query)
    exec ':grep '. a:query .' -R '. join(split(&path, ","), " ")
endf

(未经测试。)

如果我是你,我会在每次同步时生成所有文件的列表。您可以使用csearch和notgrep,它将与Unite's file_list source一起工作。

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

https://stackoverflow.com/questions/50986960

复制
相关文章

相似问题

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