我在Ubuntu上用Emacs编程(Hardy Heron目前),我喜欢Emacs GUI中的默认文本着色。但是,在终端中运行Emacs时的默认文本着色是不同的,并且很花哨。
如何使终端中的颜色与GUI中的颜色相匹配?
答案 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之类的东西可以调整这些颜色 - 但是您仍然会使用预定义的有限数量的颜色)。