如何在终端模式下应用 Emacs 自定义颜色主题?

13

当我通过 M-x load-theme 或 M-x customize-theme 加载自定义配色方案时,结果似乎只在 Emacs 运行在单独窗口时应用:

Emacs in GUI

但是当 Emacs 在终端中运行时,似乎会使用默认颜色:

Emacs in terminal
(来源:raghav at www.ocf.berkeley.edu)

我对 Emacs 不太了解,所以不知道这是否是预期行为,但看起来并不是,因为搜索引擎返回的结果显示很多人在控制台模式下使用色彩主题。非常感谢您的帮助。


3
您的环境中TERM的值是多少?我遇到过类似的问题,我在.bash_profile文件中执行了"export TERM=xterm-256color"命令进行修复。bzg的回答中提供的链接也涉及到了这一点。您尝试过这种方法吗? - jmq
谢谢,这很有趣——这样做确实会在选择不同的主题时产生变化。不幸的是,这导致颜色严重偏差。我怀疑这可能是因为该主题使用了标准256色调色板中没有的颜色;它旨在供那些重新定义了16种标准颜色以适应颜色主题的人使用(就像我一样)。 - Raghav
3个回答

9

我很晚才来,但我也遇到了同样的问题,我通过将以下行添加到我的~/.zshrc文件中解决了它

export TERM=xterm-256color

如果您没有使用zsh(例如您正在使用bash),则必须将其添加到您的右侧控制台初始化文件中(例如~ / .bashrc)。


4

我不认为问题与我的终端颜色调色板的限制有关--首先,Emacs 24的任何一个颜色主题都没有在终端中生效,另外,旧的color-theme软件包确实可以工作。 - Raghav

-1
在~/.Xresources中使用以下内容似乎可以消除导出TERM=xterm-256color后出现的蓝色背景:
emacs*Background: #002b36
emacs*Foreground: #839496

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接