其他分享
首页 > 其他分享> > Vim和Tmux开启True-Color支持

Vim和Tmux开启True-Color支持

作者:互联网

为什么需要开启True-Color支持

当为Vim编辑器安装一些主题时,有的主题是需要启用True-Color支持才能正常显示使用!

验证终端的色彩支持

真彩色的支持是需要终端的支持的,常用的终端(如:iterm2)都已经支持,Xshell6(Build0181)之后版本也支持;

方式1:在终端里执行 24-bit-color.sh 脚本,如果支持真彩色,则显示如下:

否则则类似下图:

方式2:在终端里执行以下脚本

awk 'BEGIN{
    s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
    for (colnum = 0; colnum<77; colnum++) {
        r = 255-(colnum*255/76);
        g = (colnum*510/76);
        b = (colnum*255/76);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum+1,1);
    }
    printf "\n";
}'

如果检查终端不支持真彩色,那只能更换一个支持的终端客户端软件,继续后续的教程!

如何开启True-Color支持

想要真正的多色彩支持,需要:

配置终端支持
echo $TERM #查看当前终端类型,term/linx...
tput colors #查看当前终端色彩,8,256...

终端支持256:/etc/profile.d/bn-xterm-color.sh
if [[ -e /usr/share/terminfo/x/xterm-256color || -e /lib/terminfo/x/xterm-256color ]]; then
    export TERM='xterm-256color'
else 
    export TERM='xterm-color'
fi
配置Tmux支持

tmux > 2.2 后开始支持真彩色。在 .tmux.conf 中添加如下内容:

set -g default-terminal screen-256color
set-option -ga terminal-overrides ",*256col*:Tc" # 这句是关键

重新开启 tmux 即可。注意要先退出所有正在运行的 tmux 后再重开 tmux。

配置Vim支持

vim >= 7.4.1770 及 neovim >= 0.2.2 都支持真彩色,但需要少许配置。在 .vimrc 中加入:


set t_Co=256  #vim支持256:

if has("termguicolors")
    " fix bug for vim
    set t_8f=^[[38;2;%lu;%lu;%lum
    set t_8b=^[[48;2;%lu;%lu;%lum

    " enable true color
    set termguicolors
endif

其中 termguicolors 用来开启真彩色,前面两行用来解决 vim 的 BUG (neovim 不需要),其中 ^[ 是代表 ESC 键,需要在 vim 中按 Ctrl-v ESC 来输入。

标签:set,Tmux,Color,xterm,真彩色,支持,Vim,终端,vim
来源: https://www.cnblogs.com/Beavan/p/16563136.html