emacs - 更改 Emacs 中的文本外观 : overlays work, 文本属性不会

标签 emacs overlays

我今天一直在 Emacs 中试验文本属性。如果我将光标定位在带有一些文本的行上,然后使用 M-: 执行以下代码,该行以粗体重新显示。

(overlay-put
 (make-overlay
  (line-beginning-position)
  (line-end-position))
 'face 'bold)

但是,如果我用 (remove-overlays) 清除覆盖层并执行以下代码,没有任何 react (除了“nil”一词出现在迷你缓冲区中)。
(put-text-property
 (line-beginning-position)
 (line-end-position)
 'face 'bold)

从我目前收集到的信息来看,我希望这两个片段应该产生相同的视觉效果。他们为什么不呢?

最佳答案

font-lock-mode开启,face属性将被覆盖。试试 font-lock-face反而:

(放置文本属性
(行开始位置)
(行结束位置)
'font-lock-face '粗体)

关于emacs - 更改 Emacs 中的文本外观 : overlays work, 文本属性不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242269/

相关文章:

emacs - 如何在 emacs 中的缓冲区之间复制整行?

emacs - Elisp:在 Let 中绑定(bind)一个 lambda 并执行它

macos - 如何在 Emacs 中访问 OSX 服务/键盘快捷键

Android - 自定义列表(覆盖列表中某些位置的元素)

google-maps - 谷歌地图自定义叠加位置移动

bitmap - DICOM和DICOM叠加问题

Emacs 打印边距栏

Emacs X11 自动完成(智能感知)

docker - 如何在不增加存储空间的情况下复制具有overlayfs目录结构的数据*原样*的/var/lib/docker

c - 我如何在 Linux 上覆盖根文件系统?