我们有一个庞大的,老的,可怕的代码库,让当你需要它,它几乎不可能找到的东西。 我们正在努力改进它,肯定......但我经常发现自己做大量的递归里grep通过文件的内容进行搜索,以寻找到的东西被使用。
是否有一个工具,我可以用它来建立的文本文件全文索引目录,然后查询,从命令行?
更希望能在用户空间运行,并且不需要守护的东西。 我们有我们开发服务器上的许多用户,所以我想要的东西,我可以通过我的代码库的情况下进行搜索。
我们有一个庞大的,老的,可怕的代码库,让当你需要它,它几乎不可能找到的东西。 我们正在努力改进它,肯定......但我经常发现自己做大量的递归里grep通过文件的内容进行搜索,以寻找到的东西被使用。
是否有一个工具,我可以用它来建立的文本文件全文索引目录,然后查询,从命令行?
更希望能在用户空间运行,并且不需要守护的东西。 我们有我们开发服务器上的许多用户,所以我想要的东西,我可以通过我的代码库的情况下进行搜索。
我是“GID”(又名“ID-utils的”)的大风扇:
用法很简单:
用你喜欢的包管理器安装ID-utils的(例如,“命令和apt-get安装”或“百胜”)
“CD”到源目录和运行“MKID”的根
你可以在命令行中使用它
您也可以从“VIM”或任意数量的其他工具使用。
拉斯考克斯写了一系列的描述谷歌代码搜索算法是如何工作的文章 。 他重新实现算法的简化版本, 一组命令行工具,可以通过本地代码库做快速的正则表达式搜索 。
另一种方法是使用类似的ctags以在代码使用的标识符的索引。 许多编辑器(包括Vim的,这是我使用)可以使用这个标签文件,以快速跳转到标识符的定义。
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
我有一个类似的需要在大C ++项目。 调查一些工具后,我发现, ID-utils的是最好的选择,因为它是非常快的建立索引和搜索的模式。
根据ID-utils的,我做了一个命令行工具和VIM插件来解决我的需求:
https://github.com/fcamel/gj
希望能帮助到你。