"포커스"라는 용어 는 현재 키보드 및 마우스 입력 이벤트를 허용 하는 터미널 (또는 창)을 나타냅니다 . 오직 한 사람 만이 집중할 수 있습니다. 그래픽 환경에서 초점을 맞추고 잃는 방법을 설정하는 데 도움이되지 않는 프로토콜이 있습니다.
설명에서 ( 포커스가 회복되면 Tmux 현재 창 표시기 참조 ) iTerm2가이 xterm
기능을 구현하는 것으로 보입니다 .
초점 / 초점
FocusIn / FocusOut은 다른 프로토콜을 사용하므로 마우스 이벤트와 결합 할 수 있습니다. 설정되면 xterm은 터미널에 포커스가있을 때 CSI I을 보내며 포커스를 잃으면 CSI O를 보냅니다.
개인 모드 1004로 활성화됩니다 (2007 년 xterm에 추가됨, 패치 # 224 ).
CSI ? Pm h
DEC Private Mode Set (DECSET).
Ps = 1 0 0 4 -> Send FocusIn/FocusOut events.
이 패치에 관련이있을 수 있습니다 : 빔 - 초점보고 모드 (1004 DECSET / DECRST) xterm이 호환 단말기에서 작동을위한 추가 지원 "xterm 등은"마우스를 하나의 환경에서 모든 기능이 동작을 동일시 :
/ * 포커스 리포팅은 xterm 호환 터미널 및 tmux에서 지원됩니다. * /
그래서 ... 당신은 해제 할 수 그 터미널이 xterm을 마우스 프로토콜을 사용하지 않는 정력을 말함으로써. 인용 된 패치는 vim에 FocusIn / FocusOut 기능 (일반적으로 꺼져 있어야 함)을 켜도록 지시하며, 논리에 결함이있는 경우 vim을 종료 한 후 기능을 활성화 상태로 둘 수 있습니다.
vim이 모드를 활성화하는 가장 큰 원인은 아니지만 다른 프로그램 (또는 스크립트)이 켜질 수 있습니다. 다른 답변에서 제안했듯이 script
프로그램 ( typescript
파일 생성)을 사용하여 출력을 터미널로 수집하여 범위를 좁힐 수 있습니다. 시간이 많이 걸리는 분석 (이 사이트는 첨부 파일 을 지원 하지 않는 것 같으므로 자세한 토론을 요청하는 데 적합하지 않은 것으로 보입니다). 나는 일반적 unmap
으로이 목적을 위해 타이프 스크립트 파일을 읽을 수있는 형태로 변환 하는 데 사용 합니다.