tmux가 ctrl-shift-화살표 시퀀스를 올바르게 전달하지 않습니다.

tmux가 ctrl-shift-화살표 시퀀스를 올바르게 전달하지 않습니다.

Tmux가 ctrl-shift-화살표 시퀀스를 올바르게 전달하지 않습니다. Emacs에서는 작동하지 않습니다. 사용할 때 sed -n l전체 시퀀스 대신 화살표 키의 이스케이프 시퀀스만 표시되는 것을 확인했습니다.

예를 들어 ctrl-shift-right는 (tmux 외부) ^[[C가 아닌 (오른쪽 키와 동일한 이스케이프 시퀀스) 로 전달됩니다 ^[OC.

이 문제를 해결하는 방법을 아시나요? Ctrl-화살표 키(Shift 없음)와 Shift-화살표 키(Ctrl 없음)는 올바르게 전달됩니다.

내 .tmux.conf는 다음과 같습니다.

# Changes prefix from Ctrl-b to Alt-a
unbind C-b
set -g prefix M-a

set-option -g default-terminal "xterm-256color"




# choosing windows with Alt-#
bind -n M-0 select-window -t 0
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9


setw -g monitor-activity on
set -g visual-activity on

set-window-option -g window-status-current-bg white

set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on


# Toggle mouse on
bind m \
    set -g mode-mouse on \;\
    set -g mouse-resize-pane on \;\
    set -g mouse-select-pane on \;\
    set -g mouse-select-window on \;\
    display 'Mouse: ON'

# Toggle mouse off
bind M \
    set -g mode-mouse off \;\
    set -g mouse-resize-pane off \;\
    set -g mouse-select-pane off \;\
    set -g mouse-select-window off \;\
    display 'Mouse: OFF'

# disable selecting panes with mouse (because enabling mess with copy-paste)
set-option -g mouse-select-pane off


# display status bar message for 4 sec
set-option -g display-time 4000


# Start windows and panes at 1, not 0
set -g base-index 1
set -g pane-base-index 1


# enable shift-arrow keys
set-window-option -g xterm-keys on

# start default shell
set-option -g default-shell $SHELL

# support for escape char for vi
set -s escape-time 0

답변1

tmux귀하의 예에 맞는 일인 것 같습니다 .

예를 들어 ctrl-shift-right는 (tmux 외부) ^[[C가 아닌 (오른쪽 키와 동일한 이스케이프 시퀀스) 로 전달됩니다 ^[OC.

이 시퀀스의 일반적인 의미는 호스트에서 보낸 커서 이동과 동일하다는 것입니다. ㅏ매개변수가 누락된 매개변수와 동일합니다.하나.

터미널이 인식되지 않습니다. xterm이 작업을 수행하지 마세요. 의 경우 을(를 controlshiftright-arrow) xterm보낼 수 있습니다 ^[[1;6C. 이 경우 tmux전송된 이스케이프 시퀀스는 인식되는 알려진 xterm 스타일 키 테이블에 없기 때문에 흡수됩니다. 의 tmux파일에는 xterm-keys.c설명이 포함된 테이블이 포함되어 있습니다.

/*                                                     
 * xterm-style function keys append one of the following values before the last
 * character:
 *
 * 2 Shift
 * 3 Alt
 * 4 Shift + Alt                               
 * 5 Ctrl
 * 6 Shift + Ctrl
 * 7 Alt + Ctrl
 * 8 Shift + Alt + Ctrl
 *
 * Rather than parsing them, just match against a table.
 *
 * There are three forms for F1-F4 (\\033O_P and \\033O1;_P and \\033[1;_P).
 * We accept any but always output the latter (it comes first in the table).
 */

관련 정보