tutorial salir español comando awesome archivo git vim buffer

git - salir - Actualizar todos los archivos en el búfer del disco en vim



vim español (4)

El comando para actualizar un archivo de la versión en el disco es :e!

¿Cómo puedo hacer lo mismo con todos los archivos en el buffer?

Antecedentes: lo necesito porque estoy usando git con múltiples ramas con un vim abierto que contiene un buffer. Cuando pago una sucursal, me gustaría tener vim refresh.


De :help autoread :

Cuando se ha detectado que un archivo se ha modificado fuera de Vim y no se ha modificado dentro de Vim, vuelva a leerlo automáticamente. Cuando el archivo ha sido eliminado, esto no está hecho.

Si, como yo, solo quieres volver a cargar de forma pasiva buffers obsoletos pero no modificados, parece que debería hacer el trabajo.

Sin embargo, el último detalle es cuando vim nota el buffer obsoleto. Eso puede ser forzado con el tiempo de checktime . Si tiene configurados los eventos de enfoque , entonces podemos ejecutar el tiempo de checktime cada vez que obtengamos el foco de la siguiente manera:

set autoread autocmd FocusGained * checktime

Esta respuesta también tiene algunos detalles interesantes.


El :checkt[ime] está diseñado para este propósito.

Le pedirá que vuelva a cargar los búferes que hayan cambiado; si desea omitir el aviso, puede hacer lo siguiente :set autoread antemano (aún recibirá un mensaje de aviso sobre los búferes con cambios locales no guardados).

También evita el problema de resaltado de sintaxis mencionado por Steven Lu en la respuesta aceptada; :bufdo desactiva el resaltado de sintaxis por diseño .

Encontrado a través de: http://vim.1045645.n5.nabble.com/Bug-report-bufdo-e-breaking-syntax-highlighting-on-displayed-buffers-tp1209995p1209998.html


Esto es lo que terminé poniendo en mi .vimrc:

fun! PullAndRefresh() set noconfirm !git pull bufdo e! set confirm endfun nmap <leader>gr call PullAndRefresh()


Lea la documentación de bufdo , debería hacer lo que quiera.