Hay un org-sort
comando, pero es posible que deba ajustar la estructura de su archivo para obtener los resultados que desea (si entiendo la pregunta correctamente).
Use org-sort
( C-c ^
) para ordenar entradas en el esquema, filas en una tabla o elementos en una lista. Por ejemplo, desde un encabezado puede llamar org-sort
para ordenar todas las entradas secundarias.
En su ejemplo, desea ordenar las entradas de nivel superior en su esquema, así que seleccione primero todas las entradas. Cuando llame, org-sort
se le preguntará cómo ordenar: alfabéticamente, por prioridad, etc.
Supongo por su ejemplo que el resultado final que espera es:
* Toto, A
Notes about Toto.
* Tutu, A
Notes about Tutu.
* Titi, C
Notes about Titi.
Es decir, está buscando ordenar alfabéticamente pero ¿tiene prioridad esa letra final? No hay un tipo incorporado para eso. Si cambió las entradas para poner esa letra de clasificación primero (por ejemplo A, Toto
), funcionaría una clasificación alfabética normal. Otra opción sería mover esa información a una propiedad en cada elemento, luego puede ordenar por propiedad.
Como @nanny ha sugerido en los comentarios, org-sort
también puede llamar a una función de clasificación personalizada. De esa manera puede usar su archivo existente sin tener que cambiar todas las entradas. Aquí hay una función de clasificación que encuentra el texto del título actual y agrega el último carácter al principio para que tenga prioridad. Necesitará algo más robusto si sus titulares no siguen ese patrón exacto.
(defun my-sort-last-letter ()
(let ((text
(plist-get
(cadr (org-element-headline-parser (line-end-position)))
:raw-value)))
(concat (string (aref text (- (string-width text) 1))) text)))
org-sort
?