Ordenar una lista mixta de encabezados en modo org
Tengo una larga lista de encabezados enorg-mode
:
* Tasks [/]
** TODO Foo
** TODO Bar
** DONE World
** DONE Abba
que quiero ordenar de la siguiente manera:
* Tasks [/]
** TODO Bar
** TODO Foo
** DONE Abba
** DONE World
Conorg-sort-entries
Yo puedo obtener
* Tasks [/]
** DONE Abba
** TODO Bar
** TODO Foo
** DONE World
(es decir, orden alfabético), o
* Tasks [/]
** TODO Foo
** TODO Bar
** DONE World
** DONE Abba
(es decir, agrupación según el estado).
En otras palabras, quiero ordenar elTODO
y elDONE
artículos alfabéticamente, pero manténgalos en dos bloques. ¿Cómo podría lograrlo? ¡Quiero mantener todo el conjunto de encabezados en el mismo subárbol!
No logré utilizar las sugerencias a continuación. Entonces, intenté usar los consejos que se proporcionan a continuación para encontrar la solución que necesito. Aquí está el código que tengo:
(defun drorata-sort-TODO-DONE-headings ()
(interactive)
(save-excursion
;; Sort according to the TODO/DONE keywords
(org-sort-entries t ?o)
;; Now there is a block of TODO's and a block of DONE's
;; Mark the TODO's
(next-line)
(beginning-of-line)
(set-mark-command nil)
(search-forward-regexp "[*].* DONE" nil t)
(beginning-of-line)
;; Sort the marked region (of TODO's) alphabetically
(org-sort-entries t ?a)
;; Now its time to sort the DONE's
(search-forward "[*].* DONE" nil t)
(beginning-of-line)
(set-mark-command nil)
;; How can I find all headings labeled with DONE in the current level?
)
)
Mi idea es marcar los encabezados etiquetados porTODO
y ordenarlos alfabéticamente y luego hacer lo mismo con elDONE
encabezados Hasta ahora, lo tengo funcionando solo paraTODO
's ...