MacVimでファイルを見つけて開くための最速の方法は何ですか? NERDtreeは優れたプラグインですが、取得したいファイルにアクセスするには、ディレクトリツリーをナビゲートする必要があります(非常に深い場合もあります)。ファイル名の部分文字列を検索して、そこからクリックできる結果セットを表示できる機能はありますか?
組み込みコマンド:find
も確認する必要があります。
まず、検索するディレクトリを定義する必要があります。 / path/to/projectのサブディレクトリを検索パスに再帰的に追加する場合は、次を使用します。
:set path=/path/to/project/**
次に、たとえばを開くことができます。 / path/to/project/then/some/random/subdirectory/filename.extを発行して:
:find filename.ext
検索結果を新しいタブまたは分割画面で開くには、代わりに:tabfind
または:sfind
を試してください。
編集
ファイルのあいまい一致を探していることに気づきました。その場合、:find
がタスクに任されているとは思いません。 this vimtip で定義されている:Find
関数に興味があるかもしれません。
私は fuzzyfinder.vim をほぼ2年間使用していて、とても気に入っています。
あいまいな方法でファイルを検索することをサポートします。たとえば、foobar.rbファイルを検索するには、「fb」と入力するだけでfoobar.rbを照合できます。ファイルナビゲーションの場合は、ファイル名の前に「** /」を追加してあらゆるレベルの深さのファイルを見つけます。 dir、最近開いたファイル、最近のvimコマンド、タグなどをあいまいに見つけるためのより多くのモードを提供し、独自のモードを定義することもできます。
TextMateの方法が気に入った場合は、 この投稿 で詳細を確認できます。
Ctrpを見つける前に長い間fuzzyfinderを使用していました( https://github.com/kien/ctrlp.vim )Linuxとウィンドウで機能するカスタム検索コマンドを作成できます。 ctrlpにはいくつかの可能な設定があります-ファイルタイプまたはディレクトリをスキップします-バージョン管理システムファイルを無視します(例:.git、hg、..)-ファイルリストを作成するために外部コマンドを使用します(例:Linuxでは 'find'コマンド)-キャッシュファイルリスト.。
あなたが話していたNERDtreeプラグインとは関係ありませんが、見てみるべきだと思います...
Fuzzyfinderと同じ線に沿って PeepOpen です。私はそれを数ヶ月使用していて、今はファジーファインダーよりもそれを好みます。厳密にはMacであり、SnowLeopardが必要です。
Nerdtreeメニューのオプションの1つとしてgrepを統合する次のNerdtreeプラグインを追加しました。
https://Gist.github.com/masaakif/414375
かなりうまく機能しているようです。これは「grep-r」と同等であり、結果を選択して、表示されているファイルを編集することもできます。
私は Vim-Plug を使用してVimプラグインを管理しています、素晴らしいファジーファインダーがあります名前が fzf.vim
であるプラグイン fzf に基づいています。 Vim-Plugを使用する場合は、.vimrc
ファイル内の以下のコマンドと同じくらい簡単にインストールできます。
Plug 'junegunn/fzf', { 'do': './install --bin' }
Plug 'junegunn/fzf.vim'
次に、Vimを終了し、再度開いて次のように記述します。
:PlugInstall
実際にインストールした後は、任意の検索を行うことができます。ドキュメントは ここ です。