Ich mache mir Notizen in einer großen Datei im Organisationsmodus, die die folgende Struktur hat:
* Toto, A
Notes about Toto.
* Titi, C
Notes about Titi.
* Tutu, A
Notes about Tutu.
Ich möchte die Datei so sortieren, dass alle Überschriften mit A
vor den Überschriften stehen B
, die wiederum vor den Überschriften mit stehen C
, und so weiter. Gibt es eine automatisierte Möglichkeit, dies im org-Modus zu tun?
org-sort
?C-c ^
aus dem Gedächtnis (könnte etwas Ähnliches sein, das in endet^
, wieC-x C-c ^
usw.)Antworten:
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 aufrufenorg-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:
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.quelle
[f]unc
Sortiertyp zu verwendenorg-sort
und eine Funktion zum Sortieren basierend auf der vorhandenen Struktur zu schreiben.query-replace-regexp
die wenigen Überschriften, die nicht genau dem richtigen Format entsprachen , schnell bearbeitet hatte. Viel einfacher als alle meine Daten in Eigenschaften zu konvertieren.Ich setze überall in einer Datei Überschriften mit unterschiedlichen Prioritäten. Ich mache mir keine Sorgen um die Reihenfolge. Später sehe ich sie sortiert nach Agenda-Ansichten . Mithilfe von Tags werden sortierte Überschriften aus konkreten Kategorien mit benutzerdefinierten Agenda-Ansichten angezeigt .
Ich weiß, dass dies nicht die Antwort für das Sortieren von Überschriften in einer Datei ist , aber das Anzeigen von Überschriften mit Agenda-Ansichten ist immer der beste Weg. Sie können priorisierte Überschriften schnell einfügen, ohne sich um die Reihenfolge kümmern zu müssen.
quelle