Emacs 组织日程中的字体锁定不起作用
我有一个包含以下内容的组织文件:Emacs 组织日程中的字体锁定不起作用,emacs,elisp,org-mode,font-lock,Emacs,Elisp,Org Mode,Font Lock,我有一个包含以下内容的组织文件: * My Heading ** TODO Make a FOO ** TODO Take action on bar and FOO ** TODO Check if FOO is working 我的目标是突出显示组织议程模式下任务标题中的FOO一词。为了实现这一点,我尝试了: (添加hook'组织议程模式hook (lambda() (字体锁定添加关键字无) “((“\\(FOO\\)”1'(:背景“红色”;);));) 但一切都没有改变。我的hook正
* My Heading
** TODO Make a FOO
** TODO Take action on bar and FOO
** TODO Check if FOO is working
我的目标是突出显示组织议程模式下任务标题中的FOO
一词。为了实现这一点,我尝试了:
(添加hook'组织议程模式hook
(lambda()
(字体锁定添加关键字无)
“((“\\(FOO\\)”1'(:背景“红色”;);));)
但一切都没有改变。我的hook正在运行,如果我在议程视图中尝试C-hv字体锁定关键字
,则返回的值为
(t
((“\\(FOO\\)”1
(:背景“红色”))
(“\\(FOO\)”
(1
(:背景“红色”))
除了两次展示同一个项目外,我不明白这为什么不起作用。是否忽略字体锁定模式设置?如果是这样,我如何将“自定义”关键字hightlight添加到组织议程模式
编辑:
M-xemacs版本
isgnuemacs 24.4.1(i686-pc-mingw32)
M-x组织版本
是org模式版本8.2.10
我没有时间尝试理解您的代码中的错误,但您可以查看我的Emacs-Leuven.el文件(L976-1015):我对单词“FIXME”、“XXX”和“BUG”也这样做
正如@lawlist建议的那样,*Org-Agenda*
缓冲区不使用字体锁定模式
。要在“议程”视图中实现我想要的目标,最简单的方法是按照以下建议使用:
注意我正在使用的钩子:每次我重新绘制议程缓冲区时,这个钩子都会再次运行。*Org-agenda*
缓冲区使用文本属性
而不使用字体锁定。在该特定缓冲区中是否启用了字体锁定模式e、 例如,M-x描述变量RET字体锁定模式RET
@lawlist Touché<代码>字体锁定模式
已禁用。多亏了你的提示,我找到了答案。根据@lawlist的评论,问题是org-agenda
没有使用font-lock模式。我错过了你需要它列入议程的事实。谢谢你纠正我。谢谢你的回答。这有助于我突出显示组织议程中的一些字符串。只是提醒一下:现在挂钩名称已更改为Org Agenda finalize hook
,请在上面提供的代码中对此进行修改。
(defface my-hi-lock-face '((t (:background "red"
:foreground "yellow"
:bold t)))
"my-hi-lock-face")
(add-hook 'org-finalize-agenda-hook
(lambda ()
(highlight-regexp "\\(FOO\\)" "my-hi-lock-face")))