Vim和Tmux开启256-Color和True-Color支持
为什么需要开启256-Color和True-Color支持#
当为Vim编辑器安装一些主题时,有的主题是需要启用256-Color和True-Color支持才能正常显示使用!
- 256-color又名8-bit color,最大支持2的8次方种颜色!
- true-color又名24-bit color,最大支持2的24次方种颜色!
开启256-Color支持#
开启256-Color支持需要同时满足:
- 终端 支持
- VIm 支持
查看终端类型和配色
echo $TERM #查看当前终端类型,term/linx...
tput colors #默认的配色是8位的,无法支持主题显示
设置终端为256色
# 根据配色文件设置终端类型
cat > /etc/profile.d/bn-xterm-color.sh <<EOF
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
EOF
# 如果没有xterm-256color文件先进行安装:apt install ncurses-base
# 重新加载设置
source /etc/profile
# 验证终端配色
tput colors
设置Vim启用256色
# 编辑 ~/.vimrc 配置文件,增加配置项:
set t_Co=256 #t_Co即terminal Color
开启True-Color支持#
开启True-Color支持需要同时满足:
- 模拟终端 支持
- VIm 支持
- Tmux 支持(如果使用)
验证终端True-Color支持
真彩色的支持是需要终端的支持的,常用的终端(如:iterm2)都已经支持。
如果检查终端不支持真彩色,那只能更换一个支持的终端客户端软件,继续后续的教程!
验证方式:
# 终端里执行以下脚本
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";
}'
如果支持真彩色,则应该显示如下图所示的连续色彩变化的图像,否则应该就是不支持:
另外一种验证方式:
# 终端里执行脚本
curl -fL https://raw.githubusercontent.com/Beavan/tools/master/sh/24-bit-color.sh |bash
Xshell开启True-Color支持
Xshell6(Build0181)之后版本是支持True-Color的,但之前的版本不支持!
依次点击:"工具" -> "选项" -> "高级",在子选项卡有如下图一个配置:
选择"使用本色"复选框,确定保存,然后重启xshell即可;
设置Vim启用True-Color
vim >= 7.4.1770 及 neovim >= 0.2.2 都支持真彩色,但需要少许配置,在 .vimrc 中加入:
" 配色方案
set t_Co=256 " 设置Vim支持256色,上文已介绍过
" 开启True-Color,注意,不支持真彩色的终端将显示异常
if has("termguicolors")
" fix bug for vim
set t_8f=^[[38;2;%lu;%lu;%lum " 这里^[[38中的^[需要替换,使用ctrol+v然后按esc
set t_8b=^[[48;2;%lu;%lu;%lum " 这里^[[38中的^[需要替换,使用ctrol+v然后按esc
" enable true color
set termguicolors
endif
配置Tmux支持True-Color
如果习惯使用tmux进行会话管理,会发现在tmux中使用vim依然无法显示正常,这是因为tmux中模式没有开启256-Color/True-Color,
tmux > 2.2 版本支持真彩色,在 .tmux.conf 中添加如下内容,然后重新开启 tmux 即可(先退出所有正在运行的 tmux 后再重开 tmux)。
# 设置tmux支持256-color
set -g default-terminal screen-256color
set-option -ga terminal-overrides ",*256col*:Tc" #这句是关键
分类:
1.Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构