2009-07-07 111 views
17

在VIM中尋找真正快速的「查找文件」搜索有哪些選擇?快速查找VIM中的文件?

我們的代碼庫足夠大,搜索需要處理索引。 grep/vimgrep/etc太慢了。

索引不需要特別快;我可以通宵索引。

謝謝,

[編輯]我也在Windows環境下工作。

回答

9

如果是源代碼(而不是全文搜索),那麼使用TagList插件的ctags應該可以滿足您的需求。參見,例如:

http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourece-code-browser/

編輯:標記列表和CTAGS將在Windows上工作,以及(這是我使用的)。查看TagList安裝頁面和FAQ。下面的鏈接可能證明是有用的:

還有一個標記表論壇,在這裏你可以得到進一步的幫助:

http://tech.groups.yahoo.com/group/taglist/

我設置它ñ我的Windows機器回來,但我不記得遇到任何問題。

1

我不知道我是怎麼發現這一點,但看起來像有人寫一個插件google desktop

4

如果你有一個大的代碼庫工作,那麼它可能是時間去尋找一個更強大的解決方案比傳統工具。 OpenGrok是一個非常快速的源代碼搜索和交叉引用引擎。除了其卓越的性能之外,它還集成了Subversion,MercurialClearCase以及其他源版本控制軟件。聽起來很像你可以使用的東西。

如果你想要支持從Vim內部使用OpenGrok,你可以很容易地編寫一個vim函數來調用system()來爲你開始搜索。要詳細瞭解如何編寫新的vim命令,請在vim中查找:help 40.2

我希望這就是你要找的。

5

的東西,我用,而不是通過VIM,是ACK:http://betterthangrep.com/

它是一個基於Perl的工具,它應該在Windows中使用。

+0

這對我很好。我們有成千上萬的文件,而正常的grep(甚至是ack)可能需要幾十秒。但是像`:Ack --ruby * something *`這樣的東西一般會在一兩秒內返回,因爲它只搜索文件的一個子集 – 2011-12-07 19:03:45

-1

你可以試試這個

:使用vimgrep /事/ * /

不要忘記打開搜索結果窗口後

:CW

+2

問題指出vimgrep對他來說太慢了...... – 0xc0de 2013-08-30 07:23:35

0

嘗試i nstall https://github.com/mileszs/ack.vimhttp://beyondgrep.com/

然後做一個鏈接

ln -s /usr/bin/ack-grep /usr/bin/ack 

,並添加

noremap <C-f> :copen<CR>:Ack -aQi --ignore-dir someignoringdir 

到你的.vimrc,之後就可以通過按Ctrl + F文件找到,享受

_ /| 
\'o.O' 
=(___)= 
    U 
+0

不確定是否這將比內建grep或vimgrep更快。 – sixtyfootersdude 2014-03-05 21:33:54