肉丁土豆园地

静谧编程花园 - The Secret Garden
如何配置 True Color 让 Vim 对眼睛更友好

最近在 Windows 的 WSL 下配 Vim 的新主题,遇到 Truecolor 问题,解决了,记录一下。

什么是 Truecolor

终端原来其实只能显示二百多个颜色。
但是现在有了 Truecolor ,就能正常用 rgb 搞出 \(256 \times 256 \times 256=16777216\) 种颜色。

具体看这篇文章

如何让 Vim 实现 Truecolor

这个问题其实是好多个问题。想要让 Vim 实现 Truecolor ,你必须要

  • 有支持 Truecolor 的终端
  • 如果运行在 tmux 之类的东西里,那 tmux 也得支持
  • 让 Vim 知道自己要以 Truecolor 模式显示
  • 最后,你装的是 Truecolor 主题

终端

首先,你的终端得支持。
如何测试是否支持呢?只要打开 bash ,把下面代码输进去。

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";
}'

如果支持,你会看到这样连续的彩虹条条。

img

要不然,彩虹就这样一块一块的。

img

Windows 的用户有福了,基本上你随便找一个终端都支持。
但是如果你是 mac 用户之类的,你得上网搜搜。

配置 tmux

在没打开 tmux 的情况下输入

echo $TERM

你能得到当前终端的类型,详见这篇文章
如果你是 Windows 系统,大概率得到的是 xterm-256color

如果你没配置过,在 tmux 里输入,应该是 tmux-256color 或者 screen 之类的。
所以我们要编辑 ~/.tmux.conf ,修改默认终端模式。

# 先试试这一行配置,说不定连斜体都解决了
set -g default-terminal "xterm-256color"

# 如果不行,而且 tmux 里的 $TERM == "screen" 之类
set -g default-terminal "screen-256color"

# 如果还没解决,这个是开启 Truecolor 的重点
set-option -ga terminal-overrides ",*256col*:Tc"

顺便,测试终端是否支持斜体的命令是

echo `tput sitm`italics`tput ritm`

之后还是用那个彩虹条条测试。

配置 Vim

~/.vimrc 加入这些内容。

" 不加这句话的话只支持 16 色
set t_Co=256

" 不加这句话的话不是 Truecolor
set termguicolors

结束

然后就没了。配好了。

posted on 2025-06-03 02:30  肉丁土豆表  阅读(40)  评论(0)    收藏  举报