NERDTree recargar nuevos archivos


Si agrego un archivo al mismo directorio abierto en NERDTree, la única forma en que puedo ver el archivo agregado es si salgo de vim y lo inicio de nuevo .

¿Hay alguna forma de recargar los archivos en NERDTree?

 210
Author: Sheharyar, 2012-01-09

4 answers

Puede cerrar y reabrir NERDTree o simplemente presionar r para actualizar la lista del directorio actual o R para actualizar la lista del directorio raíz .

¿Ves " Press ? para ayuda " en la parte superior de la ventana de NERDTree? Significa que puede presionar ? por ayuda. Si lo haces, verás una lista exhaustiva de atajos de NERDTree. Eso es genial.

Más generalmente, muchos plugins tienen una documentación completa a la que se puede acceder con :help <pluginame>.

 358
Author: romainl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-22 21:41:41

Como @romainl respondió anteriormente; presione r para actualizar el directorio actual o R para actualizar el directorio raíz.

Sin embargo, puede considerar agregar nuevos archivos desde el propio NERDTree presionando m, luego a para agregar un nuevo archivo/directorio. De esta manera no es necesario actualizar NERDTree para ver el nuevo archivo añadido.

 18
Author: Muhammad Reda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-06 19:10:44

Actualizar NERDTree

En lugar de golpear R en la ventana NERDTree, uso un mapa personalizado que lo hace por mí:

nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>

Lo he asignado a Leader + r , pero puedes asignarlo a lo que quieras.


Explicación:

  • Primero cambia a la ventana NERDTree
  • Luego actualiza el Nodo raíz (simulando la tecla R)
  • Y finalmente vuelve a la anterior ventana

Nota 1: Debe usar mapa recursivo (es decir, mapa o nmap en lugar de noremap o nnoremap)

Nota 2: Puede agregar un último paso a actualizar CtrlP junto con NERDTree

 4
Author: Sheharyar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 10:18:21

Puede presionar el botón R usando la función feedkeys. Así:

call feedkeys("R")  

He definido una función en mi .archivo vimrc:

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

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

Entonces, cuando escribo ctrl+l , el NERDTree se alterna y actualiza el directorio raíz.

 2
Author: xus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-10 06:10:43