如何使用单个命令归档所有DONE任务

时间:2011-08-09 14:01:42

标签: org-mode

归档正在使用的DONE任务

C-c C-x a

命令。退回是我必须逐个手动移动DONE任务然后归档。

如何使用单个命令归档所有DONE任务。

5 个答案:

答案 0 :(得分:51)

您可以在日程视图中批量存档(或重新安装/更改待办事项等)。

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

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

C-c a < t
N r

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

然后,您只需要标记所有想要的标题和批量存档

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

答案 1 :(得分:34)

这是madalu片段的更正版本。请注意,此版本仅对当前子树进行操作(更改&#39;树返回&#39;文件以对整个文件进行操作)。

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

答案 2 :(得分:31)

您可以使用org-map-entries编写函数:

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

答案 3 :(得分:4)

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

  

C-u C-c C-x C-s

     

检查当前标题的任何直接子项是否可以移动到存档中。为此,检查每个子树是否有打开的TODO条目。如果未找到,则命令提供将其移动到存档位置。如果在调用此命令时光标不在标题上,则将检查级别1树。

答案 4 :(得分:1)

如果要在源Org缓冲区中执行此操作(而不是在Org议程视图中),并且如果它们彼此跟随,则可以在区域中选择所有这些,并应用命令(例如Cc Ct d)。

仅需设置:

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