2012-08-05 40 views
9

我们有一个巨大的,古老的,可怕的代码库,这使得当你需要它时几乎不可能找到东西。我们正在努力改进它,当然......但我经常发现自己正在做大量的递归greps来搜索文件的内容以找到使用的地方。命令行全文索引?

是否有一个工具可以用来在目录中建立文本文件的全文索引,然后从命令行中查询该文件?

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

+0

任何特定的语言或环境? – 2012-08-05 05:18:22

+3

你有没有试过['ack'](http://betterthangrep.com)?我通常发现速度够快,不需要全文索引,即使在真正的大型项目上也是如此。 – 2012-08-05 05:24:01

+0

@GregHewgill宇,看起来很有趣。不错的域名太:) – 2012-08-05 05:28:27

回答

5

我 “GID”(又名 “ID-utils的”)的大风扇:

用法很简单:

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

  2. “CD”的源目录并运行的根“MKID”

  3. 您可以通过命令行

  4. 你也可以用它从“VIM”或任意数量的其他工具使用。

+0

PS:“ctags”是另一件好事,看看:http://ctags.sourceforge.net/,http://www.thegeekstuff.com/2009/04/ctags-taglist-vi -vim编辑器,AS-sourece代码浏览器/ – paulsm4 2012-08-05 05:32:20

1
cd /path/to/project 
ctags -R 

这将创建一个tags文件Vim会使用,则:

vim -t someFunctionName 

将在函数定义打开VIM!

还有一些让生活更简单的键盘快捷键。

CRTL+] will jump to the definition of the method under the cursor 
CRTL+t will go back 
0

我有一个类似的需要在一个大的C++项目上工作。在调查了一些工具之后,我发现id-utils是最好的选择,因为它在构建索引和搜索模式方面确实很快。

根据ID-utils的,我做了一个命令行工具和VIM插件来解决我的需求:

https://github.com/fcamel/gj

希望它能帮助。