tmux에서 스크롤 모드를 중단하기 위해 키를 보내는 방법은 무엇입니까?

tmux에서 스크롤 모드를 중단하기 위해 키를 보내는 방법은 무엇입니까?

VIM에는 다음과 같은 키맵이 있습니다.

map <F5> :silent !tmux send-keys -t 0:0 C-m "python %" C-m<cr>

F5를 누르면 vim은 tmux 세션 0, 창 0에서 현재 Python 스크립트를 실행합니다. 그러나 창 0이 현재 스크롤되는 경우(즉, Shift-PgUp 또는 마우스 스크롤) tmux는 명령을 실행하지만 새 출력을 스크롤하지는 않습니다.

스크롤 모드에서 벗어나기 위해 tmux 창에 키를 어떻게 보내나요? (출력시 스크롤하고 싶습니다)

노트: 보통 Esc를 눌러 스크롤 모드를 종료하는데 Esc 키를 어떻게 사용하는지 모르겠습니다 tmux send-keys. 전송을 시도했지만 C-[성공하지 못했습니다.

답변1

ANSI-C 인용(및 이에 대한 자세한 내용)을 사용하여 리터럴 이스케이프(및 개행 문자)를 보낼 수 있습니다.여기), 예를 들어 다음 주소로 이스케이프를 보냅니다 0:0.

tmux send-keys -t 0:0 $'\e'

매핑에 대해 내가 올바르게 이해했다고 가정하면 다음을 수행할 수 있습니다.

map  <F5> :silent !tmux send-keys -t 0:0 $'\e'"python"$'\n'<CR>

이스케이프 문자는 항상 전송되므로 쉘이 이스케이프 문자를 수신하는 문제를 해결하려면 추가 개행 문자를 보낼 수 있습니다.

map  <F5> :silent !tmux send-keys -t 0:0 $'\e'$'\n'"python"$'\n'<CR>

관련 정보