Tampon / pencere odağında Vim otomatik olarak nasıl yenilenir?


11

Vim'de ekranı yeniden çizmek için genellikle Control + L tuşlarını kullanıyorum .

Özellikle, uyku modundan çıktığımda veya monitör yapılandırmalarını değiştirdiğimde Vim'in yeniden çizilmesi gerektiğini sık sık görüyorum. Vimrc'ye odaklanmayı yeniden çizen bir şey eklemenin daha basit olabileceğini düşündüm.

  • .vimrcPencere / arabellek odağı aldığında arabamı yeniden çizen dosyama ekleyebileceğim bir komut var mı ?

Özellikle, iyi bir komutun belirgin bir olumsuz performansı veya diğer ilgili yan etkileri olmamalıdır.

Yanıtlar:


12

vim'de bunun için bağlanabileceğiniz bir olay vardır FocusGained, bunu redraw!komutla birleştirin ( !önce pencerenin temizlenmesine neden olur)

:au FocusGained * :redraw!

Buradaki sözdizimi, ' kalıpla eşleşen herhangi bir dosya :redraw!için olayı aldığımda komutu otomatik olarak çalıştır (aucmd için kısa)' olarak okunabilir .FocusGained*

bunu kalıcı hale getirmek için onu ekleyin ~/.vimrc(lider :vimrc'de gerekli değildir).

olayları test etmek için daha 'açık' bir komut kullanabilirsiniz.

:au FocusGained * :q!

1
Teşekkürler. Temel bir test yaptım ve performans sorunları olmadan işe yaramış gibi görünüyordu.
Jeromy Anglim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.