Aus der Dokumentation geht hervor, dass Ihr ~/Sites/projectVerzeichnis verwendet werden sollte. (Siehe :h :NERDTree)
:NERDTree [<start-directory> | <bookmark>] *:NERDTree*
Opens a fresh NERD tree. The root of the tree depends on the argument
given. There are 3 cases: If no argument is given, the current directory
will be used. If a directory is given, that will be used. If a bookmark
name is given, the corresponding directory will be used. For example: >
:NERDTree /home/marty/vim7/src
:NERDTree foo (foo is the name of a bookmark)
:NERDTreeToggle [<start-directory> | <bookmark>] *:NERDTreeToggle*
If a NERD tree already exists for this tab, it is reopened and rendered
again. If no NERD tree exists for this tab then this command acts the
same as the |:NERDTree| command.
Wenn :NERDTreeToggledas falsche Verzeichnis geladen wird, müssen Sie Folgendes versuchen:
Überprüfen Sie das aktuelle Arbeitsverzeichnis der Shell. <c-z>Vim suspendieren und dann tun pwd. Verwenden Sie fg, um Vim zurückzubringen.
Stellen Sie sicher, dass Ihr aktuelles Arbeitsverzeichnis in Vim korrekt eingestellt ist. Überprüfen Sie über :pwd.
Haben Sie ein Plugin / eine Anpassung, die Ihr aktuelles Arbeitsverzeichnis ändern würde?
Fehler immer noch? Erstellen Sie ein Ticket im NERDTree-Tracker . Stellen Sie sicher, dass Sie ein minimales vimrc und keine anderen Plugins als NerdTree verwenden, damit andere diesen Fehler reproduzieren können.
Nach dem Neustart von vim mit allem, was in .vimrcaußer nerdtree auskommentiert ist, ist alles wieder normal. Ich habe im Moment keine Erklärung dafür, aber es hat sich selbst behoben.
Firedev
Entschuldigung, es ist eigentlich nicht konsistent. Ich muss es weiter untersuchen.
function! NERDTreeToggleInCurDir()
" If NERDTree is open in the current buffer
if (exists("t:NERDTreeBufName") && bufwinnr(t:NERDTreeBufName) != -1)
exe ":NERDTreeClose"
else
if (expand("%:t") != '')
exe ":NERDTreeFind"
else
exe ":NERDTreeToggle"
endif
endif
endfunction
" nnoremap <leader>nf :NERDTreeFind<cr>
nnoremap <leader>nf :call NERDTreeToggleInCurDir()<cr>
Ich würde mir vorstellen, dass es mit argc == 0 gepaart wird, um zu überprüfen, ob ein einfacher Aufruf von vimaufgerufen wurde. Dann öffnet es NERDTree
Avery
0
FWIW, ich benutze dies (in meiner .vimrc):
autocmd vimenter * silent! lcd %:p:h
Das pwd wird als aktueller Ordner festgelegt (oder als Ordner / Datei, die beim Starten von vim angegeben wird).
.vimrc
außer nerdtree auskommentiert ist, ist alles wieder normal. Ich habe im Moment keine Erklärung dafür, aber es hat sich selbst behoben.Folgendes habe ich am Ende getan. Danke an GitHub
quelle
In den NERDTree-Dokumenten sollten Sie in der Lage sein, Folgendes zu Ihrer .vimrc hinzuzufügen
Dadurch wird das aktuelle Arbeitsverzeichnis geöffnet, wenn Sie keine Datei angeben, die beim Aufruf geöffnet werden soll
vim
Ich hoffe das hilft!
quelle
!exists("s:std_in")
bedeuten?vim
aufgerufen wurde. Dann öffnet es NERDTreeFWIW, ich benutze dies (in meiner .vimrc):
autocmd vimenter * silent! lcd %:p:h
Das pwd wird als aktueller Ordner festgelegt (oder als Ordner / Datei, die beim Starten von vim angegeben wird).
quelle