这是关于How to archive all the DONE tasks using a single command的跟进问题。
Stefan给出的解决方案非常适合单个DONE语句。如何扩展它以与多个DONE语句一起使用?
Stefan提供了以下解决方案:
(defun org-archive-done-tasks ()
(interactive)
(org-map-entries
(lambda ()
(org-archive-subtree)
(setq org-map-continue-from (org-element-property :begin (org-element-at-point))))
"/DONE" 'tree))
我有以下组织关键字:
(setq org-todo-keywords
'((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "PROJECT(p)" "|" "DONE(d)" "DELEGATED" "DEFERRED")))
目标是存档标记为DONE,DELEGATED或DEFERRED的所有任务。我已尝试按照说明here使用匹配项,但是无法使其正常工作。我尝试了例如:
MATCH = "/DONE|/DELEGATED|/DEFERRED"
我是elisp的新手,感谢您提出解释的解决方案。
答案 0 :(得分:0)
语法有点晦涩,但如果我正确阅读了链接到的页面,我认为(未经测试!)以下内容将起作用:
"/+DONE|+DELEGATED|+DEFERRED"
与该页面上的最后一个示例非常相似:选择条目的TODO属性(/)不是空(!),并且的TODO属性值为DONE或DELEGATED或推迟。