在议程视图中匹配属性

时间:2012-04-05 18:15:20

标签: emacs org-mode

我想收集并创建一个包含标题的块,标题只在标题中有“ID”属性。

即要过滤的标题看起来像

* Headline 
   :PROPERTIES:
   :ID: my-id
   :END:

我使用以下代码配置无效的自定义议程命令

(setq org-agenda-custom-commands
           '(("c" "MY Agenda"
          ((tags "ID")))))

我已阅读组织手册http://orgmode.org/manual/Matching-tags-and-properties.html#Matching-tags-and-properties,但仍无法弄清楚如何操作。

1 个答案:

答案 0 :(得分:6)

您的代码要求它查找标题上标有:ID:标记的所有标题。要查找属性,您必须使用属性匹配功能,该功能在链接的手册页上略低一些。

由于我假设您需要它来匹配任何ID而不仅仅是特定ID,您必须通过匹配(=)或不匹配(<>)来使用正则表达式匹配大括号后面的正则表达式。

要匹配您的ID属性,您需要regexp为ID={.+}。如果您使用.*作为匹配项,那么它也会匹配标题而没有任何ID属性。如果您想要匹配一些具有共同点的ID,可以调整正则表达式以匹配它们。

所以你的自定义议程命令必须是:

(setq org-agenda-custom-commands
           '(("c" "MY Agenda"
          ((tags "ID={.+}")))))