문제

IF-ELSE 루프를 사용하고 싶습니다 .Screenrc 내 터미널이 256 개의 색상을 지원하는 경우 실행되는 다음 코드의 경우. 그렇지 않으면 실행되지 않습니다.

attrcolor b ".I"
# tell screen how to set colors. AB = background, AF=foreground
termcapinfo xterm "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"
termcapinfo xterm-color "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"

.screenrc에서 if-else 루프를 어떻게 만들 수 있습니까?

도움이 되었습니까?

해결책

이것은 이미 TermInfo 데이터베이스 파일에 의해 설정되어야합니다. 제 경우에는 기본 터미널이 xterm입니다. 사용하여 VI에 반영되는 8 가지 색상을 사용합니다.

: termcap을 설정하십시오

8로 설정된 T_CO 항목을 검사하는 명령 명령 내에 터미널을 변경하면 256 색상을 사용하는 Gnome-256Color와 같은 다른 터미널 유형으로 변경하면 VI는 T_CO를 256과 동일하게 표시합니다. 왜 시도하고 시도 해야하는지 잘 모르겠습니다. .VIMRC 파일로 설정하십시오.

다른 팁

Bash를 사용할 수 있으면 이와 같은 것이 효과가 있다고 생각합니다.

#!/bin/bash
if [ "$TERM" = "xterm-256color" ]; then
    # do stuff for 256
else
    if [ "$TERM" = "xterm" ]; then
        # do stuff for 16
    else
        # do something else entirely
    fi
fi

.screenrc에 대한 의사 코드 시도

[ -e t_Co(256) ] . ColorFile

영어로 동일합니다

If 256 color support, then source ColorFile.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top