【问题标题】:Put hl-line last in the stack of Emacs backgrounds将 hl-line 最后放在 Emacs 背景堆栈中
【发布时间】:2016-10-27 13:36:29
【问题描述】:

我们如何配置(或修复?)hl-line,使其背景突出显示在堆栈中最后(或第一个?)。

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

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

【问题讨论】:

    标签: emacs colors background highlight highlighting


    【解决方案1】:

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

    (您甚至可以使用负数,但未记录 - 请参阅 Emacs bug #16192。您可以使用具有主要优先级和次要优先级的 cons 单元格 - 请参阅错误 #17234。)

    但是,叠加突出显示始终优先于文本属性突出显示。因此,您不能使叠加显示在某些文本属性突出显示“下方”。

    【讨论】:

    • 然后我被卡住了,因为我的主要用例是 Org TODO 关键字,以及通过 Mx highlight-symbol-at-point 突出显示的单词,而且两者似乎都是文本属性......无论如何谢谢为您解答。
    • 似乎一种解决方法可能是使用文本属性编写的 hl-line 包?甚至还不够?
    • 符号高亮见this answer:只需在库highlight.el中使用命令hlt-highlight-symbol,而不是highlight-symbol-at-point
    • 谢谢。但是,在我看来,真正的补丁是修复 hl-line。否则,必须替换或修补所有其他包,作为突出显示符号的东西。但是其他的需要修补:TODO 关键字的组织模式,每个带有背景的语言关键字的 prog 模式,等等。
    • 欢迎您向 Emacs 提交错误报告,请求您想要的:M-x report-emacs-bug,作为增强请求或错误修复,如果您认为存在错误。如果您在错误报告中附上补丁,那就更好了。
    猜你喜欢
    • 2011-05-28
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2014-03-04
    • 2011-02-08
    相关资源
    最近更新 更多