Vim"学徒" colorscheme背景在Mac上的iTerm看起来太亮了

时间:2015-11-04 06:53:17

标签: vim colors

我试图在iTerm 2.1.4中运行Vim的Mac上使用Apprentice colorscheme。

我的TERM设置为xterm-256color。然而,colorscheme并不像网站所说的那样。特别是,该网站的图像显示了我的确切配置应该是什么背景颜色

enter image description here

但我的看起来像这样:

enter image description here

背景颜色的差异很明显且太亮。我查看hi Normal只是为了确保背景设置正确,看起来似乎是这样。将图像放在Photoshop中,我的背景颜色不是#262626,因为它应该是#333333。

非常有趣的是,如果我在Terminal.app中运行Vim,背景颜色会很好。所以我认为这是一个iTerm问题。

关于可能出错的任何指示?

1 个答案:

答案 0 :(得分:4)

我是学徒的作者。我也使用iTerm,我也必须每天都面对这个问题。

这是iTerm中的色彩空间问题,会影响每个“256color”colorscheme。

Apprentice中用于“256color”终端的颜色取自the semi-standard xterm palette,它将索引235(背景颜色)映射到十六进制值#262626rgb(38, 38, 38)

正如您已经注意到的,iTerm将该颜色转换为明显更亮的#333233(或rgb(50,51,50))。它实际上与其他颜色执行相同的转换,但由于样本大小(较大的平坦区域与几个消除锯齿的像素)而不太明显。

在用于另一个颜色空间设备RGB

之前,颜色是在一个颜色空间 Generic RGB 中定义的。

Generic RGB --> #262626 = rgb(38,38,38)
(conversion)
Device RGB  --> #333233 = rgb(50,51,50)

非常哑,并且... AFAIK无法强制终端仿真器使用一个空间而不是另一个空间。

在colorscheme级别有一个“简单”的解决方法,即使用不同的值转换为iTerm所需的。我很长时间没有这样做,但是这个问题显然影响了其他人,所以我别无选择,只能把它放在我的TODO名单上。

你可以open an issue吗?

---编辑---

我只是推动了一个看似有效的解决方案。请试一试,让我知道它对你有用。

---已结束---