如何配置 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";
}'
如果支持,你会看到这样连续的彩虹条条。
要不然,彩虹就这样一块一块的。
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
结束
然后就没了。配好了。
博客园原文链接:https://www.cnblogs.com/QiFande/p/18907873,转载请注明。
如果你对本篇文章感兴趣,不如来看看肉丁土豆表的其他文章,说不定也有你喜欢的。