我在 Ubuntu 上使用 Emacs 编程(目前是 Hardy Heron) ,我喜欢 Emacs GUI 中的默认文本着色。但是,当 Emacs 在终端中运行时,默认的文本着色是不同的,而且花哨。
如何使终端中的颜色与 GUI 中的颜色相匹配?
我不认为这是可能的,在这样一个一般的方式。使用终端时,您通常会绑定到一些预定义的颜色(使用 gnome-Terminal 时,您可以调整这些颜色——但是仍然会绑定到预定义的、有限数量的颜色)。
我不确定这是否可行,因为 GUI 可能比终端有更多的功能(是的,我最近看到 GUI 终端只有16种颜色)。这可能取决于如何设置终端。无论如何,我都会使用 色彩主题。
不管怎样,为什么在终端和 GUI 中都使用 Emacs?一般来说,人们发现其中之一或其他吸引力,只使用那一个。如果远程使用 Emacs,可能需要在本地运行它,并使用 荡妇远程打开文件,或者作为 root 用户。
你不必坚持使用终端默认的16种(或更少)颜色。现代终端将支持256种颜色(这将让你非常接近你的 GUI 外观)。
不幸的是,让你的终端支持256种颜色是棘手的部分,而且不同的期限。这一页帮了我很大的忙(但是 是已经过时了; 我已经在 gnome-Terminal 和 xfce4-Terminal 中使用了256种颜色; 但是你可能需要从源代码开始构建它们)
一旦你的终端使用了256种颜色,神奇的调用就会在你调用 emacs 之前将你的终端类型设置为“ xterm-256 color”,例如:
env TERM=xterm-256color emacs -nw
或者,您可以在 .bashrc文件中设置 TERM:
.bashrc
export TERM=xterm-256color
你可以检查它是否工作在 emacs 做 M-x list-colors-display,这将显示你要么16,或所有256辉煌的颜色。
M-x list-colors-display
如果有效,那么按照其他人的建议查看 color-theme。
color-theme
(你可能在某些时候会感到沮丧; 上帝知道我每次尝试做类似的事情时都会这样。但是坚持下去,这是值得的。)
回复有点晚,但我的问题是黑色背景显示为灰色。我用调色板把它修好了。
编辑 > 配置文件首选项 > 颜色 > 调色板
我已经很接近 Emacs 26了。
我按照 Emacs 常见问题解答(FAQ)获得了24位颜色的工作原理: Https://www.gnu.org/software/emacs/manual/html_mono/efaq.html#colors-on-a-tty
然后我改变了 xterm-standard-color 变量:
(set 'xterm-standard-colors '(("black" 0 ( 0 0 0)) ("red" 1 (255 0 0)) ("green" 2 ( 0 255 0)) ("yellow" 3 (255 255 0)) ("blue" 4 ( 0 0 255)) ("magenta" 5 (255 0 255)) ("cyan" 6 ( 0 255 255)) ("white" 7 (255 255 255)) ("brightblack" 8 (127 127 127)) ("brightred" 9 (255 0 0)) ("brightgreen" 10 ( 0 255 0)) ("brightyellow" 11 (255 255 0)) ("brightblue" 12 (92 92 255)) ("brightmagenta" 13 (255 0 255)) ("brightcyan" 14 ( 0 255 255)) ("brightwhite" 15 (255 255 255))) )
(我没有改变“明亮 *”的颜色,因为我不使用它们,而且它们似乎在 X11 emacs 的 list-colors-display中不可用,无论如何)
list-colors-display
这两个变化,颜色看起来几乎相同之间的 X11和终端为我。