.screenrc에서의 터미널의 지원에 따라 불가능한 세트 색상
-
06-09-2019 - |
문제
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.
제휴하지 않습니다 StackOverflow