如何使用单个命令将所有完成的任务归档

归档我正在使用的DONE任务

Cc Cx a 

命令。 退后一步,我必须手动移动完成的任务,然后将其归档。

如何使用单个命令将所有完成的任务归档。

你可以使用org-map-entries编写一个函数:

 (defun my-org-archive-done-tasks () (interactive) (org-map-entries 'org-archive-subtree "/DONE" 'file)) 

您可以在“议程”视图内批量归档(或重写/更改待办事项等)。

http://orgmode.org/manual/Agenda-commands.html#Agenda-commands

如果您从要caching的缓冲区内调用Org-Agenda,则可以暂时将其限制为仅缓冲区并仅查看待办事项条目并仅筛选完成

 Cc a < t N r 

其中N对应于DONE状态的快捷方式(默认状态为2)

那么你只需要标记所有需要的标题和批量归档

 m (mark for bulk action) B a (or B $ for arch->sibling) 

这是一个修正版的madalu的片段。 请注意,此版本也只对当前的子树进行操作(将“树回到”文件以对整个文件进行操作)。

 (defun org-archive-done-tasks () (interactive) (org-map-entries (lambda () (org-archive-subtree) (setq org-map-continue-from (outline-previous-heading))) "/DONE" 'tree)) 

如果您想在源组织缓冲区(而不是在组织议程视图)中执行此操作,并且如果它们正在相互跟随,则可以在区域中select所有这些操作,并应用命令(如Cc Ct d )。

只需设置:

 ;; Some commands act upon headlines in the active region. (setq org-loop-over-headlines-in-active-region 'start-level) 

同样来自http://orgmode.org/manual/Moving-subtrees.html#Moving-subtrees

Cu Cc Cx Cs

检查当前标题的任何直接的孩子是否可以转移到档案。 要做到这一点,每个子树检查打开TODO条目。 如果没有find,命令提供将其移动到归档位置。 如果在调用此命令时光标不在标题上,则会检查一级树。