emacs 24 ansi-term 似乎忽略了主题颜色

Posted

技术标签:

【中文标题】emacs 24 ansi-term 似乎忽略了主题颜色【英文标题】:emacs 24 ansi-term seems to ignore theme colors 【发布时间】:2012-08-01 16:57:26 【问题描述】:

我已经使用 brew 从 OSX 上的 Emacs 23 升级到 Emacs 24。现在,我正在更新我的 .emacs 以使用来自 emacs 24 esp 的新内容。新的包管理器和内置的颜色主题。我从 marmalade 安装了 zenburn 主题(我认为),从我的扩展目录中删除了旧的颜色主题扩展,并删除了将旧的颜色主题扩展添加到加载路径的配置。

我注意到的一件事是 ansi-term 颜色不遵循颜色主题。在 emacs 23 中,我的 ansi-term 看起来像这样:

但现在它看起来像这样:

我检查了 ansi-color-names-vector 和 ansi-color-map。他们都报告了 zenburn 的颜色。切换主题仍然不会改变 ansi-term 颜色,所以我认为这不是特定于主题的问题。

有什么办法可以解决这个问题吗?

【问题讨论】:

我不明白你的问题。我在 emacs24 中使用颜色主题... 是与 emacs24 捆绑的颜色主题,还是外部的?我曾经使用外部颜色主题扩展。但是由于 emacs24 有一个捆绑的颜色主题,我删除了外部的并使用了捆绑的。除了 ansi-term 之外,每个主题都可以正常工作。它似乎忽略了主题颜色。 外部 -- download.savannah.gnu.org/releases/color-theme Xavier Maillard(发布经理)+ Brian Palmer 我也希望更新我的 .emacs,从颜色主题到内部颜色主题。如果你成功地进行了转换,你能告诉我你在此期间是怎么做的吗? 【参考方案1】:

变量ansi-term-color-vector 未在新版本的zenburn-theme 中设置。我提交了pull request 来修复它。

同时,只需使用以下行:

(setq ansi-term-color-vector [unspecified "#3f3f3f" "#cc9393" "#7f9f7f" "#f0dfaf" "#8cd0d3" "#dc8cc3" "#93e0e3" "#dcdccc"])

【讨论】:

不错!我还提交了一个关于这个问题的问题。我将在其中标记您的拉取请求。谢谢! 我是 zenburn 维护者,变量设置在这里 ;;; custom theme variables (custom-theme-set-variables 'zenburn `(ansi-color-names-vector [,zenburn-bg ,zenburn-red ,zenburn-green ,zenburn-yellow ,zenburn-blue ,zenburn-magenta ,zenburn-cyan ,zenburn-fg]) 不知道为什么这会被 ansi-term 忽略... 不是同一个变量。它们的名称非常相似,令人困惑。 谢谢,我在哪里可以找到ansi-term-color-vector 中每种颜色的说明?此外,此列表中是否有 缓冲区的背景颜色ansi-term 缓冲区中的背景 文本颜色 的颜色? 这只是一个颜色列表,每种颜色的作用由shell决定。它的顺序是:背景(文本)黑色红色绿色黄色蓝色洋红色青色和白色。缓冲区的背景由您的主题设置。【参考方案2】:

外部颜色主题无需配置即可正常工作。只需使用 color-theme-print 保存您的颜色主题,然后将其输出 FUNCTION 插入 .emacs 中,这个:

(and
 (eq window-system 'x)
 (color-theme-FUNCTION) )

【讨论】:

这是我在emacs24之前使用的。但现在,我正在使用这个主题github.com/bbatsov/zenburn-emacs 尝试在 emacs24 中内置的主题。也许我会暂时使用旧的颜色主题,因为我一直在使用 ansi-term。

以上是关于emacs 24 ansi-term 似乎忽略了主题颜色的主要内容,如果未能解决你的问题,请参考以下文章

emacs 去除 shell 中的所有 ansi 颜色代码

在新的 Emacs 24.3 中调整术语面

带有Elpy 1.7.50的Emacs 24无法识别Python项目

Emacs:默认帧列表设置被忽略

Emacs 24.4 正式发布!!!

如何修复 emacs 24 中的 javascript 模式更改?