2009-09-19 22 views
106

¿Cómo lo haces?¿Cómo agregas NERDTree a tu vimrc?

+0

I actualicé mi respuesta. No estoy seguro de que pueda agregarlo a su .vimrc para hacer lo que quiera, pero sé que puede ejecutar vim desde la línea de comandos de una manera que abre NERDTree automáticamente. Echa un vistazo :) –

+0

Tu respuesta está por debajo. –

+0

NERDTree tiene valores predeterminados que no cumplen las expectativas de aquellos del mundo de Visual Studio. Nada funciona como se esperaba Producto de bricolaje, como la mayoría de OSS. Aquí está mi $ 500 gastado .vimrc para NERDTree: https://gist.github.com/avesus/1954d9384d86cc1e39cb2b2eff7017b7 –

Respuesta

190

Bien, la versión anterior era un poco escueta, pero la respuesta que está buscando es agregar la siguiente línea en su archivo ~/.vimrc. Le dice a vim que desea configurar un comando para ejecutar cuando se inicia vim, pero dado que depende de varios complementos para cargar, no desea ejecutarlo hasta que haya finalizado toda la inicialización. La línea a continuación hace esto.

autocmd VimEnter * NERDTree 

Sin embargo, si usted está molesto por el hecho de que el cursor se inicia siempre en la ventana NERDTree, se puede añadir un segundo AutoCommand que mover el cursor en la ventana principal, así:

autocmd VimEnter * NERDTree 
autocmd VimEnter * wincmd p 
+0

No sé por qué pero esto no funciona para mí. Tengo que llamar: NERDTreeToggle dentro de vim para mostrar nerdtree de todos modos – hgf

+0

funcionó bien para mí. ubuntu 10.10. Vim 7.2 huge – Stann

+0

Si está usando un script como vimpager, debe mover estas líneas a su script '/ .vim/after/plugin/NERD_tree.vim', para que no intente ejecutarlo con los complementos desactivados. –

18

¿Está en un sistema Windows o Unix-y?

Si está en un sistema unix-y pone complementos en ~/.vim/plugin. Esto es lo que mi directorio de plugins se parece a:

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

Después de que comienza a trabajar de inmediato. Intente ejecutar vim así:

$ vim . 

Debe abrir el directorio actual en la vista de árbol NERD.

Si estás en Windows te desanime plugins aquí: C:\Program Files\Vim\vim70\plugin


Para obtener NERDTree se cargue automáticamente cuando se inicia vim, ejecutarlo así desde la línea de comandos:

$ vim -c "NERDTree" some_file.txt 

puede configurar un alias para esto en su .bashrc:

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

Ahora bien, cada vez que ejecute vimt (en lugar de vim) también abrirá NERDTree en el lado izquierdo de la ventana.

También puede agregar una clave de acceso directo para iniciar NERDTree en su .vimrc esta manera:

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

nmap <ESC>t :OpenNERDTree<CR> 

Ahora cuando se pulse Esc continuación t que aparecerá NERDTree abierta.

+0

Estoy ejecutando una máquina Unix-y. Tengo NERDTree instalado, lo que necesito es tener NERDTree para comenzar cuando escribo vim en la línea de comandos. De modo que un buscador de archivos siempre se abre a la izquierda, como en Textmate. No sé qué poner en el vimrc para hacer esto, lo intenté: NERDTree pero no parece reconocer el comando ... – chutsu

+2

Pensé que agregaría que hay un: NERDTreeToggle incorporado en el mapeo al que puedes mapear lo que hace que su función personalizada sea bastante redundante. –

+1

Consejo excelente 'alias vimt = 'vim -c" NERDTree "$ 1'' – pedrosaurio

7

Las respuestas aquí tienen un problema menor.

Si llama vim --noplugin o utilizar una secuencia de comandos que utiliza --noplugin modo como vimpager, que hará que este error:

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

Para evitar esto, poner el mando en ~/.vim/after/plugin/NERD_tree.vim lugar:

autocmd VimEnter * NERDTree 

Y también podría ser una buena idea probar que NERDtree también esté disponible, es decir,:

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

Bueno ... También uso Vim como buscapersonas y simplemente agregué un argumento para deshabilitar los comandos automáticos ... 'export MANPAGER = 'col -bx | mvim -c ": set ft = man nonu nolist" -c ": autocmd!" -M -R ->/dev/null 2> & 1'' –

17

me gusta ver NERDTree solamente cuando comienzo vim sin argumentos de archivo, por lo que añade esto a mi .vimrc:

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

De acuerdo con las instrucciones de https://github.com/scrooloose/nerdtree, puede solo use pathogen.vim (https://github.com/tpope/vim-pathogen). Instalar patógeno con:

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

Agregar a su vimrc:

execute pathogen#infect() 

luego instalar NERDTree:

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

Y si desea abrir un NERDTree automáticamente cuando vim se pone en marcha, añadir lo siguiente a su vimrc:

autocmd vimenter * NERDTree