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

그러나 byobu (tmux)를 사용하면 이상한 동작이 나타납니다. 커서 뒤에있는 모든 것을 삭제합니다.

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

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


  • 답변 # 1

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

    ^[OD
    
    

    이것 (tmux 외부) :

    ^[[1;5D
    
    

    라인

    set-window-option -g xterm-keys on
    
    

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

    screen.vte

    screen.vte-256color

    와 같은 다른 것들이 있습니다

    screen.xterm-new

    screen.xterm-256color

    screen 에서 실행할 때 자동으로 선택되는

     해당 TERM 경우  외부는 vte 였다 vte-256colortmux  이 자동 선택을 수행하지 않습니다. 구성 파일을 수정해야합니다.

    그런데 "screen.xterm"항목은 screen 의 일부 사용법을 방해하기 때문에 존재하지 않습니다. . TERM=xterm-new 와 충돌이 없습니다 .

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

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

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

    추가 정보 :

    XTERM 확장 (터미널 데이터베이스)

    vim : 화살표 키를 지정하는 방법

    키보드가 보내는 내용을 어떻게 알 수 있습니까?

  • 답변 # 2

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

    파일 ~/.byobu/.tmux.conf 만들기  with (또는 파일이있는 경우 추가) :

    set-window-option -g xterm-keys on
    
    
    그런 다음 ~/.byobu/keybindings.tmux 에 다음을 추가하십시오. :

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

  • 이전 bash - KANNEL을 통해 특수 문자 및 줄 바꾸기
  • 다음 security - SSH 포트가 특정 IP 주소에만 열려 있는지 확인하는 방법은 무엇입니까?