Eu atualizei minha resposta. Não tenho certeza se você pode adicioná-lo ao seu .vimrc para fazer o que quiser, mas sei que você pode executar o vim na linha de comando de uma forma que abra o NERDTree automaticamente. Dê uma olhada :)
Steven Kryskalla
Respostas:
199
Ok, a versão anterior era um pouco concisa, mas a resposta que você está procurando é adicionar a linha abaixo em seu ~/.vimrcarquivo. Ele diz ao Vim que você deseja configurar um comando para ser executado quando o Vim for iniciado, mas como depende de vários plug-ins para serem carregados, você não deseja executá-lo até que toda a inicialização seja concluída:
autocmd VimEnter * NERDTree
Se, no entanto, você está incomodado com o fato de que o cursor sempre começa na janela NERDTree, você pode adicionar um segundo comando automático que moverá o cursor para a janela principal:
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
Eu não sei por que, mas isso não funciona para mim. Tenho que ligar para: NERDTreeToggle dentro do vim para mostrar nerdtree de qualquer maneira
hgf
Se estiver usando um script como o vimpager, você deve mover essas linhas para o seu /.vim/after/plugin/NERD_tree.vimscript, para que ele não tente executar com os plug-ins desativados.
Joshua Olson
9
Você não precisa de dois autocmds separados:autocmd VimEnter * NERDTree | wincmd p
Dave James Miller
poderia simplesmente especificar o caminho real no qual desejo começar? - Sim funciona com uma pasta (apenas sem barra no final)
AturSams
1
Eu prefiro fazer o seguinte: autocmd VimEnter * NERDTreee então autocmd VimEnter * if argc() | wincmd p | endif. Dessa forma, o cursor está em NERDTree se eu não abri um arquivo específico, mas se eu escolhi um arquivo, ele começa na janela principal.
user2275806
20
Gosto de ver NERDTree apenas quando inicio o vim sem argumentos de arquivo, então adicionei isso ao meu .vimrc:
Estou executando uma máquina Unix-y. Eu tenho o NERDTree instalado, o que eu preciso é ter o NERDTree para iniciar quando eu digitar vim na linha de comando. Para que um navegador de arquivos sempre abra à esquerda, como no Textmate. Não sei o que colocar no vimrc para fazer isso, tentei: NERDTree, mas parece não reconhecer o comando ...
chutsu
2
Pensei em acrescentar que há um: NERDTreeToggle embutido no mapeamento que você pode mapear, o que torna sua função personalizada bastante redundante.
Boa ... Eu também uso o Vim como um pager e simplesmente adicionei um argumento para desabilitar os comandos automáticos ... 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>
Respostas:
Ok, a versão anterior era um pouco concisa, mas a resposta que você está procurando é adicionar a linha abaixo em seu
~/.vimrc
arquivo. Ele diz ao Vim que você deseja configurar um comando para ser executado quando o Vim for iniciado, mas como depende de vários plug-ins para serem carregados, você não deseja executá-lo até que toda a inicialização seja concluída:Se, no entanto, você está incomodado com o fato de que o cursor sempre começa na janela NERDTree, você pode adicionar um segundo comando automático que moverá o cursor para a janela principal:
fonte
/.vim/after/plugin/NERD_tree.vim
script, para que ele não tente executar com os plug-ins desativados.autocmd VimEnter * NERDTree | wincmd p
autocmd VimEnter * NERDTree
e entãoautocmd VimEnter * if argc() | wincmd p | endif
. Dessa forma, o cursor está em NERDTree se eu não abri um arquivo específico, mas se eu escolhi um arquivo, ele começa na janela principal.Gosto de ver NERDTree apenas quando inicio o vim sem argumentos de arquivo, então adicionei isso ao meu .vimrc:
fonte
Você está em um sistema Windows ou unix-y?
Se você estiver em um sistema unix-y, coloque plug-ins
~/.vim/plugin
. Esta é a aparência do meu diretório de plug-ins:Depois disso, ele começa a funcionar imediatamente. Tente executar o vim assim:
Deve abrir o diretório atual na visualização em árvore do NERD.
Se você estiver no Windows, coloque os plug-ins aqui:
C:\Program Files\Vim\vim70\plugin
Para fazer o NERDTree carregar automaticamente quando você iniciar o vim, execute-o assim na linha de comando:
Você pode definir um alias para isso em
.bashrc
:Agora, sempre que você executar
vimt
(ao invés devim
), você também abrirá o NERDTree no lado esquerdo da janela.Você também pode adicionar uma tecla de atalho para iniciar o NERDTree da
.vimrc
seguinte maneira:Agora, quando você clicar em
Esc
seguida,t
ele abrirá o NERDTree.fonte
alias vimt='vim -c "NERDTree" $1'
De acordo com as instruções do NERDTree, você pode apenas usar pathogen.vim . Instale-o com:
Adicione ao seu .vimrc:
em seguida, instale o NERDTree:
E se você quiser abrir um NERDTree automaticamente quando o Vim for inicializado, adicione o seguinte ao seu .vimrc:
fonte
As respostas aqui têm um pequeno problema.
Se você chamar
vim --noplugin
ou usar um script que usa um--noplugin
modo como o vimpager , isso causará este erro:Para evitar isso, coloque o comando em
~/.vim/after/plugin/NERD_tree.vim
vez disso:E também pode ser uma boa ideia testar se também
NERDtree
está disponível, ou seja:fonte
export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
fonte