Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to archive all the DONE tasks using a single command

Tags:

org-mode

To archive the DONE tasks i am using

C-c C-x a 

command. The draw back is i have to manually move over the DONE tasks one by one and then archive it.

How to archive all the DONE tasks using a single command.

like image 938
Talespin_Kit Avatar asked Aug 09 '11 14:08

Talespin_Kit


2 Answers

You can bulk archive (or refile/change todo etc) from within the Agenda view.

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

If you call Org-Agenda from within the buffer you want to archive you can temporarily restrict it to only that buffer and view only todo entries and filter for only DONE

C-c a < t N r 

Where N corresponds to the shortcut for your DONE state (with default states it would be 2)

Then you'd simply need to mark all the desired headlines and bulk archive

m (mark for bulk action) B a (or B $ for arch->sibling) 
like image 129
Jonathan Leech-Pepin Avatar answered Dec 08 '22 17:12

Jonathan Leech-Pepin


Here's a corrected version of madalu's snippet. Note that this version also only operates on the current subtree (change 'tree back to 'file to operate over the entire file).

(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)) 
like image 45
Stefan van der Walt Avatar answered Dec 08 '22 17:12

Stefan van der Walt



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!