Emacs 仅为字体锁定关键字中的关键字指定新背景色

Emacs 仅为字体锁定关键字中的关键字指定新背景色,emacs,emacs-faces,Emacs,Emacs Faces,我希望用特定的背景色突出显示代码的某些部分,但我希望其余的代码突出显示保持不变。也就是说,关键字仍应作为关键字通过字体锁定突出显示,只应更改其背景 目前,我正在使用字体锁定添加关键字进行操作,其中regexp匹配我想要突出显示的任何内容,并在每个匹配中预先添加一个定义如下的面: (:background "#d1eaff") 但是,当它添加此面时,它不会保留前面的属性(如前景色),而只是将默认面与此背景色一起使用 有没有办法让它使用当前的面,只使用新的面替换它们的背景色?是否向现有面添加新属性

我希望用特定的背景色突出显示代码的某些部分,但我希望其余的代码突出显示保持不变。也就是说,关键字仍应作为关键字通过字体锁定突出显示,只应更改其背景

目前,我正在使用字体锁定添加关键字进行操作,其中regexp匹配我想要突出显示的任何内容,并在每个匹配中预先添加一个定义如下的面:

(:background "#d1eaff")
但是,当它添加此面时,它不会保留前面的属性(如前景色),而只是将默认面与此背景色一起使用


有没有办法让它使用当前的面,只使用新的面替换它们的背景色?是否向现有面添加新属性?

您要查找的是覆盖层

以下代码段将在当前缓冲区中的字符1到3上添加面
编译错误

(overlay-put (make-overlay 1 4)
             'face 'compilation-error)

您可以将regexp搜索的结果或用于确定覆盖边界的任何内容替换为数字。

能否详细说明如何使用覆盖?答案应该是独立的。