2009-09-19 14 views
106

Jak to zrobić?Jak dodać NERDTree do swojego vimrc?

+0

I zaktualizowałem moją odpowiedź. Nie jestem pewien, czy możesz dodać go do swojego .vimrc, aby zrobić to, co chcesz, ale wiem, że możesz uruchomić vim z wiersza poleceń w sposób, który automatycznie otwiera NERDTree. Spójrz :) –

+0

Twoja odpowiedź jest poniżej. –

+0

NERDTree ma wartości domyślne nie spełniające oczekiwań ze świata Visual Studio. Nic nie działa zgodnie z oczekiwaniami. Produkt DIY, jak większość OSS. Oto moje 500 $ wydane .vimrc na NERDTree: https://gist.github.com/avesus/1954d9384d86cc1e39cb2b2eff7017b7 –

Odpowiedz

190

W porządku, poprzednia wersja była nieco zwięzła, ale odpowiedź, której szukasz, polega na dodaniu poniższej linii do pliku ~/.vimrc. Mówi on vimowi, że chcesz ustawić polecenie, które będzie uruchamiane po uruchomieniu vima, ale ponieważ zależy ono od załadowania różnych wtyczek, nie chcesz go uruchamiać, dopóki cała inicjalizacja nie zostanie zakończona. Linia poniżej to robi.

autocmd VimEnter * NERDTree 

Jeżeli jednak jesteś niezadowolony z faktu, że kursor zawsze zaczyna się w oknie NERDTree, można dodać drugi autokomendę że będzie przesunąć kursor w oknie głównym, tak jak:

autocmd VimEnter * NERDTree 
autocmd VimEnter * wincmd p 
+0

Nie wiem dlaczego, ale to nie działa dla mnie. Muszę zadzwonić: NERDTreeToggle wewnątrz vima, aby pokazać nerdtree i tak – hgf

+0

pracował dla mnie dobrze. ubuntu 10.10. Vim 7.2 ogromny – Stann

+0

Jeśli używasz skryptu takiego jak vimpager, powinieneś przenieść te linie do skryptu '/ .vim/after/plugin/NERD_tree.vim', aby nie próbował on działać z wyłączonymi wtyczkami. –

18

Czy korzystasz z systemu Windows lub systemu Unix-Y?

Jeśli używasz systemu unix-y, wstawiasz wtyczki do ~/.vim/plugin. Oto, jak wygląda mój katalog wtyczek:

$ ls ~/.vim/plugin 
NERD_tree.vim scratch.vim scratchfind.vim 

Po tym czasie zaczyna działać od razu. Spróbuj uruchomić vima w ten sposób:

$ vim . 

Powinien otworzyć bieżący katalog w widoku drzewa NERD.

Jeśli jesteś na systemie Windows można umieścić wtyczki tutaj: C:\Program Files\Vim\vim70\plugin


Aby uzyskać NERDTree się automatycznie po uruchomieniu vim załadować, uruchomić go jak ten z wiersza poleceń:

$ vim -c "NERDTree" some_file.txt 

można ustawić alias dla tego w .bashrc:

alias vimt='vim -c "NERDTree" $1' 

Teraz, gdy uruchomisz vimt (zamiast vim), otworzysz także NERDTree po lewej stronie okna.

Można też dodać klawisz skrótu, aby rozpocząć NERDTree w .vimrc ten sposób:

function OpenNERDTree() 
    execute ":NERDTree" 
endfunction 
command -nargs=0 OpenNERDTree :call OpenNERDTree() 

nmap <ESC>t :OpenNERDTree<CR> 

Teraz kiedy trafisz Esc następnie t będzie pop otwarte NERDTree.

+0

Używam komputera typu Unix-y. Mam NERDTree Installed, potrzebuję NERDTree, aby uruchomić po wpisaniu vima w linii poleceń. Aby przeglądarka plików zawsze otwierała się po lewej stronie, tak jak w Textmate. Nie wiem, co dodać do vimrc, aby to zrobić, próbowałem: NERDTree, ale wydaje się, że nie rozpoznaje polecenia ... – chutsu

+2

Pomyślałem, że dodam, że istnieje: NERDTreeToggle wbudowane mapowanie, które można mapować na co sprawia, że ​​twoja funkcja niestandardowa jest raczej zbędna. –

+1

Doskonała wskazówka 'alias vimt = 'vim -c" NERDTree "$ 1'' – pedrosaurio

7

Odpowiedzi mają tutaj niewielki problem.

Jeśli zadzwonisz vim --noplugin lub użyć skryptu, który używa --noplugin tryb taki jak vimpager, spowoduje to błąd:

Error detected while processing VimEnter Auto commands for "*": 
E492: Not an editor command: NERDTree 

Aby tego uniknąć, należy umieścić polecenie w ~/.vim/after/plugin/NERD_tree.vim zamiast:

autocmd VimEnter * NERDTree 

Warto też przetestować, czy dostępne jest również NERDtree, tj.:

if exists("loaded_nerd_tree") 
    autocmd VimEnter * NERDTree 
endif 
+1

Dobra ... Używam również Vima jako pager i po prostu dodałem argument, aby wyłączyć autokomendę ... 'export MANPAGER = 'col -bx | mvim -c ": set ft = man nonu nolist" -c ": autocmd!" -M -R ->/dev/null 2> & 1'' –

17

chciałbym zobaczyć NERDTree tylko wtedy, gdy zacznę vim bez argumentów plików, więc dodałem to do mojego .vimrc:

autocmd VimEnter * if !argc() | NERDTree | endif 
7
" NERD Tree 
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN> 
7

zgodnie z instrukcją na https://github.com/scrooloose/nerdtree, można po prostu użyj pathogen.vim (https://github.com/tpope/vim-pathogen). Zainstalować patogen z:

mkdir -p ~/.vim/autoload ~/.vim/bundle; \ 
curl -Sso ~/.vim/autoload/pathogen.vim \ 
     https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim 

Dodaj to do swojej vimrc:

execute pathogen#infect() 

następnie zainstalować NERDTree:

cd ~/.vim/bundle 
git clone https://github.com/scrooloose/nerdtree.git 

A jeśli chcesz otworzyć NERDTree automatycznie po vim uruchamia się, należy dodać do Twojego vimrc:

autocmd vimenter * NERDTree 
Powiązane problemy