2014-09-03 58 views
1

由于xterm仅支持16种颜色,当您在xterm中运行emacs时,它会自动将由各种语法着色模式定义的无数颜色映射到16种终端颜色之一。这是我想要在emacs GUI上的行为。使emacs gui只使用终端颜色

有没有办法让emacs gui相信只有16种终端颜色可用?

另外,我可以在emacs gui中禁用鼠标支持吗?我想要的是gui的行为与xterm中的emacs完全相同。

预先感谢您!如果你想知道我为什么要这么做:在xterm中运行emacs近15年后,我确信这就是最适合我的方式。 但是,我的新雇主迫使我在Windows工作站上工作,现在我因为我没有设法使用ecg来运行cygwin的emacs,我已经花了很多时间试图让emacs gui在xterm中像emacs一样运行,但是我仍然太多的颜色)。

+2

我不知道答案,但这里有几个其他选项需要考虑:在xterm中使用Cygwin本机Emacs,而不是使用NTEmacs。在你的Windows机器上托管一个小的(非桌面的)Linux VM,并在其中运行Emacs(使用Cygwin的X服务器作为本地显示;这是我自己的开发环境,它很好用)。 – phils 2014-09-03 12:05:55

+0

您可以将'defined-colors'函数的定义看作是开始试验的地方(我不知道这是否*实际*相关,但似乎值得注意)。 – phils 2014-09-03 12:09:33

+0

emacs-nw也可以在Windows上运行,并且确实只支持16种颜色(大多数xterms最近将支持256或更多)。但是,像xterm一样,Windows上的emacs-nw也会支持鼠标。 – JSON 2014-09-04 03:42:18

回答

2

你最好的机会可能是只使用颜色主题,只是使用16种颜色的所有面孔。例如Solarized主题即使在GUI Emacs中也只使用大约16种颜色。尽管如此,它仍然使用粗体和斜体字体,偶尔(并且很少)使用一些较亮的颜色变体来强调文本,这对您来说可能已经太多了。

您也可以编译16个颜色的个人设置,并自定义Emacs的面部以仅使用这些颜色。

+2

同时查看Base16和“明天”主题:https://github.com/chriskempson/base16 – sanityinc 2014-09-03 14:00:37