更改 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 中,当我双击“查找结果”中的一行时,如何更改/禁用行高亮颜色?