tutorial plug awesome airline vim nerdtree

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



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!