根据终端在.screenrc中的支持,无法设置颜色

时间:2009-05-29 21:58:29

标签: colors terminal gnu-screen

我想在 .screenrc 中为以下代码设置一个if-else循环,以便在我的终端支持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循环?

3 个答案:

答案 0 :(得分:2)

这应该已经由terminfo数据库文件设置。在我的情况下,我的默认终端是xterm。它使用8种颜色,使用

反映在vi中

:设置termcap

命令检查设置为8的t_Co项目。如果我将终端改为另一种终端类型,如使用256种颜色的gnome-256color,那么vi将显示t_Co等于256.我不知道你为什么需要尝试在.vimrc文件中设置它。

答案 1 :(得分:1)

如果你有可用的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

答案 2 :(得分:0)

我的伪代码尝试.screenrc

[ -e t_Co(256) ] . ColorFile

同样的英文

If 256 color support, then source ColorFile.