【问题标题】:Why is Emacs syntax highlighting in Gnome terminal affected by terminal colour theming?为什么 Gnome 终端中的 Emacs 语法突出显示受终端颜色主题的影响?
【发布时间】:2014-09-30 12:08:56
【问题描述】:

我在 Ubuntu 14.04.1 下使用 Emacs 24.3。我想通过 GTK 界面和带有emacs -nw 的 Gnome 终端来使用它。不幸的是,我使用的任何主题的颜色在终端中都略有不同。

我已经在 Gnome 终端 TERM=xterm-256color 下进行了设置。然而,我也自定义了我的终端颜色——“黑色”实际上是#151515,“红色”是#DA4939,等等。Emacs 似乎接近为每个主题显示正确的颜色,但从来都不是完全正确的。我使用的主题是deftheme风格的主题。

我不明白为什么自定义终端颜色会影响这一点——使用TERM=xterm-256color,Emacs 应该可以访问比通常的 16 种颜色更大的调色板。在list-colors-display的输出中,black被列为#000000但显示为#151515;但是,有一个color-16 也被列为#000000 并正确显示。所以Emacs确实可以显示#000000

左边是 Emacs GTK,它正确显示了主题颜色。右侧是在 Gnome 终端中运行的emacs -nw,其中所有颜色都与主题指定的颜色略有不同。我用于这张图片的主题只是一个例子;任何主题都会发生这种情况。我的完整版config is on Github

如何让 Emacs 在 Gnome 终端中显示正确的主题颜色而不删除我对终端调色板的自定义?

【问题讨论】:

  • 哈!我什至无法让我的 font 在窗口和终端中显示相同的内容。你应该数一数你的祝福。 :)
  • @dg99 我对所有东西都使用同一个:P

标签: terminal syntax-highlighting emacs24


【解决方案1】:

几个问题:

1) 我相信当您自定义“终端颜色”时,它们会与 256 色调色板的前 16 个颜色条目重叠。因此,如果 emacs 告诉终端使用颜色 0-15,它们将显示为您在终端首选项中实际设置的颜色。它似乎对您没有特别的影响,但最好注意一下。

2) 对于剩下的 256 种颜色,我相信只有 256 种颜色(如果您的终端重新着色前 16 种颜色,可能是 241 种颜色)may choose from

除非您选择您的 GTK 主题颜色以完全匹配 colours that are available in the 256 palette,否则让它们完全相同是不可能的。看起来您的 emacs 在自行选择最接近 256 的可用颜色方面做得很好。

如果您想实际了解我所说的内容,请尝试下载并运行诸如 show-all-256-colors.py script 之类的脚本,然后在您的终端中运行它。我敢打赌,当您更改终端颜色时,您会看到 000015 的条目相应更改,而其余颜色始终相同。

【讨论】:

  • 我正在考虑使用“正常”配色方案创建一个新的终端配置文件,专门用于 emacs。但是,如果我正确理解第 1 点,这可能无济于事。经过反思,256 色调色板无法显示用三个八位字节 #XXYYZZ 方案表达的全部可能颜色是有道理的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2015-05-08
  • 1970-01-01
  • 2021-10-16
  • 2011-05-03
  • 2020-10-12
  • 1970-01-01
相关资源
最近更新 更多