tmux와 함께 Byobu를 사용할 때 Vim에서 Ctrl+화살표 키를 사용할 때 문제가 발생합니다.

tmux와 함께 Byobu를 사용할 때 Vim에서 Ctrl+화살표 키를 사용할 때 문제가 발생합니다.

Vim에서는 단어를 건너뛰도록 Ctrl+화살표 키를 설정했습니다. gnome 터미널 내에서 Vim을 실행할 때는 제대로 작동합니다.

그러나 사용시화면(tmux) 이상한 동작을 보여줍니다. 커서 뒤의 모든 항목을 삭제합니다.

참고로 내 vim 설정은 다음과 같습니다.

:inoremap <C-Left> <C-\><C-O>b
:inoremap <C-Right> <C-\><C-O>w

답변1

문제는 두 가지입니다. 첫째, tmux제어 화살표 키는 기본적으로 한 유형의 이스케이프 시퀀스에서 다른 유형으로 변환됩니다. 따라서 다음과 같은 특수 키는 controlleft수정자 없이 전송됩니다. 다양한 이스케이프 시퀀스를 자주 보면 다음과 같은 내용을 볼 수 있습니다.vimleftcat -v

^[OD

이와 반대로(tmux 외부):

^[[1;5D

set-window-option -g xterm-keys on

이 부분을 수정했습니다. 다른 부분은 tmux기본적으로 사용되는 터미널 설명 입니다 screen. 터미널 설명에 없음설명하다화살표 키를 제어합니다. 터미널 데이터베이스의 다음 항목은 VTE(gnome-terminal)에 가장 적합합니다.

다음과 같은 것들이 있습니다.

screen해당 TERM외부 항목이 자동 으로 선택되지 vte않으면 런타임 시 자동으로 선택되며 해당 구성 파일을 수정해야 합니다.vte-256colortmux

screen그런데 .no conflict를 방해할 수 있는 "screen.xterm" 항목이 없습니다 TERM=xterm-new.

기본(최소) 터미널 데이터베이스가 있는 경우(예:ncurses-base데비안에서는 이것이 없을 수도 있습니다. 더 일반적으로xterm-256color, vim 및 tmux와 함께 사용할 수 있을 만큼 가깝습니다.

예를 들어, 이것을 파일에 추가하면 .tmux.confvim에서 예상한 대로 작동합니다.

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

추가 자료:

답변2

여기에서byobu에서 키 조합을 바인딩 해제할 수 있습니다.

파일을 생성합니다 ~/.byobu/.tmux.conf(존재하는 경우 추가).

set-window-option -g xterm-keys on

그런 다음 다음을 추가하십시오 ~/.byobu/keybindings.tmux.

unbind-key -n C-Left
unbind-key -n C-Right

관련 정보