Wie füge ich NERDTree zu meiner .vimrc hinzu?
Wie füge ich NERDTree zu meiner .vimrc hinzu?
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:
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
/.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 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.
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:
$ ls ~/.vim/plugin
NERD_tree.vim scratch.vim scratchfind.vim
Danach funktioniert es sofort. Versuchen Sie, vim wie folgt auszuführen:
$ vim .
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:
$ vim -c "NERDTree" some_file.txt
Sie können hierfür einen Alias festlegen in .bashrc
:
alias vimt='vim -c "NERDTree" $1'
Wenn Sie jetzt vimt
(statt vim
) 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
:
function OpenNERDTree()
execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()
nmap <ESC>t :OpenNERDTree<CR>
Nun , wenn Sie schlagen Esc
dann t
wird es geöffnet NERDTree Pop.
alias vimt='vim -c "NERDTree" $1'
Gemäß den NERDTree-Anweisungen können Sie einfach pathogen.vim verwenden . Installieren Sie es mit:
mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
Fügen Sie dies Ihrer .vimrc hinzu:
execute pathogen#infect()
Installieren Sie dann NERDTree:
cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git
Wenn Sie einen NERDTree beim Start von Vim automatisch öffnen möchten, fügen Sie Ihrer .vimrc Folgendes hinzu:
autocmd vimenter * NERDTree
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:
Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree
Um dies zu vermeiden, geben Sie ~/.vim/after/plugin/NERD_tree.vim
stattdessen den folgenden Befehl ein :
autocmd VimEnter * NERDTree
Und es könnte auch eine gute Idee sein, zu testen, ob auch NERDtree
verfügbar ist, dh:
if exists("loaded_nerd_tree")
autocmd VimEnter * NERDTree
endif
export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>