Como atualizar automaticamente o Vim no buffer / foco da janela?

9

Costumo usar Control + L para redesenhar a tela no Vim .

Em particular, quando saio do sono ou modifico as configurações do monitor, muitas vezes descubro que o Vim precisa ser redesenhado. Eu pensei que poderia ser mais simples apenas adicionar algo ao meu vimrc que redesenha em foco.

  • Existe um comando que eu possa adicionar ao meu arquivo .vimrc que redesenha o buffer quando a janela / buffer recebe o foco?

Em particular, um bom comando não deve ter um desempenho negativo perceptível ou outros efeitos colaterais relacionados.

    
por Jeromy Anglim 20.12.2012 / 02:30

1 resposta

11

o vim tem um evento para o qual você pode se associar, FocusGained , combine isso com o comando redraw! (o ! faz com que a janela seja limpa primeiro)

:au FocusGained * :redraw!

A sintaxe aqui pode ser lido como 'executar automaticamente o comando (au é curto para autocmd) :redraw! quando recebo o evento FocusGained para qualquer arquivo que corresponda ao padrão * '.

para torná-lo permanente, adicione-o ao seu ~/.vimrc (o: inicial não é necessário no vimrc).

para testar eventos, você pode usar um comando mais 'óbvio' como

:au FocusGained * :q!
    
por 20.12.2012 / 05:07

Tags