[英]Command-line fulltext indexing?
我们有一个巨大的,旧的,可怕的代码库,几乎不可能在需要时找到它。 我们正在努力改进它,当然......但我经常发现自己正在做大量的递归greps来搜索文件的内容以找到使用的地方。
是否有一个工具可用于在目录中构建文本文件的全文索引,然后从命令行查询?
喜欢可以在用户空间中运行并且不需要守护进程的东西。 我们的开发服务器上有很多用户,所以我想要一些可以搜索我的代码库实例的东西。
我是“gid”(又名“id-utils”)的忠实粉丝:
用法很简单:
使用您最喜欢的包管理器安装id-utils(例如“sudo apt-get install”或“yum”)
“cd”到源目录的根目录并运行“mkid”
您可以从命令行使用它
您也可以从“vim”或任何其他工具中使用它。
Russ Cox写了一系列描述Google Code Search算法如何工作的文章 。 他在一组命令行工具中重新实现了算法的简化版本,该工具可以在本地代码库上进行快速正则表达式搜索 。
另一种方法是使用类似ctags的东西来创建代码中使用的标识符索引。 许多编辑器(包括我使用的Vim)可以使用此标签文件快速跳转到标识符的定义。
cd /path/to/project
ctags -R
这将创建一个vim将使用的tags
文件,然后:
vim -t someFunctionName
将在函数定义中打开vim!
还有一些键盘快捷键可以简化生活。
CRTL+] will jump to the definition of the method under the cursor
CRTL+t will go back
我有类似的需要在大型C ++项目上工作。 在调查了一些工具之后,我发现id-utils是最好的选择,因为它在构建索引和搜索模式方面非常快。
基于id-utils,我制作了一个命令行工具和vim插件来解决我的需求:
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.