7

hl-line有没有办法在Emacs中定义一个面(例如突出显示,如

更具体地说,我在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)。我在官方错误邮件列表上发布了这个。

4

2 回答 2

8

前段时间我为此苦苦挣扎,这似乎是颜色主题的错误。

不过,我想出了一个解决方法。这对我有用:

(load-theme 'tango-dark t)
(set-face-attribute 'highlight nil :foreground 'unspecified)
于 2013-04-01T15:14:48.977 回答
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")))))
     )
于 2021-05-18T17:03:52.303 回答