黑白的世界总没有彩色的世界精彩,最初的Linux或其他系统的Shell终端肯定只有黑白的,之后逐渐出现了支持8色、16色、256色及真彩色的终端。目前主流的终端一般都支持256色,未来的趋势是支持24位真彩色。那如何判断当前使用的是哪种模式,以及如何更改设置呢?本文就以Ubuntu下Gnome-Terminal为例介绍一下设置方法,理论上应该适用于所有Linux终端。
终端类型及颜色支持
使用tput colors
命令即可查看当前终端支持几种颜色;
使用以下命令即可列出系统所支持的所有终端类型,以及他们支持的颜色位数:
1 | for T in `find /usr/share/terminfo -type f -printf '%f '`;do echo "$T `tput -T $T colors`";done|sort -nk2|tail -n20 |
示例输出如下:
1 | Eterm-88color 88 |
$TERM
变量代表当前终端类型,可使用echo $TERM
命令查看。
256色支持
运行以下命令,若输出了完整的256种颜色,就说明当前终端支持256色:
1 | (x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done) |
若只有前8种颜色,说明当前配置是8色模式,默认情况下,Ubuntu中的Gnome-Terminal就只开启了8色支持。此时可通过修改~/.bashrc
文件将其改为256色,在.bashrc
文件中加入以下代码即可:
1 | case "$TERM" in |
真彩色支持
很遗憾,Ubuntu下的终端目前尚没有支持真彩色的。可使用以下脚本代码进行检测:
1 | awk 'BEGIN{ |
如果支持真彩色的话,输出效果如下:
若不支持,是无法显示出连续的色彩的:
Vim中256色设置
要让Vim很好的支持256色需要在.vimrc
文件中进行下设置,添加以下代码:
1 | set t_Co=256 |
如果使用了配色主题插件,也要在插件设置进行类似的设置,以最流行的Solarized主题为例,需要加上以下设置:
1 | let g:solarized_termcolors=256 |