2014-09-30 31 views
4

我在Ubuntu 14.04.1下使用Emacs 24.3。我想通過GTK接口和Gnome終端使用它,其中emacs -nw。不幸的是,我使用的任何主題的顏色在終端中都略有不同。爲什麼Gnome終端中的Emacs語法突出顯示受終端顏色主題的影響?

我已經設置好了,這樣在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 vs terminal comparison

在左邊是Emacs的GTK,其中正確顯示主題顏色。在右側是emacs -nw在Gnome終端中運行,其中所有顏色與主題指定的顏色略有不同。我用這張照片的主題只是一個例子,這發生在任何主題。我的完整config is on Github

我怎樣才能Emacs在不刪除終端調色板我的定製顯示在GNOME終端正確的主題顏色?

+0

哈!我甚至無法讓我的_font_在窗口和終端中顯示相同的內容。你應該數你的祝福。 :) – dg99 2015-01-15 19:47:19

+0

@ dg99我只用一樣的東西:P – detly 2015-01-16 01:28:29

回答

4

幾個問題:

1)我相信,當你定製了「終端顏色」,它們重疊的256色調色板的第16項的顏色。因此,如果emacs告訴終端使用0-15號顏色,它們會以您設置的顏色出現在您的終端首選項中。它似乎沒有具體影響你,但很好意識到。

2)對於剩餘的256種顏色,我相信只有256個(也許241,如果你的終端重新着色前16)的顏色,你may choose from

除非你選擇你的GTK主題顏色精確匹配colours that are available in the 256 palette,讓他們有相同的不會是可能的。看起來你的emacs在自己選擇256個最接近的可用顏色方面做得相當不錯。

如果你想看到我在行動中談到,嘗試下載並運行一個腳本,如本show-all-256-colors.py script並在終端上運行它。我會打賭,當你改變你的終端顏色,你會看到條目000015相應地改變,而其餘的顏色總是相同的。哈哈!

+0

我正在考慮用「常規」配色方案創建一個新的終端配置文件,專門用於emacs。但是如果我理解了第一點,這可能無濟於事。經過反思,256色調色板將無法顯示用三字節'#XXYYZZ'方案表示的全部可能顏色。 – detly 2015-01-15 07:34:18