Gnome 터미널에서 VT100 커서 이동 코드 오류가 발생합니다.

Gnome 터미널에서 VT100 커서 이동 코드 오류가 발생합니다.

Gnome 터미널에서 ansi 이스케이프 문제가 발생했습니다. 원인은 무엇이며 이러한 문제를 해결하는 방법은 무엇입니까? 문제를 잘 설명할 수 없어서 스크린샷으로 보여드리겠습니다. 터미널에서 줄을 편집하거나 Vim에서 줄을 변경할 때 부분 ansi 이스케이프 시퀀스처럼 보이는 것이 나타납니다. 아래 이미지에서 파란색으로 강조 표시된 영역입니다. 이러한 내용은 없어야 하지만 올바른 색상의 텍스트여야 합니다.

여기에 이미지 설명을 입력하세요.

답변1

이것은 아마도 텍스트 커서의 모양을 변경하려는 플러그인일 것입니다. 이 기능은 tmux에서도 다음과 같이 사용됩니다.xterm+tmux터미널 설명의 구성 요소입니다. 애플리케이션이 다음 DECSCUSR과 같은 제어 시퀀스를 보내고 있습니다.XTerm 제어 순서:

CSI Ps SP q
          Set cursor style (DECSCUSR, VT520).
            Ps = 0  -> blinking block.
            Ps = 1  -> blinking block (default).
            Ps = 2  -> steady block.
            Ps = 3  -> blinking underline.
            Ps = 4  -> steady underline.
            Ps = 5  -> blinking bar (xterm).
            Ps = 6  -> steady bar (xterm).

스크린샷에 있는 내용은 여기에 나열된 6내용을 참조할 수 있습니다 6. 이 내용이 추가되었습니다.패치 #282(2012/09/28), 언급한 바와 같이xterm특징.

tmux 2.1의 소스 코드를 참조하면 컴파일된 기본 설정 값이 있습니다 terminal-override.

    { .name = "terminal-overrides",
      .type = OPTIONS_TABLE_STRING,     
      .default_str = "xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007"
                     ":Cs=\\E]12;%p1%s\\007:Cr=\\E]112\\007"
                     ":Ss=\\E[%p1%d q:Se=\\E[2 q,screen*:XT"
    },

논평:

  • 이는 XT중복되어야 합니다(ncurses 데이터베이스가 이를 갖기 때문입니다). screen매뉴얼 페이지에 어느 정도 정의되어 있습니다 .
  • Ms문자열은 선택 데이터와 관련이 있습니다(원할 수도 있지만 다른 터미널에서 올바르게 지원될 가능성은 희박합니다).
  • 다른 것들은 커서 모양에 사용됩니다.

빠른 확인을 위해 다음 terminal-overrides에서 tmux.conf커서 기능을 설정하고 생략할 수 있습니다.

terminal-overrides xterm*:XT:,screen*:XT

관련 정보