Come aggiornare automaticamente Vim su buffer / focus finestra?


11

Uso spesso Control + L per ridisegnare lo schermo in Vim .

In particolare, quando esco dal sonno o cambio le configurazioni del monitor, spesso trovo che Vim deve essere ridisegnato. Ho pensato che sarebbe stato più semplice aggiungere qualcosa al mio VIMRC che ridisegna la messa a fuoco.

  • Esiste un comando che posso aggiungere al mio .vimrcfile che ridisegna il buffer quando la finestra / buffer ottiene lo stato attivo?

In particolare, un buon comando non dovrebbe avere prestazioni negative evidenti o altri effetti collaterali correlati.

Risposte:


12

vim ha un evento a cui puoi associarti per questo, FocusGainedcombinalo con il redraw!comando ( !causa prima la cancellazione della finestra)

:au FocusGained * :redraw!

La sintassi qui può essere letta come 'esegui automaticamente il comando (au è l'abbreviazione di autocmd) :redraw!quando ottengo l'evento FocusGainedper qualsiasi file corrispondente allo schema *'.

per renderlo permanente aggiungilo al tuo ~/.vimrc(il comando :non è necessario in vimrc).

per testare gli eventi puoi usare un comando più 'ovvio' come

:au FocusGained * :q!

1
Grazie. Gli ho dato un test di base e sembrava funzionare senza problemi di prestazioni.
Jeromy Anglim,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.