¿Cómo actualizar automáticamente Vim en el búfer / foco de ventana?

11

A menudo uso Control + L para volver a dibujar la pantalla en Vim .

En particular, cuando salgo del sueño o cambio las configuraciones del monitor, a menudo encuentro que Vim necesita ser redibujado. Pensé que podría ser más simple agregar algo a mi vimrc que rediseña el enfoque.

  • ¿Hay algún comando que pueda agregar a mi .vimrcarchivo que redibuje el búfer cuando la ventana / búfer obtenga el foco?

En particular, un buen comando no debe tener un rendimiento negativo notable u otros efectos secundarios relacionados.

Jeromy Anglim
fuente

Respuestas:

12

vim tiene un evento al que puede vincularse para esto, FocusGainedcombine esto con el redraw!comando (esto !hace que la ventana se borre primero)

:au FocusGained * :redraw!

La sintaxis aquí se puede leer como 'ejecutar automáticamente el comando (au es la abreviatura de autocmd) :redraw!cuando obtengo el evento FocusGainedpara cualquier archivo que coincida con el patrón *'.

para que esto sea permanente, agréguelo a su ~/.vimrc(el líder :no es necesario en vimrc).

para probar eventos, puede usar un comando más 'obvio' como

:au FocusGained * :q!
cjh
fuente
1
Gracias. Le di una prueba básica, y parecía funcionar sin ningún problema de rendimiento.
Jeromy Anglim