2

NERDTree と CtrlP の両方で、最上位のベンダー ディレクトリを無視する (表示もインデックスもしない) ようにします。

ただし、これらのプラグインの両方 (および将来的にはすべて) で、プロジェクトの最上位ではなくベンダー ディレクトリにあるファイル (たとえば、app/assets/javascripts/vendor) を考慮する必要があります。

私のワイルド無視設定は次のとおりです。

wildignore+=*.o,*.obj,.git,*.rbc,*.class,.svn,coverage/*,vendor

これにより、ベンダー ディレクトリがどこにあっても無視されます。

解決策をお勧めできますか?

ありがとうございました。

4

2 に答える 2

2

NERDTree の場合、次のように追加する必要がありますg:NERDTreeIgnore

:let g:NERDTreeIgnore=['\~$', 'vendor']

NERDTree と NERDTreeの両方で除外リストを維持するのは好きではないので'wildignore'、次のスクリプトレットを使用して、前者から後者を自動的に設定します。

" Use the 'wildignore' and 'suffixes' settings for filtering out files.
function! s:FileGlobToRegexp( glob )
    " The matching is done against the sole file / directory name.
    if a:glob =~# '^\*\.'
        return '\.' . a:glob[2:] . '$'
    else
        return '^' . a:glob . '$'
    endif
endfunction
function! s:SuffixToRegexp( suffix )
    return escape(v:val, '.~') . "$"
endfunction
let g:NERDTreeIgnore =
\   map(split(&wildignore, ','), 's:FileGlobToRegexp(v:val)') +
\   map(split(&suffixes, ','), 's:SuffixToRegexp(v:val)')
delfunction s:SuffixToRegexp
delfunction s:FileGlobToRegexp

編集

ただし、それはディレクトリをグローバルに除外しvendorます。NERDTree はファイルのベース名に対してのみフィルター比較を実行するため、トップレベルに対してのみこれを行うことは現在不可能です。

self.getLastPathComponent(0) =~# pat
于 2013-11-14T08:35:52.293 に答える