Для архивирования задач DONE я использую
C-c C-x a
команды. Обратный вывод - мне нужно вручную перемещать задачи DONE один за другим, а затем архивировать его.
Как архивировать все задачи DONE с помощью одной команды.
Для архивирования задач DONE я использую
C-c C-x a
команды. Обратный вывод - мне нужно вручную перемещать задачи DONE один за другим, а затем архивировать его.
Как архивировать все задачи DONE с помощью одной команды.
Вы можете написать функцию, используя org-map-entries:
(defun my-org-archive-done-tasks ()
(interactive)
(org-map-entries 'org-archive-subtree "/DONE" 'file))
Вы можете массировать архив (или переустанавливать/изменять todo и т.д.) из представления повестки дня.
http://orgmode.org/manual/Agenda-commands.html#Agenda-commands
Если вы вызываете Org-Agenda из буфера, который хотите архивировать, вы можете временно ограничить его только этим буфером и просмотреть только записи todo и фильтр только для DONE
C-c 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 (org-element-property :begin (org-element-at-point))))
"/DONE" 'tree))
Также из http://orgmode.org/manual/Moving-subtrees.html#Moving-subtrees
C-u C-c C-x C-s
Проверьте, могут ли какие-либо прямые дочерние элементы текущего заголовка быть перемещены в архив. Для этого каждое поддерево проверяется на наличие открытых записей TODO. Если ничего не найдено, команда предлагает переместить его в расположение архива. Если курсор не находится в заголовке, когда вызывается эта команда, будут проверены деревья уровня 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)