如何使Emacs终端颜色与Emacs GUI颜色相同?

时间:2008-09-15 15:29:02

标签: emacs ubuntu colors

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

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

5 个答案:

答案 0 :(得分:112)

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

不幸的是,让您的终端支持256色是一个棘手的部分,并且因期限而异。 This page给了我很多帮助(但 已经过时了;我确实在gnome-terminal和xfce4-terminal中使用了256种颜色;但你可能需要从来源。)

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

env TERM=xterm-256color emacs -nw

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

export TERM=xterm-256color

你可以通过M-x list-colors-display检查它是否在emacs中有用,它会显示16种颜色或所有256种颜色。

如果有效,请像其他人建议的那样查看color-theme

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

答案 1 :(得分:2)

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

无论如何,你为什么要在终端和GUI中使用Emacs?一般来说,人们会发现一个或另一个吸引人,只使用那一个。如果您正在远程使用Emacs,可能要在本地运行它并使用Tramp远程打开文件,或以root身份打开文件。

答案 2 :(得分:0)

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

编辑>个人资料首选项>颜色>调色板

答案 3 :(得分: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)))
  )

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

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

答案 4 :(得分:-1)

我不认为这种方式是可行的。通过终端,您通常会使用一些预定义的颜色(使用gnome-terminal之类的东西可以调整这些颜色 - 但是您仍然会使用预定义的有限数量的颜色)。