2016-06-24 18 views
2

)我们如何配置(或修复?)hl-line,使其背景高亮显示在堆栈中最后(或第一个?)。将hl行放在Emacs背景堆栈的最后(

也就是说:如果hl线突出显示一行,其中一些单词已经具有背景色,则hl-line不应该用自己的背景颜色覆盖该背景色。

它应该在后面,让其他背景颜色可见。

回答

1

如果您使用库hl-line+.el(另请参阅highlight current line),那么您可以设置hl-line使用的覆盖层的优先级。要做你想做的事,你可以减少低于其他叠加层使用的数量。

(你甚至可以使用一个负数,但毕竟是无证 - 见的Emacs bug #16192你也可以使用一个cons单元与主优先级和次优先级 - 见错误#17234

但是,重叠突出显示总是优先于文本属性突出显示。所以你不能让叠加看起来像是在某些文本属性高亮下面。

+0

我被卡住了,因为我的主要使用案例是针对组织TODO关键字以及通过M-x突出显示的单词突出显示的符号,并且这两个词似乎都是文本属性......感谢您的回答。 – user3341592

+0

似乎解决方法可能是用文本属性编写的hl行包?甚至还不够? – user3341592

+0

有关符号突出显示,请参见[本答案](http://emacs.stackexchange.com/a/23965/105):只需在库[**'highlight中使用命令**'hlt-highlight-symbol' **。 el' **](https://www.emacswiki.org/emacs/download/highlight.el),而不是'highlight-symbol-at-point'。 – Drew