tmux와 함께 Byobu를 사용할 때 Vim에서 Ctrl + 화살표 키 사용시 문제


12

Vim에서는 Ctrl + 화살표 키를 설정하여 단어를 건너 뛰었습니다. 그놈 터미널 내부에서 Vim을 실행할 때 제대로 작동합니다.

사용하는 경우에는, byobu (TMUX을), 그것은 이상한 행동을 보여줍니다이 커서 후 모든 것을 삭제합니다.

참고로, 이것은 내 vim 설정입니다.

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

답변:


7

문제는 두 가지입니다. 먼저, tmux기본적으로 제어 화살표 키를 한 유형의 이스케이프 시퀀스에서 다른 이스케이프 시퀀스로 변환합니다. 따라서 특수 키 는 수정 자없이 controlleft전송됩니다 ( vim예 :) left. cat -v다른 이스케이프 시퀀스를 보는 데 사용 하면 다음과 같이 보일 수 있습니다.

^[OD

대 (tmux 외부) :

^[[1;5D

라인

set-window-option -g xterm-keys on

그 측면을 수정합니다. 다른 부분은 tmux기본적으로에 대한 터미널 설명을 사용한다는 것입니다 screen. 즉, 단말은 설명하지 않는다 설명 제어 화살표 키. 터미널 데이터베이스의 다음 항목은 VTE (gnome-terminal)에 가장 적합합니다.

같은 다른 사람이 있습니다

실행되는 경우 자동으로 선택 될 screen대응하는 경우 TERM외부이었던 vte, vte-256colortmux이 자동으로 선택하지 않는다; 구성 파일을 수정해야합니다.

그건 그렇고, "screen.xterm"항목은의 일부 사용을 방해하기 때문에 없습니다 screen. 와 충돌이 없습니다 TERM=xterm-new.

ncurses-base데비안에서 와 같이 기본 (최소) 터미널 데이터베이스가 있다면 그것들이 없을 수도 있습니다. xterm-256colorvim 및 tmux와 함께 사용하기에 더 가까운 것이 더 일반적입니다 .

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

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

더 읽을 거리 :


흠 ... 이것은 작동합니다 :) 그러나 부분적으로 만. Control+ 만 Left작동합니다. Control+ Right하지 않습니다. 나중에 테스트하고 업데이트하겠습니다.
shivams 2016 년

1
control + right를 방해하는 다른 바인딩이있을 수 있습니다 (자세한 내용은 조언을 제공 할 수 있음).
Thomas Dickey

제안에 감사드립니다 :) 조금 조사한 결과 실제로 다른 키 바인딩이 간섭을 일으키는 것으로 나타났습니다. 예를 들어 내 Mac에서는 이것이 잘 작동하지만 Linux (Guake 사용)에서는 그렇지 않습니다. 그러나 나는 역외에 있고 내 리눅스에 액세스 할 수 없습니다. 문제를 해결하면 업데이트하겠습니다.
shivams

@Thomam Dickey : 그동안 문제를 해결하는 것처럼 귀하의 답변을 받아들이고 있습니다.
shivams

@ThomasDickey 저는 아일랜드어로 "천만 가지면 좋을 것"이라고 번역 된 "Go raibh míle maith agat"라고 말하고 싶습니다. 이 답변에 감사드립니다. 당신은 스타입니다.
Rob

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

작동하지 않습니다. 그러나 그것은 나에게 확실한 리드를 주었다. 나는 리드를 따르고 해결책을 제시하려고 노력할 것이다. 감사합니다 :)
shivams
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.