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).
*/