Il existe une org-sort
commande, mais vous devrez peut-être modifier la structure de votre fichier pour obtenir les résultats souhaités (si je comprends bien la question).
Utilisez org-sort
( C-c ^
) pour trier les entrées du plan, les lignes d'un tableau ou les éléments d'une liste. Par exemple, à partir d'un en-tête, vous pouvez appeler org-sort
pour trier toutes les entrées enfants.
Dans votre exemple, vous souhaitez trier les entrées de niveau supérieur dans votre plan, sélectionnez donc toutes les entrées en premier. Lorsque vous appelez, org-sort
vous serez invité à indiquer comment trier: par ordre alphabétique, par priorité, etc.
Je suppose d'après votre exemple que le résultat final que vous attendez est:
* Toto, A
Notes about Toto.
* Tutu, A
Notes about Tutu.
* Titi, C
Notes about Titi.
C'est-à-dire que vous cherchez à trier par ordre alphabétique mais que cette lettre de fin a priorité? Il n'y a pas de tri intégré pour cela. Si vous avez modifié les entrées pour mettre cette lettre de tri en premier (par exemple A, Toto
), un tri alphabétique normal fonctionnerait. Une autre option serait de déplacer ces informations vers une propriété sur chaque élément, puis vous pouvez trier par propriété.
Comme @nanny l'a suggéré dans les commentaires, org-sort
peut également appeler une fonction de tri personnalisée. De cette façon, vous pouvez utiliser votre fichier existant sans avoir à modifier toutes les entrées. Voici une fonction de tri qui trouve le texte du titre actuel et ajoute le dernier caractère au début pour qu'il ait la priorité. Vous aurez besoin de quelque chose de plus robuste si vos titres ne suivent pas tous ce modèle exact.
(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
?