스왑 창과 함께 사용할 때 vim으로 키를 보내는 tmux가 효과가 없습니다.

스왑 창과 함께 사용할 때 vim으로 키를 보내는 tmux가 효과가 없습니다.

두 개의 창(창 ID: 0과 1)이 있는 tmux 창이 있습니다. Vim은 창 0에서 시작되었습니다. tmux 명령 프롬프트에서 두 명령의 조합을 트리거하고 싶습니다.

:send-keys -t 0 "iabc" ; swap-pane -D

이 키는 iabcvim의 삽입 모드로 들어가 입력됩니다. 그것이 무엇인지는 중요하지 않습니다. 단지 vim에 입력하면 됩니다. 불행히도 이것은 작동하지 않습니다. 작동 swap-pane하지만 vim 창에서 수동으로 키를 누르거나 개별 키를 다시 호출할 때까지 전송된 키는 vim에서 "사용"되지 않으며 send-keys갑자기 "일시 중지" 작업이 적용됩니다. 포함된 창이 동시에 교체되기 때문에 vim의 프로세스가 입력을 사용할 수 없는 것 같습니다.

궁극적으로 다음과 같은 바인딩이 필요합니다. bind-key s send-keys -t 0 "iabc" \; swap-pane -D그러나 명령 프롬프트 수준에서 정확히 동일하게 동작하는 것으로 나타났습니다.

나는 여러 개의 와 시퀀스를 사용하여 다양한 바인딩 버전을 시도했지만 send-keys그 중 아무것도 작동하지 않으므로 이것에 많은 시간을 낭비했기 때문에 테스트되지 않은 추측을 제안하지 마십시오. 한 번에 구현해야 합니다 bind-key. 이 실패에 대한 도움이나 설명에 감사드립니다.

tmux 3.0a, vim 8.1, bash 5.0.17(1), Ubuntu 20.04.1 LTS

관련 정보