Xterm设置256色

命令行模式下,vim/fish等软件的主题需要终端支持256色,但xterm默认只支持8位色。因此有些主题会显得很丑陋。

首先,我们检查当前终端的颜色位数

$ tput colors
8

如果输出为8,那就是8位色。这种情况下vim主题的显示是有问题的。

有两种方法修改Xterm-256colors

  1. 修改.bashrc
if \[ "$TERM" == "xterm" \]; then 
    export TERM=xterm-256color
fi

更好一点的是预先检查xterm-256color是否存在

if [ -e /usr/lib/terminfo/x/xterm-256color]; then
    export TERM='xterm-256color'
else
    export TERM='xterm-color'
fi
  1. 修改Xterm的配置文件

Xterm的配置文件是~/.Xresouces或者~/.Xdefaults

因为我自己对于xterm有很多自定义的设置,因此在Xterm的配置文件中,将下述两行加入

UXTerm*termName: xterm-256color
XTerm*termName:  xterm-256color

然后执行

xrdb ~/.Xresources

将更改生效,然后执行

$ tput colors
256
$ echo $TERM
xterm-256color 

现在xterm已经默认使用256色,可以完美呈现vim的主题。

也可以在.vimrc中指明使用256色

set t_Co=256

参考链接