命令行全文索引?

我们有一个巨大的,古老的,可怕的代码库,当你需要的时候几乎不可能find东西。 我们正在努力改进它,当然…但是我经常发现自己做了大量的recursiongreps来search文件的内容来find使用的地方。

有没有一个工具,我可以用来build立目录中的文本文件的全文索引,然后从命令行查询?

首选一些可以在用户空间运行并不需要守护进程的东西。 我们的开发服务器上有很多用户,所以我想要通过我的代码库实例进行search。

Solutions Collecting From Web of "命令行全文索引?"

我是“gid”(又名“id-utils”)的粉丝:

用法很简单:

  1. 用你最喜欢的软件包管理器(例如“sudo apt-get install”或“yum”)安装id-utils

  2. “cd”到源目录的根目录并运行“mkid”

  3. 你可以从命令行使用它

  4. 你也可以从“vim”或其他任何工具中使用它。

Russ Cox编写了一系列描述Google代码搜索算法如何工作的文章 。 他在一组命令行工具中重新实现了算法的简化版本,可以在本地代码库上执行快速正则表达式搜索 。

另一种方法是使用类似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插件来解决我的需求:

https://github.com/fcamel/gj

希望能帮助到你。