Jak automatycznie odświeżyć Vima po ustawieniu bufora / okna?


11

Często używam Control + L, aby przerysować ekran w Vimie .

W szczególności, kiedy wychodzę ze snu lub zmieniam konfiguracje monitorów, często stwierdzam, że Vima trzeba przerysować. Pomyślałem, że łatwiej jest po prostu dodać coś do mojego vimrc, które przerysowuje fokus.

  • Czy istnieje polecenie, które mogę dodać do mojego .vimrcpliku, który przerysowuje bufor, gdy fokus zostanie ustawiony na oknie / buforze?

W szczególności dobre polecenie nie powinno mieć zauważalnych negatywnych wyników lub innych powiązanych skutków ubocznych.

Odpowiedzi:


12

vim ma zdarzenie, do którego można się z tym powiązać FocusGained, połącz to z redraw!poleceniem ( !powoduje to, że okno zostanie najpierw wyczyszczone)

:au FocusGained * :redraw!

Składnię można odczytać jako „automatycznie uruchom polecenie (au to skrót od autocmd), :redraw!gdy otrzymam zdarzenie FocusGaineddla dowolnego pliku pasującego do wzorca *”.

aby to na stałe dodać do swojego ~/.vimrc(wiodące :nie jest potrzebne w vimrc).

do testowania zdarzeń można użyć bardziej „oczywistego” polecenia, takiego jak

:au FocusGained * :q!

1
Dzięki. Dałem mu podstawowy test i wydawało się, że działa bez żadnych problemów z wydajnością.
Jeromy Anglim,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.