Для архивации задач 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))
Вы можете выполнить массовое архивирование (или повторно заархивировать/изменить задачи и т. д.) в представлении повестки дня.
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)
m
.
- person Sven Koschnicke; 21.01.2014
B $
для архива и B A
для архива -> одноуровневый.
- person Sven Koschnicke; 21.01.2014
org-agenda-todo-ignore-scheduled
, org-agenda-todo-ignore-deadline
или org-agenda-todo-ignore-with-date
(поскольку датированные элементы вообще не будут перечислены в буфере задач)
- person Daniel Dinnyes; 10.05.2015
N r
(где N — это состояние для перечисления), так как оно будет получать состояния готовности, они все равно не будут игнорироваться.
- person Jonathan Leech-Pepin; 11.05.2015
Bulk: [$]arch [A]rch->sib [t]odo [+/-]tag [s]chd [d]eadline [r]efile [S]catter [f]unction
в организации 9.1
- person azzamsa; 10.06.2018
*
вместо m
- person Robin Moffatt; 23.01.2020
Вот исправленная версия фрагмента 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))
'agenda
вместо 'file
, то она будет применяться ко всем зарегистрированным файлам повестки дня. Идеально!
- person Daniel Dinnyes; 10.05.2015
'tree
на 'agenda
. Однако, если я помечаю задачу как выполненную, ничего не происходит. Даже вызов функции не архивирует ее. Вы знаете, почему это могло произойти?
- person math; 12.10.2018
#+TODO: TODO(t) NEXT(n) | DONE(d)
.
- person Stefan van der Walt; 18.10.2018
/DONE
- person alper; 30.07.2020
Также из http://orgmode.org/manual/Moving-subtrees.html#Moving-subtrees
C-u C-c C-x C-s
Проверьте, можно ли переместить в архив какие-либо прямые дочерние элементы текущего заголовка. Для этого каждое поддерево проверяется на наличие открытых записей TODO. Если ничего не найдено, команда предлагает переместить его в расположение архива. Если при вызове этой команды курсор не находится на заголовке, будут проверены деревья уровня 1.
C-x h
каждый раз, чтобы выделить весь текст, тогда я должен делать C-u C-c C-x C-s
- person agent18; 17.07.2019
Если вы хотите сделать это в исходном буфере организации (а не в представлении повестки дня организации), и если они следуют друг за другом, вы можете выбрать их всех в регионе и применить команду (например, Cc Ct d ).
Нужна только настройка:
;; Some commands act upon headlines in the active region.
(setq org-loop-over-headlines-in-active-region 'start-level)
M-x org-archive-subtree C-x-z
(продолжайте нажимать z) близок к решению одной команды. Не уверен, что это кому-то поможет :) - person bgs   schedule 28.10.2015