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

67 emacs ubuntu colors

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

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

小智 115

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

不幸的是,让你的终端支持256种颜色是棘手的部分,并且因期限而异.这个页面帮了我很多东西(但是它已经过时了;我确实在gnome-terminal和xfce4-terminal中使用了256种颜色;但你可能需要从源代码构建它们.)

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

env TERM=xterm-256color emacs -nw
Run Code Online (Sandbox Code Playgroud)

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

export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)

您可以通过执行操作检查它是否在emacs中工作M-x list-colors-display,它将显示16种颜色或全部256种颜色.

如果它有效,那么看看color-theme就像别人建议的那样.

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

  • 这很棒,我在我的.profile中添加了"export TERM = xterm-256color",所以我不需要每次都运行它. (2认同)
  • 如果有人在Mac OS X上的iTerm窗口中搜索运行`emacs -nw`的解决方案时来到这里,请注意您可以告诉iTerm将终端类型报告为`xterm-256color`.转到首选项➜配置文件➜终端并设置"报告终端类型"字段. (2认同)

HD.*_*HD. -1

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