2012-08-05 79 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

希望它能幫助。