有没有办法在Emacs中定义一个面部(例如高亮显示hl-line
),这样它只会改变背景颜色(并让Emacs使用前景色,就像单词没有突出显示一样)。 / p>
更具体地说,我在tango-dark
主题上尝试了以下内容
(custom-set-faces
'(region ((t (:inherit nil :background "RoyalBlue4"))))
'(highlight ((t (:inherit region :background "dark olive green"))))
'(hl-line ((t (:inherit highlight)))))
并且,如下所示,区域突出显示确实尊重前景字体(即它只更改背景颜色):
但当前行的突出显示不是:
为什么呢?如何使用hl-line
获得相同的效果?
这似乎是tango-dark
主题(Emacs的内置主题)中的一个错误。该代码适用于默认主题(使用emacs -Q
加载)。我在官方邮件列表上发布了这个。
答案 0 :(得分:7)
前段时间我一直在努力,这似乎是色彩主题的一个错误。
然而,我已经想出了一个解决方法。这对我有用:(load-theme 'tango-dark t)
(set-face-attribute 'highlight nil :foreground 'unspecified)
答案 1 :(得分:0)
我遇到了类似的问题:
(add-hook 'after-make-frame-functions
(lambda (frame)
(select-frame frame)
(when (display-graphic-p frame)
(custom-set-faces '(region ((t (:inherit nil :background "RoyalBlue4")))))
)