命令行模式下,vim/fish等软件的主题需要终端支持256色,但xterm默认只支持8位色。因此有些主题会显得很丑陋。
首先,我们检查当前终端的颜色位数
$ tput colors
8
如果输出为8,那就是8位色。这种情况下vim主题的显示是有问题的。
有两种方法修改Xterm-256colors
- 修改.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
- 修改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
参考链接
- vim-xshell-支持256颜色_宝宝大队长的博客-CSDN博客
-
[256 colors in vim Vim Tips Wiki Fandom](https://vim.fandom.com/wiki/256_colors_in_vim)