버퍼 / 창 포커스에서 Vim을 자동으로 새로 고치는 방법은 무엇입니까?


11

종종 Control + L을 사용 하여 Vim에서 화면을 다시 그 립니다.

특히, 절전 모드에서 변경되거나 모니터 구성을 변경하면 Vim을 다시 그려야하는 경우가 종종 있습니다. 포커스에 다시 그려지는 vimrc에 무언가를 추가하는 것이 더 간단하다고 생각했습니다.

  • .vimrc창 / 버퍼가 포커스를받을 때 버퍼를 다시 그리는 파일에 추가 할 수있는 명령이 있습니까?

특히 좋은 명령은 눈에 띄는 부정적인 성능이나 기타 관련 부작용이 없어야합니다.

답변:


12

vim에는 이것을 위해 바인딩 할 수있는 이벤트가 있습니다. FocusGainedredraw!명령 과 결합하십시오 ( !창이 먼저 지워짐)

:au FocusGained * :redraw!

여기서 구문은 ' 패턴과 일치하는 파일에 :redraw!대한 이벤트 FocusGained를 가져올 때 '자동으로 명령을 실행합니다 (au는 autocmd의 줄임말) '로 읽을 수 있습니다 *.

이것을 영구적으로 추가하려면 vimrc에서 ~/.vimrc선행 :이 필요하지 않습니다.

이벤트를 테스트하기 위해 다음과 같은 '명백한'명령을 사용할 수 있습니다

:au FocusGained * :q!

1
감사. 기본 테스트를 수행했으며 성능 문제없이 작동하는 것 같습니다.
Jeromy Anglim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.