我在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,它正确显示主题颜色。右边是emacs -nw
在Gnome终端中运行,其中所有颜色与主题指定的颜色略有不同。我用过这张照片的主题只是一个例子;任何主题都会发生这种情况我的全部config is on Github。
如何让Emacs在Gnome终端中显示正确的主题颜色而不删除终端调色板的自定义?
答案 0 :(得分:4)
几个问题:
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之类的脚本并在终端中运行它。我会下注,当您更改终端颜色时,您会看到条目000
到015
相应地更改,而其余颜色始终相同。