69

我在 Ubuntu(目前是 Hardy Heron)上使用 Emacs 进行编程,我喜欢 Emacs GUI 中的默认文本颜色。但是,在终端中运行 Emacs 时,默认的文本颜色是不同的且花哨的。

如何使终端中的颜色与 GUI 中的颜色相匹配?

4

5 回答 5

121

您不必拘泥于终端默认的 16 种(或更少)颜色。现代终端将支持 256 种颜色(这将使您非常接近您的 GUI 外观)。

不幸的是,让您的终端支持 256 色是一个棘手的部分,并且因术语而异。这个页面帮了我很多(但它已经过时了;我肯定已经在 gnome-terminal 和 xfce4-terminal 中获得了 256 种颜色;但您可能必须从源代码构建它们。)

一旦您的终端愉快地使用 256 种颜色,神奇的调用就是在您调用 emacs 之前将您的终端类型设置为“xterm-256color”,例如:

env TERM=xterm-256color emacs -nw

或者,您可以在.bashrc文件中设置 TERM:

export TERM=xterm-256color

你可以通过做来检查它是否在 emacs 中工作M-x list-colors-display,它将显示 16 种或全部 256 种绚丽的颜色。

如果可行,请按照color-theme其他人的建议进行查看。

(你可能会在某个时候感到沮丧;上帝知道我每次尝试做类似的事情时都会这样做。但坚持下去;这是值得的。)

于 2008-09-15T16:46:13.777 回答
2

我不确定这是否可能,因为 GUI 可能比终端具有更多功能(是的,我最近看到的 GUI 终端只有 16 种颜色)。这可能取决于终端的设置方式。无论如何,我会玩Color Theme

无论如何,你为什么在终端和 GUI 中都使用 Emacs?一般来说,人们会发现其中一种很有吸引力,并且只使用那个。如果您正在远程使用 Emacs,也许您想在本地运行它并使用Tramp远程打开文件,或者以 root 身份。

于 2008-09-15T15:33:35.417 回答
0

我能够与 emacs 26 非常接近。

我按照 Emacs 常见问题解答让 24 位颜色工作: https ://www.gnu.org/software/emacs/manual/html_mono/efaq.html#Colors-on-a-TTY

然后我更改了 xterm-standard-colors 变量:

(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)))
  )

(我没有更改“明亮*”颜色,因为我不使用它们,而且它们似乎list-colors-display在 X11 emacs 中不可用,无论如何)

通过这两个更改,X11 和终端之间的颜色对我来说看起来几乎相同。

于 2020-03-10T15:01:28.043 回答
0

响应有点晚,但我遇到了黑色背景显示为灰色的问题。我通过玩调色板来修复它。

编辑 > 配置文件首选项 > 颜色 > 调色板

于 2016-12-04T23:30:41.180 回答
-1

我认为这是不可能的。使用终端,您通常会绑定到一些预定义的颜色(使用诸如 gnome-terminal 之类的东西,您可以调整这些颜色——但您仍然受限于预定义的、有限数量的颜色)。

于 2008-09-15T15:30:55.657 回答