tmux 설정
Pi는 tmux 내부에서 작동하지만 tmux는 기본적으로 특정 키에서 수정자 정보를 제거합니다. 구성하지 않으면 Shift+Enter 및 Ctrl+Enter는 일반적으로 일반 Enter와 구별할 수 없습니다.
권장 구성
~/.tmux.conf에 추가:
set -g extended-keys on
set -g extended-keys-format csi-u그런 다음 tmux를 완전히 다시 시작하세요.
tmux kill-server
tmuxPi 키티 키보드 프로토콜을 사용할 수 없을 때 자동으로 확장 키 보고를 요청합니다. extended-keys-format csi-u를 사용하면 tmux는 가장 안정적인 구성인 CSI-u 형식으로 수정된 키를 전달합니다. extended-keys-format 옵션을 사용하려면 tmux 3.5 이상이 필요합니다.
csi-u이 권장되는 이유
다음만 포함:
set -g extended-keys ontmux의 기본값은 extended-keys-format xterm입니다. 애플리케이션이 확장 키 보고를 요청하면 수정된 키는 다음과 같은 xterm modifyOtherKeys 형식으로 전달됩니다.
Ctrl+C→\x1b[27;5;99~Ctrl+D→\x1b[27;5;100~Ctrl+Enter→\x1b[27;5;13~
extended-keys-format csi-u를 사용하면 동일한 키가 다음과 같이 전달됩니다.
Ctrl+C→\x1b[99;5uCtrl+D→\x1b[100;5uCtrl+Enter→\x1b[13;5u
Pi는 두 가지 형식을 모두 지원하지만 csi-u가 권장되는 tmux 설정입니다.
이로 인해 해결되는 사항
tmux 확장 키가 없으면 수정된 Enter 키가 레거시 시퀀스로 축소됩니다.
| 열쇠 | 확장키 없이 | csi-u로 |
|---|---|---|
| 입력하다 | \r |
\r |
| Shift+Enter | \r |
\x1b[13;2u |
| Ctrl+Enter | \r |
\x1b[13;5u |
| Alt/Option+Enter | \x1b\r |
\x1b[13;3u |
이는 기본 키 바인딩(제출의 경우 Enter, 개행의 경우 Shift+Enter)과 수정된 Enter를 사용하는 모든 사용자 지정 키 바인딩에 영향을 미칩니다.
요구사항
- tmux
extended-keys-format csi-u의 경우 3.5 이상(확인하려면tmux -V을 실행하세요) - 확장 키를 지원하는 터미널 에뮬레이터(Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)
tmux 3.2~3.4에서는 extended-keys-format csi-u를 생략합니다. Pi는 여전히 tmux의 기본 xterm modifyOtherKeys 형식을 지원합니다.