バッファ/ウィンドウフォーカスでVimを自動的に更新する方法は?

バッファ/ウィンドウフォーカスでVimを自動的に更新する方法は?

よく使うControl+L は Vim で画面を再描画します。

特に、眠りから目を覚ましたりモニター構成を変更したりするときにVimを再描画する必要があることがよくあります。私はvimrcにフォーカスを再描画するものを追加する方が簡単だと思いました。

  • .vimrcウィンドウ/バッファにフォーカスがあるときにバッファを再描画するファイルに追加できるコマンドはありますか?

特に良いコマンドには、明らかな否定的なパフォーマンスやその他の関連する副作用はありません。

答え1

vimにはコマンドFocusGainedと組み合わせてバインドできるイベントがあります(これによりウィンドウが最初にクリアされます)redraw!!

:au FocusGained * :redraw!

ここで構文は、「:redraw!パターンと一致するファイルのイベントを受け取ると自動的にコマンドを実行します(auはautocmdの略です)」と理解できます。FocusGained*

永久に作成するには、vimrcに追加します(~/.vimrcvimrcでは先行操作は必要ありません)。:

イベントをテストするには、次の「明白な」コマンドを使用できます。

:au FocusGained * :q!

関連情報