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-Space
tmux는 <prefix> Space
.
실제로 Vim 키맵과 함께 사용할 수 ^[[32;2u
있도록 이스케이프 시퀀스를 보내도록 iTerm을 구성했습니다 . 이 설정을 활성화한 후 ⇧ShiftSpace명령줄에 <prefix> S-Space
tmux를 입력하여 콘텐츠를 삽입하세요.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, control및 alt(또는 meta)을 사용하여 다른 이스케이프 시퀀스를 생성합니다.
tmux
이러한 xterm
키를 "알고" 있습니다(그리고 해당 키를 사용할 수 있도록 설정할 수 있는 모드도 있습니다). 그렇지 않고(설정되지 않은 경우) 키 xterm-keys
가 알려진 특수 키(기능 키, 커서 키 및 및 와 같은 편집 키)HomeEndtmux
screen
키가 이러한 범주 중 하나에 속하지 않으면 tmux
무시됩니다(폐기됨).
따라서... 를 사용하려면 예상되는 이스케이프 시퀀스 중 하나 shiftspace를 보내고 tmux
해당 사전 정의된 함수에 따라 바인딩해야 합니다.
추가 자료: