tmux 키 바인딩과 함께 Shift-Space를 사용할 수 있나요?

tmux 키 바인딩과 함께 Shift-Space를 사용할 수 있나요?

o나는 현재 tmux 창의 크기를 조정하고 Space인접한 창의 크기를 조정하기 위해 (접두사)를 사용했습니다 .

bind o      resize-pane -Z
bind Space  if-shell -F '#{window_zoomed_flag}' 'last-pane' 'select-pane -t :.+; resize-pane -Z'

Space대신에 and 를 사용하도록 변경하고 싶습니다 Shift-Space.

bind Space    resize-pane -Z
bind S-Space  if-shell -F '#{window_zoomed_flag}' 'last-pane' 'select-pane -t :.+; resize-pane -Z'

tmux 서버를 다시 시작하고 실행했습니다 tmux list-keys. 새 바인딩이 나열되고 첫 번째 바인딩이 예상대로 작동하지만 S-Space두 번째 바인딩을 위해 tmux로 전달하는 데 문제가 있습니다.

iTerm(저는 OSX를 사용하고 있습니다)과 기본 설정을 사용하면 수정자는 ⇧ShiftSpace무시되므로 를 ⇧Shift입력하면 <prefix> S-Spacetmux는 <prefix> Space.

실제로 Vim 키맵과 함께 사용할 수 ^[[32;2u있도록 이스케이프 시퀀스를 보내도록 iTerm을 구성했습니다 . 이 설정을 활성화한 후 ⇧ShiftSpace명령줄에 <prefix> S-Spacetmux를 입력하여 콘텐츠를 삽입하세요.32;2u

cat -v내부 tmux를 사용하여 디버깅을 시도합니다 .

^[[32;2u    # S-Space
32;2u       # <prefix> S-Space

tmux가 this 로 인식하는 다른 이스케이프 시퀀스가 ​​있습니까 S-Space, 아니면 작동하게 만드는 다른 방법이 있습니까?

tmux 설정에 대한 내용을 읽었 terminal-overrides지만 제어 시퀀스에만 작동하는 것 같습니다. C-a관련성이 있는 경우 이를 접두사 키로 사용하고 있습니다.

답변1

짧은: 없음

shiftlong: +는 키맵을 변경하지 않는 한 space전송됩니다 space.

다른 특수 키( ) 외에 키보드에서 전송한 문자를 수정 Enter하고 싶을 수도 있습니다 . shift이것은 아니다언제나사례. 여러분이 알고 있는 대부분의 내용은 다음을 기반으로 합니다.xterm, 예를 들어 shift, controlalt(또는 meta)을 사용하여 다른 이스케이프 시퀀스를 생성합니다.

tmux이러한 xterm키를 "알고" 있습니다(그리고 해당 키를 사용할 수 있도록 설정할 수 있는 모드도 있습니다). 그렇지 않고(설정되지 않은 경우) 키 xterm-keys가 알려진 특수 키(기능 키, 커서 키 및 및 와 같은 편집 키)HomeEndtmuxscreen

키가 이러한 범주 중 하나에 속하지 않으면 tmux무시됩니다(폐기됨).

따라서... 를 사용하려면 예상되는 이스케이프 시퀀스 중 하나 shiftspace를 보내고 tmux해당 사전 정의된 함수에 따라 바인딩해야 합니다.

추가 자료:

관련 정보