Ich habe meine Antwort aktualisiert. Ich bin nicht sicher, ob Sie es zu Ihrer .vimrc hinzufügen können, um das zu tun, was Sie wollen, aber ich weiß, dass Sie vim über die Befehlszeile so ausführen können, dass NERDTree automatisch geöffnet wird.
Werfen
Antworten:
199
Okay, die vorherige Version war etwas knapp, aber die Antwort, die Sie suchen, besteht darin, die folgende Zeile in Ihre ~/.vimrcDatei einzufügen. Es teilt Vim mit, dass Sie einen Befehl einrichten möchten, der beim Start von Vim ausgeführt werden soll. Da dies jedoch von verschiedenen zu ladenden Plugins abhängt, möchten Sie ihn erst ausführen, wenn alle Initialisierungen abgeschlossen sind:
autocmd VimEnter * NERDTree
Wenn Sie sich jedoch darüber ärgern, dass der Cursor immer im NERDTree-Fenster startet, können Sie einen zweiten automatischen Befehl hinzufügen, der den Cursor in das Hauptfenster bewegt:
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
Ich weiß nicht warum, aber das funktioniert bei mir nicht. Ich muss anrufen: NERDTreeToggle in vim, um Nerdtree trotzdem zu zeigen
hgf
Wenn Sie ein Skript wie vimpager verwenden, sollten Sie diese Zeilen in Ihr /.vim/after/plugin/NERD_tree.vimSkript verschieben, damit es nicht versucht, mit deaktivierten Plugins ausgeführt zu werden.
Joshua Olson
9
Sie brauchen keine zwei separaten Autocmds:autocmd VimEnter * NERDTree | wincmd p
Dave James Miller
Kann ich einfach den tatsächlichen Pfad angeben, in dem ich beginnen möchte? - Yup arbeitet mit einem Ordner (nur kein Schrägstrich am Ende)
AturSams
1
Ich mache lieber folgendes: autocmd VimEnter * NERDTreeund dann autocmd VimEnter * if argc() | wincmd p | endif. Auf diese Weise befindet sich der Cursor auf NERDTree, wenn ich keine bestimmte Datei geöffnet habe, aber wenn ich eine Datei ausgewählt habe, wird sie im Hauptfenster gestartet.
user2275806
20
Ich möchte NERDTree nur sehen, wenn ich vim ohne Dateiargumente starte, also habe ich dies zu meiner .vimrc hinzugefügt:
Ich verwende eine Unix-y-Maschine. Ich habe NERDTree installiert. Ich brauche NERDTree, um zu starten, wenn ich vim in die Befehlszeile eingebe. Damit öffnet sich immer ein Dateibrowser nach links, wie in Textmate. Ich weiß nicht, was ich in das vimrc setzen soll, um dies zu tun, ich habe versucht: NERDTree, aber es scheint den Befehl nicht zu erkennen ...
chutsu
2
Ich dachte, ich würde hinzufügen, dass es ein: NERDTreeToggle-integriertes Mapping gibt, dem Sie zuordnen können, wodurch Ihre benutzerdefinierte Funktion ziemlich redundant wird.
Gut ... Ich benutze Vim auch als Pager und habe einfach ein Argument hinzugefügt, um automatische Befehle zu deaktivieren ... export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
Eddie B
7
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>
Antworten:
Okay, die vorherige Version war etwas knapp, aber die Antwort, die Sie suchen, besteht darin, die folgende Zeile in Ihre
~/.vimrc
Datei einzufügen. Es teilt Vim mit, dass Sie einen Befehl einrichten möchten, der beim Start von Vim ausgeführt werden soll. Da dies jedoch von verschiedenen zu ladenden Plugins abhängt, möchten Sie ihn erst ausführen, wenn alle Initialisierungen abgeschlossen sind:Wenn Sie sich jedoch darüber ärgern, dass der Cursor immer im NERDTree-Fenster startet, können Sie einen zweiten automatischen Befehl hinzufügen, der den Cursor in das Hauptfenster bewegt:
quelle
/.vim/after/plugin/NERD_tree.vim
Skript verschieben, damit es nicht versucht, mit deaktivierten Plugins ausgeführt zu werden.autocmd VimEnter * NERDTree | wincmd p
autocmd VimEnter * NERDTree
und dannautocmd VimEnter * if argc() | wincmd p | endif
. Auf diese Weise befindet sich der Cursor auf NERDTree, wenn ich keine bestimmte Datei geöffnet habe, aber wenn ich eine Datei ausgewählt habe, wird sie im Hauptfenster gestartet.Ich möchte NERDTree nur sehen, wenn ich vim ohne Dateiargumente starte, also habe ich dies zu meiner .vimrc hinzugefügt:
quelle
Sind Sie auf einem Windows- oder Unix-System?
Wenn Sie auf einem Unix-System arbeiten, fügen Sie Plugins hinzu
~/.vim/plugin
. So sieht mein Plugin-Verzeichnis aus:Danach funktioniert es sofort. Versuchen Sie, vim wie folgt auszuführen:
Es sollte das aktuelle Verzeichnis in der NERD-Baumansicht öffnen.
Wenn Sie unter Windows arbeiten, fügen Sie hier Plugins ein:
C:\Program Files\Vim\vim70\plugin
Damit NERDTree beim Starten von vim automatisch geladen wird, führen Sie es folgendermaßen über die Befehlszeile aus:
Sie können hierfür einen Alias festlegen in
.bashrc
:Wenn Sie jetzt
vimt
(stattvim
) ausführen, öffnen Sie auch NERDTree auf der linken Seite des Fensters.Sie können auch eine Tastenkombination hinzufügen, um NERDTree folgendermaßen zu starten
.vimrc
:Nun , wenn Sie schlagen
Esc
dannt
wird es geöffnet NERDTree Pop.quelle
alias vimt='vim -c "NERDTree" $1'
Gemäß den NERDTree-Anweisungen können Sie einfach pathogen.vim verwenden . Installieren Sie es mit:
Fügen Sie dies Ihrer .vimrc hinzu:
Installieren Sie dann NERDTree:
Wenn Sie einen NERDTree beim Start von Vim automatisch öffnen möchten, fügen Sie Ihrer .vimrc Folgendes hinzu:
quelle
Die Antworten hier haben ein kleines Problem.
Wenn Sie
vim --noplugin
ein Skript aufrufen oder verwenden, das den--noplugin
Modus wie Vimpager verwendet , wird der folgende Fehler verursacht:Um dies zu vermeiden, geben Sie
~/.vim/after/plugin/NERD_tree.vim
stattdessen den folgenden Befehl ein :Und es könnte auch eine gute Idee sein, zu testen, ob auch
NERDtree
verfügbar ist, dh:quelle
export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
quelle