Vim - Verhindert das Öffnen von NERDTree, wenn es von git aufgerufen wird

8

Schön und einfach, ich möchte, dass NERDTree sich nicht einmischt, wenn vim von git aufgerufen wird, beispielsweise beim Erstellen einer Commit-Nachricht oder beim Umgang mit einer Rebase.

Vermutlich ist dies durch eine Art Dateityperkennung (gitcommit usw.) möglich, aber genau wie ich das mache, weiß ich nicht. Die relevanten Teile meines vimrc im Moment sind:

autocmd vimenter * NERDTree
map <C-n> :NERDTreeToggle<CR>

Ich möchte die automatische Öffnung von NERDTree im allgemeinen Fall beibehalten. Ich habe etwas in der Art versucht:

autocmd FileType gitcommit NERDTreeToggle

Die Dokumentation schlägt jedoch vor, dass VimEnter so ziemlich das letzte ist, was ausgelöst wird, nachdem alle Puffer usw. geladen wurden. Ich denke, das ist der Grund, warum dies nicht funktioniert.

Danke im Voraus.

jstephenson
quelle
Brauchen Sie das Fenster wirklich immer offen?
Romainl

Antworten:

7

Ich denke, Sie haben bereits alle Teile zusammen: Kombinieren Sie einfach den Start von NERDTree mit einer Bedingung, die vom Dateityp abhängt. Bei VimEnterBränden sollte dies bereits eingestellt sein:

:autocmd VimEnter * if &filetype !=# 'gitcommit' | NERDTree | endif
Ingo Karkat
quelle