Emacs多hl线面/更换线钩?
当我遇到一个问题时,我正在更新我的emacs(我使用doom btw)配置。我想为所有移动操作刷新当前行。我还希望在当前行上有一个恒定的效果。我可以做一个或另一个,但到目前为止,我找不到一种方法来做到这两个 目前,我有一个盒子围绕着我想要一直存在的线。我希望背景在任何移动时闪烁(例如线条变化、帧对焦)。我可以使用hl line+.el在线条移动时闪烁线条,但这似乎是为了增加hl线条的外观。它迫使我在恒定的线条高亮和移动时的线条高亮之间进行选择。我也可以使用nav闪存在更改缓冲区时进行闪存,但这不会对线路更改做出反应。是否有一个可以添加导航闪光的挂钩?是否有一种方法可以覆盖hl line+,以使用不同的面并允许该线也正常高亮显示?值得一提的是,以下是我当前的配置设置:Emacs多hl线面/更换线钩?,emacs,Emacs,当我遇到一个问题时,我正在更新我的emacs(我使用doom btw)配置。我想为所有移动操作刷新当前行。我还希望在当前行上有一个恒定的效果。我可以做一个或另一个,但到目前为止,我找不到一种方法来做到这两个 目前,我有一个盒子围绕着我想要一直存在的线。我希望背景在任何移动时闪烁(例如线条变化、帧对焦)。我可以使用hl line+.el在线条移动时闪烁线条,但这似乎是为了增加hl线条的外观。它迫使我在恒定的线条高亮和移动时的线条高亮之间进行选择。我也可以使用nav闪存在更改缓冲区时进行闪存,但这不
((hl-line &override)
:background bg
:box '(
:color "#fb7d32"
:line-width -1))
(nav-flash-face
:foreground bg
:background "#fb7d32")
任何建议都是非常感谢的,我会认为自己是一个中间的Emacs用户,所以我不怕写自己的函数和钩子,如果这就是这一点。无论如何,提前感谢您的帮助和建议
我在安装了doom的emacs 26.3上。
hl line flash
,来自just useshl line highlight
该函数只是重用现有的覆盖。该覆盖(由hl line make overlay
创建)使用变量hl line face
的值
您可以做的是用:环绕通知来通知hl-line flash
,以便它执行以下操作:
将hl线面
绑定到要使用其闪烁的面
删除现有覆盖(hl行覆盖
)
然后调用hl line highlight now的原始定义
毫无疑问,你也可以通过其他方式来做你想做的事情。一种方法是定义您自己的命令来代替hl line flash
,代码的作用与上述建议描述相同。只需在调用hl line highlight now
时执行此操作,以便该函数使用您想要的面进行闪烁