terminfo 재정의를 통해 tmux에서 TrueColor 지원을 활성화할 수 없습니다.

terminfo 재정의를 통해 tmux에서 TrueColor 지원을 활성화할 수 없습니다.

dist: 아치 리눅스.

나는 AUR의 st 빌드와 공식 저장소의 tmux를 가지고 있습니다. 처음에는 termguicolors 옵션을 통해 마지막 Vim 버전에서 작동하는 좋은 TrueColor 지원을 만났습니다. 그러나 이것을 tmux로 가져오려고 했을 때 몇 가지 문제에 직면했습니다.

처음에는 출력이

tmux info | grep Tc

tmux 내부에서

197: Tc: [missing]

tmux 매뉴얼 페이지를 읽은 후 이 옵션이 tmux Tc로 가져와야 한다는 것을 알았습니다.

set-option -g terminal-overrides "st-256color:Tc"

내 터미널 에뮬레이터에서 다음을 반환합니다.

TERM=st-256color 

그러나 tmux info의 결과는 여전히 동일했습니다. 확인을 위해 xterm을 설치하고 동일한 조작을 시도했지만 다른 결과는 나오지 않았습니다. 결국 tmux는 터미널이 256색을 지원한다는 것을 인식하고 이를 통해 트루 컬러를 에뮬레이션합니다.

답변1

이 플래그를 제공하도록 터미널 설명 사본을 수정할 수 있습니다.

infocmp -x >foo
edit foo, adding "Tc," after the end of any line ending with a comma
tic -x foo

이는 ncurses(모든 Linux 배포판에 포함되어 있음)에 작동합니다.아마도NetBSD의 저주.

답변2

-a기존 터미널 기능을 재정의하는 대신 추가하려면 추가해야 합니다 .

set-option -ga terminal-overrides ",*256*:Tc"

이는 256색을 광고하는 모든 터미널에서 작동합니다.

set -g terminal-overrides구성 파일의 뒷부분에 다른 항목이 없는지 확인하십시오 .


vim경우 다음을 원할 수도 있습니다.

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

관련 정보