Je prends des notes dans un gros fichier en mode org qui a la structure suivante:
* Toto, A
Notes about Toto.
* Titi, C
Notes about Titi.
* Tutu, A
Notes about Tutu.
Je voudrais trier le fichier de sorte que toutes les rubriques avec A
précèdent les rubriques avec B
, qui à leur tour précèdent les rubriques avec C
, et ainsi de suite. Existe-t-il un moyen automatisé de le faire avec le mode org?
org-sort
?C-c ^
de la mémoire (pourrait être quelque chose de similaire se terminant par^
, commeC-x C-c ^
etc.)Réponses:
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 appelerorg-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:
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.la source
[f]unc
type de tri dansorg-sort
et à écrire une fonction à trier en fonction de la structure existante.query-replace-regexp
modification des quelques titres qui ne respectaient pas strictement le bon format. Beaucoup plus facile que de convertir toutes mes données en propriétés.Je mets les titres avec différentes priorités n'importe où dans un fichier, je ne suis pas préoccupé par la commande. Plus tard, je les regarde triés avec des vues d'agenda . En utilisant des balises , les titres triés de catégories concrètes sont affichés avec des vues d'agenda personnalisées .
Je sais que ce n'est pas la réponse pour trier les titres dans un fichier , mais afficher les titres avec des vues d'agenda est toujours le meilleur moyen. Vous pouvez insérer rapidement les titres prioritaires, sans vous soucier de la commande.
la source