NERDTree recarrega novos arquivos

239

Se eu adicionar um arquivo ao mesmo diretório aberto NERDTree, a única maneira de ver o arquivo adicionado é se eu sair do vim e iniciá-lo novamente.

Existe uma maneira de recarregar os arquivos NERDTree?

lesce
fonte

Respostas:

416

Você pode fechar e reabrir o NERDTree ou simplesmente pressionar rpara atualizar a lista do diretório atual ou Rpara atualizar a lista do diretório raiz.

Você vê "Pressione? Para obter ajuda" na parte superior da janela do NERDTree? Isso significa que você pode pressionar ?por ajuda. Se fizer isso, você verá uma lista exaustiva dos atalhos do NERDTree. Isso é legal.

De maneira mais geral, muitos plugins possuem uma documentação completa com a qual você pode acessar :help <pluginame>.

romainl
fonte
15
fechar e reabrir o NERDTree não funciona ... r funciona! Obrigado !
00
5
A reabertura não funcionou porque o NERDTree armazena em cache a listagem de diretórios. Você pode ver uma mensagem nesse sentido ao atualizar com 'r'.
Mqsoh
3
Eu olhei a ?ajuda três vezes e nunca vi r!
Cory Klein
2
Na verdade, a janela de NERDTree ajuda não lista o ratalho
micahbf
1
A ajuda rápida do ?NERDTree lista esses atalhos, na seção "Mapeamentos do sistema de arquivos". Ele lista “ r: refresh cursor dir” e “ R: refresh root atual”.
Rory O'Kane
21

Como @romainl respondeu acima; pressione rpara atualizar o diretório atual ou Rpara atualizar o diretório raiz.

Você pode adicionar novos arquivos do próprio nerdTree pressionando e m, em seguida, aadicionar um novo arquivo (ou diretório adicionando uma barra). Dessa forma, você não precisa atualizar o nerdTree para ver o novo arquivo adicionado.

Muhammad Reda
fonte
7

Atualizar NERDTree

Em vez de bater Rna NERDTreejanela, eu uso um mapa personalizado que faz isso por mim:

nmap <Leader>r :NERDTreeRefreshRoot

Eu mapeei para Leader+ r, mas você pode mapeá-lo para o que quiser.


Explicação:

  • Primeiro muda para a NERDTreejanela
  • Atualiza o nó raiz (simulando a Rchave)
  • E, finalmente, volta para a janela anterior

Nota: Você pode adicionar uma última etapa para atualizar o CtrlP junto com o NERDTree

Sheharyar
fonte
1
Você pode mapear para :NERDTreeRefreshRootsem focar na árvore.
Gregory
5

Você pode pressionar o botão R usando a função de teclas de alimentação . Bem assim:

call feedkeys("R")  

Eu defini uma função no meu arquivo .vimrc:

fun! ToggleNERDTreeWithRefresh()
    :NERDTreeToggle 
    if(exists("b:NERDTreeType") == 1)
        call feedkeys("R")  
    endif   
endf 

nmap <silent> <c-l> :call ToggleNERDTreeWithRefresh()<cr>  

Portanto, quando eu digitar ctrl+ l, o NERDTree será alternado e atualizará o diretório raiz.

xus
fonte