저는 tmux 세션에서 Vim을 사용하고 있는데 최근에 다른 tmux 창으로 전환하면 Vim이 몇 초 후에 경고하는 것을 발견했습니다. 창을 이동한 후 Vim에서는 아무 일도 일어나지 않습니다. 일반적으로 일부 편집을 수행하고 파일에 쓰기를 사용한 :w
다음 tmux로 이동합니다. 몇 초 후에 Vim은 경고음을 울리고 tmux가 깜박여 Vim에 주의가 필요함을 나타냅니다.
Vim에게 왜 그토록 도움이 필요한가요? 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?
업데이트 #1
:au FocusLost
필요에 따라 출력:
:au FocusLost
--- Auto-Commands ---
Press ENTER or type command to continue
링크 .vimrc
및 .tmux.conf
:
업데이트 #2
버전 Vim 7.3 및 tmux 1.6을 사용합니다. 이 모든 일은 tmux를 실행하는 SSH 세션 내에서 발생합니다. 나는 Ctrl+A
Ctrl+N
tmuxconf를 따르고 tmux 키를 사용하여 Vim 창 밖으로 전환합니다.
답변1
자동 명령 및 포커스
:au
포커스 상실과 관련된 자동 명령(또는)이 있는지 확인하세요 . :autocmd
실행할 수 있는 명령은 다음과 같습니다 vim
.
:autocmd FocusGained
--- Auto-Commands ---
fugitive_status FocusGained
* call fugitive#reload_status()
:au FocusLost
--- Auto-Commands ---
Press ENTER or type command to continue
위 내용은 이를 확인하는 방법을 보여줍니다. 첫 번째 예에서는 명령의 전체 이름을 사용합니다 :autocmd
. 두 번째 예에서는 명령의 축약형( :au
)을 보여줍니다. 이들 중 하나에 그룹 이름을 제공하여 자동 명령 목록의 하위 집합을 표시할 수 있습니다.
어쩌면 에너지가 필요할까요?
저는 이것에 대해 별로 익숙하지 않지만 Vitality라는 플러그인을 발견했습니다. 이 플러그인은 iTerm2
및 문제 에 도움이 될 것 같았습니다 tmux
. 이것이 무엇을 수정하는지 완전히 확신할 수는 없지만 한 번 살펴볼 가치가 있을 것입니다.
웹페이지에서 발췌
예를 들어 iTerm 2에서 Vim을 실행하면 tmux를 통해 FocusGained 및 FocusLost 자동 명령을 복원할 수도 있습니다!
인용하다
답변2
이 vim-gitgutter
플러그인으로 인해 예상치 못한 Vim 경고가 발생했습니다. 내 수정 사항에 다음 줄이 추가되었습니다 .vimrc
.
let g:gitgutter_realtime = 0
소스에 대한 다음 의견은 나에게 해결책을 제공했습니다. https://github.com/airblade/vim-gitgutter/issues/105#issuecomment-23055765
올바른 방향을 알려준 @slm에게 감사드립니다 :)