2009-07-07 6 views
17

VIMで 'Find in Files'検索を高速化するためのオプションは何ですか?VIM用の高速「ファイルを探す」?

コードベースが十分に大きいため、検索でインデックスを処理する必要があります。 grep/vimgrep/etcが遅すぎます。

インデックス作成は特に高速である必要はありません。私は一晩で索引付けする

ありがとう、

[編集]私はまた、Windows環境で作業しています。

答えて

9

(フルテキスト検索ではなく)ソースコードの場合、TagListプラグインを使用したctagsは、必要に応じて機能するはずです。例えば、以下を参照してください。

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

EDIT:タグリストとctagsのは同様に、Windows上で動作します(それは私が使うものです)。 TagListのインストールページとFAQを参照してください。以下のリンクは有用であることが証明されることがあります

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

I:

あなたは、さらに助けを得ることができますタグリストのフォーラムもありますそれを設定するn私のWindowsマシンはしばらく前に戻ってきますが、問題が発生したことは覚えていません。

1

私はこれを見つけた方法を知っている、誰かがあなたが大規模なコードベースで作業している場合、より強力なソリューションを探すための時間であるかもしれないgoogle desktop

4

のためのプラグインを書いているように見えるしません。従来の工具よりも優れています。 OpenGrokは非常に高速なソースコード検索および相互参照エンジンです。その偉大な性能の上に、それはSubversion,Mercurial、およびClearCase、他のソースリビジョンコントロールソフトウェアの中で統合されます。あなたが使うことのできるもののように聞こえます。

OpenGrokをVimから使用するには、system()を呼び出すvim関数を簡単に記述して検索を開始できます。新しいvimコマンドを書く方法の詳細については、vim内の:help 40.2を参照してください。

あなたが探していたことを期待しています。

5

私が使用する何かではなく、vimの通過は、ACKです:http://betterthangrep.com/

は、これはPerlベースのツールであり、それはWindowsで使用可能であるべきです。

+0

これは私にとって非常にうまく機能します。何千ものファイルがあり、通常のgrep(またはack)でも数十秒かかることがあります。しかし、 ':Ack --ruby * something *'のようなものは、ファイルのサブセットだけを検索しているので、一般的に2番目または2番目に返されます。 –

-1

あなたは試すことができ、この

:vimgrep /何か/ */

と、検索結果ウィンドウを開くことを忘れていけないの後

:CW

+2

質問は、vimgrepが彼にとって遅すぎると述べています.... – 0xc0de

0

私はしてみてくださいnstallをhttps://github.com/mileszs/ack.vimhttp://beyondgrep.com/

、リンク

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

を作り、あなたはCtrlキー+ Fを介してファイルに見つけることができた後、あなたの.vimrcに

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

を追加し、

_ /| 
\'o.O' 
=(___)= 
    U 
を楽しみます
+0

これは組み込みのgrepやvimgrepより高速です。 – sixtyfootersdude