2016-04-26 5 views
0

Ich möchte NERDtree automatisch öffnen, aber nur bei der Übergabe eines Ordnerarguments in der Befehlszeile, und dass es zwei Baumbetrachter nicht öffnen würde, nur NERDtree . Zum Beispiel, wenn ich auf Ordner ‚rootFolder‘ bin, die ein ‚childFolder‘ hat und ich laufe:Öffnen Nerdtree automatisch beim Start vim auf einen Ordner und nicht zwei Baum Viewer

nvim childFolder 

ich es möchte vim öffnen, wie wenn ich getan hatte:

cd childFolder 
nvim 
:NERDtree 

Und wenn ich eine Datei öffne oder leer möchte ich, dass Nerdtree nicht angezeigt wird. Auf diese Weise, wenn ich auf einer einzelnen Datei einfach funktionieren wie:

nvim 

oder

nvim test.js 

oder

nvim reminder.txt 

Ich brauche nicht NERDtree, um zu sehen, weil ich nicht brauchen Es ist nur ein Testskript oder eine Notizdatei, die ich selbst verlasse. (., Die es standardmäßig ist)

+0

ist vim Explorer gut genug für dich? – dlmeetei

+0

Sie könnten einen benutzerdefinierten Bash-Befehl dazu verwenden, anstatt zu versuchen, dies von vim aus zu erreichen. z.B. Funktion, die 'nvim + cd $ 1 | aufruft NERDtree' – nobe4

Antwort

3

ich eine Abhilfe gefunden, diese beiden Zeilen in .vimrc hinzufügen:

let g:NERDTreeHijackNetrw = 1 
au VimEnter NERD_tree_1 enew | execute 'NERDTree '.argv()[0] 
+0

Wie ich in meiner Antwort gesagt habe, müssen Sie 'NERDTreeHijackNetrw' nicht auf 1 setzen - es ist standardmäßig eingestellt. Und warum sagst du, es ist ein "Workaround", löst es nicht einen Teil deines Problems? –

0

Das ist genau, wie NERDTree verhält, wenn 'NERDTreeHijackNetrw' auf 1 gesetzt ist

+1

Wenn 'NERDTreeHijackNetrw' auf 1 gesetzt ist, es schaltet, aber es nicht offen hält, wenn eine Datei ausgewählt wird, das ist was ich will, das ist es, was diese Kette von Befehlen, die ich als Beispiel benutzt habe. Ich möchte nur wissen, ob es einen Weg gibt, genau das zu öffnen, was ich beschrieben habe. Ich weiß, es klingt vielleicht dumm oder unnötig, aber das ist im Grunde, was jeder andere Redakteur tut (z. B. erhaben). –

Verwandte Themen