3

我想在.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 循环?

4

3 回答 3

2

这应该已经由 terminfo 数据库文件设置。就我而言,我的默认终端是 xterm。它使用 8 种颜色,通过使用

:设置术语上限

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

于 2009-06-03T03:11:06.890 回答
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
于 2009-06-13T04:03:19.330 回答
0

我对 .screenrc 的伪代码尝试

[ -e t_Co(256) ] . ColorFile

英文也一样

If 256 color support, then source ColorFile.
于 2009-05-31T01:16:43.167 回答