Tengo un archivo de configuración que mantengo abierto en vim, pero que a veces se cambia en el disco, sin que estos cambios se reflejen en el terminal. ¿Puedo actualizar el contenido en la pantalla sin cerrar y volver a abrir el archivo? ¿Si es así, cómo?
362

Respuestas:
Puede usar el
:editcomando, sin especificar un nombre de archivo, para volver a cargar el archivo actual. Si ha realizado modificaciones en el archivo, puede usarlo:edit!para forzar la recarga del archivo actual (perderá sus modificaciones).El comando
:editpuede ser abreviado por:e. La edición forzada puede ser realizada por:e!fuente
:e!.:edity:edit!puedes usar:ey:e!respectivamente.uel:e!.:bufdo eAdemás de actualizar manualmente el archivo con
:edit, puede poner en su~/.vimrcpara hacer que Vim actualice automáticamente cualquier archivo que no haya sido editado por Vim. También vea
:checktime.fuente
git pulltenga en cuenta que podría perder sus cambios no guardados en la pantalla de manera no intencional.gvimo ejecutar comandos externos.:checktimeautoreadpuede activarse automáticamente X segundos después de que el cursor deja de moverse, vea esta respuesta .TL; DR
Vaya al
Wrap-upencabezado de lasvimrclíneas para agregar para mejorar su vida.A mano
correr
:checktimeAutomáticamente
Para cargar cambios automáticamente, agregue su
vimrc:set autoreadEsta respuesta agrega una advertencia:
Sigue leyendo para encontrar soluciones.
Se dispara cuando el cursor deja de moverse
Añadir a su
vimrc:De manera predeterminada, CursorHold se activa después de que el cursor permanezca quieto durante 4 segundos y se puede configurar a través del tiempo de actualización .
Disparador en el cambio de búfer o foco de terminal
Agregue lo siguiente a su
vimrcpara activarautoreadcuando cambie los búferes mientras está dentro de vim:Capturar el foco de la ventana de terminal dentro de vim simple
Para que
FocusGained(ver arriba) funcione en vim simple, dentro de un emulador de terminal (Xterm, tmux, etc.) instale el complemento: vim-tmux-focus-eventsEn las versiones tmux> 1.9, deberá agregar
.tmux.conf:Envolver
Notificaciones cuando los
autoreaddisparadores también son posibles .Aquí están mis
vimrclíneas para implementar todo lo anterior:Gracias a ErichBSchulz por señalarme en la dirección correcta
au CursorHold.fuente