El comando para actualizar un archivo desde la versión en el disco es :e!
¿Cómo puedo hacer lo mismo para todos los archivos en el búfer?
Antecedentes: lo necesito porque estoy usando git con múltiples ramas con un vim abierto que contiene un búfer. Cuando pago una rama, me gustaría tener vim refresh.
set noconfirm
antes de usar elbufdo
comando (set confirm
luego para volver a leer).bufdo e
curiosamente deja todos los búferes sin resaltar sintaxisEl
:checkt[ime]
comando está diseñado para este mismo propósito.Le pedirá que vuelva a cargar cualquier búfer que haya cambiado; si desea omitir la solicitud, puede hacerlo de
:set autoread
antemano (aún recibirá una solicitud de buffers 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
fuente
Esto es lo que terminé poniendo en mi .vimrc:
fuente
De
:help autoread
:Si, como yo, solo quieres siempre pasivamente recargar buffers obsoletos pero no modificados, entonces parece que debería hacer el trabajo.
Sin embargo, el detalle final es cuando vim nota el búfer obsoleto. Eso se puede forzar con
checktime
. Si tiene configurados eventos de enfoque , entonces podemos ejecutarchecktime
cada vez que ganemos el foco de la siguiente manera:Esta respuesta también tiene algunos detalles interesantes.
fuente
Como @Matthew S mencionó aquí https://vi.stackexchange.com/a/462 , puede usar:
fuente