2016-05-22 9 views
0

Ich verwende https://github.com/MarcWeber/vim-addon-local-vimrc für die Einstellung projektspezifische Vim-Einstellungen.vim NERDTreeIgnore für bestimmte Dateien in bestimmten Unterverzeichnis

Jetzt möchte ich NERDTreeVimIgnore verwenden, um Javascript-Dateien nur im Unterverzeichnis src zu ignorieren.

Ich habe versucht:

let NERDTreeIgnore = ['^src*\.js$'] 

aber keinen Erfolg gehabt.

let NERDTreeIgnore = ['\.js$'] 

ignoriert alle js-Dateien, aber ich brauche sie nur in src und seine rekursiven Unterverzeichnisse ignoriert.

Kann mir jemand einen Tipp geben?

Antwort

0

Leider scheint die Option NERDTreeIgnore nur die letzte Pfadkomponente (den Basisnamen der Datei) zu betrachten. Dies bedeutet, dass Sie bestimmte Dateien nicht so ausfiltern können.

Die einzige Möglichkeit, die ich denken kann, dies zu tun wäre, indem die NERDTreeAddPathFilter() Funktion: https://github.com/scrooloose/nerdtree/blob/15445be5fb2559829ac7a1f05af5d713586e8ec9/doc/NERD_tree.txt#L1175

Sie könnten eine vim-Datei in Ihrem nerdtree_plugin Verzeichnis, zum Beispiel ~/.vim/nerdtree_plugin/path_filters.vim erstellen. Es wäre so etwas wie das Beispiel in der Dokumentation enthält:

call NERDTreeAddPathFilter('MyFilter') 

function! MyFilter(params) 
    " params is a dict containing keys: 'nerdtree' and 'path' which are 
    " g:NERDTree and g:NERDTreePath objects 
    " return 1 to ignore params['path'] or 0 otherwise 

    " You could do something like this, then: 
    let filename = fnamemodify(a:params.path.str(), ':p') 
    return filename =~ 'src/myproject/.*\.js' 
endfunction 

Sie können ein wenig in der Dokumentation zum Schreiben von Funktionen und so haben zu lesen, wenn Sie in Schwierigkeiten geraten.

Verwandte Themen