2

最近、Vim でファイルを検索するために次のことを発見しました。

 :Explore **/[pattern]

ファイルを見つけることは私にとって非常に重要であり、それなしで 8 年間やっていたことが信じられません。私はこの紳士が言ったことに共感できます: http://vim.wikia.com/wiki/Find_files_in_subdirectories

私は人々が TextMate でファイルを検索しているのを見て、恥ずかしくて頭を下げなければなりません :(

したがって、上記を使用すると、「理論的には」ファイルを検索できますが、出力に困惑し、一致しないファイルが含まれることがよくあります。Rails の例を使用します。

たとえば、これを行う:

Explore **/envir*

これは、余分な奇妙なファイルの束です。

../
deploy/
environments/
initializers/
locales/
.DS_Store
application.rb
authorization_rules.rb
boot.rb
config.yml
database.yml
deploy.rb
development.sphinx.conf
environment.rb
production.sphinx.conf
routes.rb
sphinx.yml
staging.sphinx.conf
test.sphinx.conf

これは少なくとも使用可能です。environment.rb まで下にスクロールして開くことができます。

しかし、すべてのヘルパーのリストを見つけたいとします。私はこれだと思います:

Explore **/*help*

動作しますが、ファイルが見つかりません。

誰かが私を照らしてくれますか?

4

3 に答える 3

3

いいえ、:Ex[plore] **/foo*最悪です。

上記の CtrlP は、プロジェクト内のファイルやその他の優れた機能を見つけることを可能にする美しさです (いくつかの制限にもかかわらず、私は広く使用しています)。FuzzyFinderCommand-Tは価値のある代替手段であり、LustyExplorerも同様であり、明らかに他にも多くの選択肢があります。

しかし、Vim はそれ自体で非常に有能です。ここwildmenuでは、オプションが重要です。次の 2 行を に追加するだけ~/.vimrcです。

set wildmenu           " see :h 'wildmenu'
set wildmode=list:full " see :h 'wildmode' for all the possible values

上記の設定で、次のコマンドは、簡単かつ比較的直感的にナビゲートできる一致の正確なリストを表示します。

:e **/foo*<Tab>        " see :h starstar

「作業ディレクトリ」がプロジェクトディレクトリに設定されている場合、そのコマンドは確実に良い結果をもたらします。あまりセクシーではありませんが (私は好きですが)、非常に効果的で信頼できます。もちろん、このメソッドは:sp:vsまたはで使用できます:tabe

この:findコマンドはさらに優れており、おそらくユーザーのニーズにより適していpathます。オプションで定義されたディレクトリを調べます。:set path=/path/to/projectセッションの開始時に、次の方法でプロジェクト内の任意のファイルを開くことができます。

:find foo<tab>         " see :h :find

きちんとした。

別の可能性は、「args」を使用することです。何らかのパターンに一致するすべてのファイルを「引数リスト」に追加し、バッファ ナビゲーション コマンドを使用します。

:argadd ./**/*.js      " see :h arglist
:sb foo<tab>

しかし、それは少し面倒かもしれません。

全体として、Vim でファイル ナビゲーションを処理するためのエレガントな方法は多数あります (-tagsベースのナビゲーションについては言及しませんでした!)。プラグインは、多くのナビゲーションのニーズに合わせて統合された優れた UI を提供する場合がありますが、ファイルを効率的に検索するためには必要ありません。まったく。

TextMate と Sublime Text のあいまい検索の実装は、実際には現在の「プロジェクト」に限定されていることに注意してください。これは、Vim プラグインや Vim の組み込みファイル処理には当てはまりません。

于 2013-01-24T08:47:27.847 に答える
3

Ctrl-P.vim プラグインを見ましたか? https://github.com/kien/ctrlp.vim

このプラグインは、表示されているものと同様の方法でファイルを見つけます。

于 2013-01-23T23:41:20.157 に答える
0

シンプルな :find タイプの機能が必要で、ファイル名の一部がタブのオートコンプリートと一致する場合は、find-completeプラグインが適しています。

于 2013-02-06T08:46:39.497 に答える