plug - vim awesome
Cómo actualizar en el complemento NERDTree (5)
Cuando abro un archivo en vim con (Directorio A en) NERDTree
, funciona bien.
Pero si abro un archivo más en otro directorio (Directorio B), no se actualiza para mostrar el contenido del directorio B (aunque todavía muestra el directorio A).
¿Puede NERDTree
actualizarse automáticamente?
Mapa de teclado para actualizar NERDTree
En lugar de cambiar a la ventana de NERDTree
, pulsar R y volver a cambiar, utilizo un mapa personalizado que lo hace por mí:
nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>
Una vez establecido, al presionar Leader + r se actualizará NERDTree
.
Nota: ya que también uso CtrlP, mi mapa de teclas real tiene un último paso para actualizar CtrlP después de actualizar NERDTree
Desde https://gist.github.com/geekontheway/2667442 : simplemente presione la tecla ''r'' o ''R'' para actualizar el árbol actual. Podría asignarse a actualización automática en .vimrc.
Después de abrir el nuevo archivo, simplemente emita el comando :NERDTreeFind
. Seleccionará el nodo del archivo de edición actual en el NerdTree. Si el nodo no existe, NerdTree inicializará un nuevo árbol con la raíz como directorio del archivo actual.
Puede usar la función de autocomando para rastrear el directorio mientras abre vim.
au VimEnter * NERDTreeFind
NerdTree seguirá apuntando al directorio desde el que se abrió vim originalmente, sin importar qué archivos nuevos se abran.
Para cambiarlo, coloque el cursor en el nodo del directorio deseado dentro de la ventana de NerdTree y presione cd
.
NerdTree confirmará el cambio de directorio en la línea de comando:
NERDTree: CWD es ahora: [nuevo directorio aquí]
Tenga en cuenta que esto también cambia el directorio de trabajo de vim en general, lo cual es importante cuando se ejecutan comandos como :edit somefile
.
Para cualquiera que vea esto en 2016, esto funcionó para mí:
autocmd CursorHold,CursorHoldI * call NERDTreeFocus() | call g:NERDTree.ForCurrentTab().getRoot().refresh() | call g:NERDTree.ForCurrentTab().render() | wincmd w
¡Disfrutar!