介绍
我的问题来自必须理解为什么我现在(经过多次试验)为何支持256种颜色的终端和tmux,并tput colors
告诉我它们只有8种。
背景
让我们从头开始。
我使用的是Ubuntu盒子,Guake,tmux,Vim,我喜欢主题Solarized。它们看起来非常糟糕,所以我决定启用256色支持并稍作调整。
让我们看看终端机发生了什么。tput colors
说有8种颜色。我个人将它们设置为紫色,在左侧,当然在右侧我们有2种不同的蓝色阴影。$TERM
说xterm
。(有颜色的ls
我eval
这个在我的.bashrc
。)
尽管在不支持256
256色的环境中我用标志将其称为Vim,但Vim看起来也不错。
set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
唯一抱怨色彩空间减少的人是tmux。调用会tmux
提供“错误的”预期结果。
但调用tmux
与-2
标志使一切都做工精细,神奇。
现在,我唯一可以确定的是,-2
等效的export TERM=screen-256color
(源)。
Guake的行为举止类似于Terminal,他们俩都回答xterm
了这个问题echo $TERM
。
题
基本上,有人知道即使一切都不起作用,为什么一切正常吗?
- 我是否在抱怨为什么事情会奏效?也许。
- 有更好的理由吗?当然:我想修复办公室中其他Ubuntu盒子的外观,并且我想了解为什么事情起作用或不起作用。
额外实验
在我的计算机上运行此脚本(稍作修改)xterm
可以得到以下结果:256色,但只有16种可以正确显示。
然后,更改终端的配置文件,这16种颜色也会更改。
以下是更多测试。
从左至右,从上到下,我们有Solarized色彩主题,dircolor
ansi-dark
并256dark
,然后默认(探戈)配色方案,dircolor
ansi-dark
和256dark
。
观察:从理论上讲dircolor
ansi-dark
,日光配色方案应与之紧密匹配dircolor
256dark
。对于列出的特定文件,这显然没有发生。相反,当工作目录中有文件夹,文本文件和符号链接时,就会发生这种情况。结论:在编码256dark
颜色时没有太多注意。
初步结论
xterm
不管怎么说,都支持256色tput colors
。程序可以参考ansi
调色板(可由用户自定义)或定义其颜色,从总共256种颜色中进行选择。
tput colors
是一个不可靠的测试。你能检查一下我的初步结论吗?
tput colors
它只能返回一个值,并且在支持2,8、16、88或256种颜色的终端中,仅返回第一个值(在您的情况下为8)。要获得真正的价值,请使用我上次评论中的脚本。那会返回什么?