Es gibt einen org-sort
Befehl, aber Sie müssen möglicherweise Ihre Dateistruktur anpassen, um die gewünschten Ergebnisse zu erzielen (wenn ich die Frage richtig verstehe).
Verwenden Sie org-sort
( C-c ^
), um Einträge in der Gliederung, Zeilen in einer Tabelle oder Elemente in einer Liste zu sortieren. Beispielsweise können Sie aus einer Überschrift aufrufen org-sort
, um alle untergeordneten Einträge zu sortieren.
In Ihrem Beispiel möchten Sie die Einträge der obersten Ebene in Ihrer Gliederung sortieren. Wählen Sie daher zuerst alle Einträge aus. Wenn Sie anrufen, werden org-sort
Sie aufgefordert, zu sortieren: alphabetisch, nach Priorität usw.
Ich vermute aus Ihrem Beispiel, dass das Endergebnis, das Sie erwarten, ist:
* Toto, A
Notes about Toto.
* Tutu, A
Notes about Tutu.
* Titi, C
Notes about Titi.
Das heißt, Sie möchten alphabetisch sortieren, aber hat dieser nachgestellte Buchstabe Vorrang? Dafür gibt es keine eingebaute Sorte. Wenn Sie die Einträge so ändern, dass dieser Sortierbuchstabe an erster Stelle steht (z. B. A, Toto
), funktioniert eine normale alphabetische Sortierung. Eine andere Möglichkeit wäre, diese Informationen in eine Eigenschaft für jedes Element zu verschieben und dann nach Eigenschaften zu sortieren.
Wie @nanny in den Kommentaren vorgeschlagen hat, org-sort
kann auch eine benutzerdefinierte Sortierfunktion aufgerufen werden. Auf diese Weise können Sie Ihre vorhandene Datei verwenden, ohne alle Einträge ändern zu müssen. Hier ist eine Sortierfunktion, die den aktuellen Überschriftentext findet und das letzte Zeichen an den Anfang anfügt, damit es Vorrang hat. Sie benötigen etwas Robusteres, wenn Ihre Überschriften nicht alle genau diesem Muster folgen.
(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
?