更改 emacs 中的高亮线颜色

Posted

技术标签:

【中文标题】更改 emacs 中的高亮线颜色【英文标题】:Changing highlight line color in emacs 【发布时间】:2013-07-16 02:40:45 【问题描述】:

我安装了 emacs 24 并安装了 prelude,我想将主题从 zenburn 更改为 tango-dark。但是该行突出显示的颜色是黄色,我不喜欢这样。我希望它像 zenburn 中的灰色。

我该怎么办?我不想关闭 hl 行,但是当我尝试这样做时,我看到括号 () 之间的空格以相同的黄色突出显示。 (在没有发生的zenburn主题中)。我也知道这不是探戈主题的一部分,因为当我使用探戈主题运行 vanilla emacs(sudo emacs) 时,不会发生这种突出显示。

【问题讨论】:

【参考方案1】:

如果您自定义初始化文件(~/.emacs~/.emacs.el~/.emacs.d/init.el),这将是一个简单的解决方法

开启 hl-line:

(global-hl-line-mode 1)

设置任意颜色作为当前行的背景面:

(set-face-background 'hl-line "#3e4446")

在当前行保持语法高亮:

(set-face-foreground 'highlight nil)

【讨论】:

这是不行的。我也在使用明天主题(github.com/chriskempson/tomorrow-theme),所以这可能会产生影响。在任何情况下,您描述的方法都不起作用。 @dimitko 至少应该在 Emacs 24 中工作,前提是您将它​​们放在正确的位置 - 这些可能已被您的其他配置或已安装的软件包覆盖。 是的。我想指出这一点,但还不够清楚。解决它的方法当然是在加载/激活您的主题后移动您的自定义,这在我的配置中不是这种情况。 我认为 keep-syntax-hilighting 命令应该是(set-face-foreground 'hl-line nil)。是不是打错字了?【参考方案2】:

M-x customize-face RET hl-line 会帮助你。只需选择您喜欢的面孔(您可以在安装其他主题的情况下键入相同的命令,以查看您喜欢的值)。

【讨论】:

谢谢,这解决了第一个问题,但我仍然在第三张图片中遇到问题(括号之间的黄色突出显示。我该如何禁用它? 我猜你正在使用show-paren-mode,并且你将show-paren-style设置为expression。使用 M-x customize-variable 和 show-paren-style 并将其设置为 parenthesis (或者如果您不喜欢它,请禁用该模式)。但我可能错了,可能还有另一种模式在起作用...... M-x describe-face 将帮助查看用于突出显示特定角色的面孔。 @BozhidarBatsov:谢谢,那是 smartparens.el(已修复)。我怎样才能让它保持语法突出显示?(见我以前的评论) @Farzan,你需要做的是customize-face hl-line 然后设置那张脸的背景色,而不是前景色。换句话说,唯一“勾选”的复选框应该是背景。这样前景色将被“尊重”(即不设置为白色)。

以上是关于更改 emacs 中的高亮线颜色的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 中,当我双击“查找结果”中的一行时,如何更改/禁用行高亮颜色?

如何更改emacs上的光标颜色

JavaFX - RichTextFX - 如何更改高亮文本颜色

根据主要模式更改 Emacs Mode-Line 颜色

更改vim高亮括号匹配颜色

如何更改 Python 文档字符串的 Emacs 字体?