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 支持
查看终端类型和配色
Copy
echo $TERM #查看当前终端类型,term/linx... tput colors #默认的配色是8位的,无法支持主题显示
设置终端为256色
Copy
# 根据配色文件设置终端类型 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色
Copy
# 编辑 ~/.vimrc 配置文件,增加配置项: set t_Co=256 #t_Co即terminal Color

开启True-Color支持#

开启True-Color支持需要同时满足:

  • 模拟终端 支持
  • VIm 支持
  • Tmux 支持(如果使用)
验证终端True-Color支持

真彩色的支持是需要终端的支持的,常用的终端(如:iterm2)都已经支持。
如果检查终端不支持真彩色,那只能更换一个支持的终端客户端软件,继续后续的教程!

验证方式:

Copy
# 终端里执行以下脚本 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"; }'

如果支持真彩色,则应该显示如下图所示的连续色彩变化的图像,否则应该就是不支持:

另外一种验证方式:

Copy
# 终端里执行脚本 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 中加入:

Copy
" 配色方案 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)。

Copy
# 设置tmux支持256-color set -g default-terminal screen-256color set-option -ga terminal-overrides ",*256col*:Tc" #这句是关键
posted @   Beavan  阅读(2780)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示
CONTENTS