web-dev-qa-db-ja.com

VIMで複数のテキストファイルをインクリメンタルサーチするにはどうすればよいですか?

VIMテキストファイルのインクリメンタルサーチを行う方法はありますか?

Vimは現在開いているファイル内ですでにインクリメンタルサーチを行っています。

私が達成しようとしている検索の種類を示すプログラムの例は、MacOSの場合は Notational Velocity 、Windowsの場合は Resop 、Webの場合は SimpleNote です。 。

これらのアプリは、特定のディレクトリのファイルを瞬時にまたはインクリメンタル検索し、探しているファイルを簡単/高速に絞り込んだり、新しいファイルを作成したりします。
私は両方を使用していますが、どちらかと言えば1つのエディターに住んでいます(VIMです)。

これを行うプラグインはありますか?

6
Alex

vimgrepコマンドを使用できます。例:

:vimgrep /searchword/ ~/**

見る

:help vimgrep

詳細については。

4
frabjous

未だに。優れたインクリメンタルサーチのパフォーマンスを得るには、ファイルを大きな最適化されたデータ構造にロードするプラグインをcで作成する必要があります。キーを押すたびにvimをハックしてデータベース全体でgrepを実行する方法があるかもしれませんが、それではおそらく十分な速度ではありません。

インクリメンタルサーチを行うオープンソースのvimプラグインの例(残念ながらファイルの内容ではなくファイル名で)については、command-tプラグインを見ることができます。

https://wincent.com/products/command-t

ノートのデータベース全体をvimバッファーにロードしようとした場合に遭遇する可能性のある別の技術的制約は、各ユーザーがデフォルトで1024の同時オープンファイルに制限されており、多くのノートデータベースにはそれより多くのノートが含まれていることです。制限はかなり簡単に解除できますが、ユーザーはそのようなことに対処する必要はありません。

3
Andrew Wagner

まさにそれを行うNiceプラグインがありますが、バッファーを使用します: LustyExplorer

ファイルでほぼそれを行う他のプラグインもあります: EasyGrep および Ack ですが、どちらもインクリメンタルサーチを行いません。

最初のファイル(およびその他、およびNVまたはResoph Notes)は、すべてのファイルがメモリ内にあり、ある種のデータベースのように機能するため、インクリメンタルサーチを実行できます。ランダムファイルに実装するのは少し難しいようです。

Linuxにフルタイムで移行したばかりで、私が知っているNotational Velocityの代替品がないため、Vimでこのような機能を実際に見たいと思っています。 NVはMacOS Xでの私のワークフローの中心的な部分であり、現在欠けているのはNVだけです。問題のドリュー・ワーグナーの説明と解決策の提案は興味深いようです。

2
romainl