Auflisten von geplanten Überschriften aus einer nach Datum geordneten Organisationsdatei

8

Vor einigen Monaten habe ich meine Init-Datei in eine Organisationsdatei konvertiert und benutze sie seitdem, um meine Blog-Beiträge zu organisieren . Ich werde hier nicht zu sehr ins Detail gehen, es reicht zu sagen, dass dies ein riesiger org-modePuffer ist, in dem viele Überschriften ein SCHEDULEDDatum haben.

Wie kann ich alle geplanten Überschriften in dieser Datei nach Datum sortiert auflisten?

Ich kümmere um alle zu sehen ist das Datum , todo Status und Titel . Alles andere ist überflüssig.
Weitere wichtige Anforderungen:

  • Lassen Sie keine als DONE.
  • Liste nur SCHEDULED Elemente. Ich möchte keine Überschriften sehen, die zufällig ein Datum ( <2014-10-04 Sat>) enthalten.
  • Verwenden Sie nur diese Datei. Durchsuchen Sie nicht alle meine Agenda-Dateien.

Nehmen Sie zur Verdeutlichung die folgende Datei.

* DONE Hi guys
  CLOSED: [2014-10-04 Sat 15:18] SCHEDULED: <2014-10-04 Sat>
* Hello me
** Hello everyone <2014-10-05 Sun>
** TODO The world is at my feet
   SCHEDULED: <2014-10-11 Sat>

Ich möchte einen Befehl ausführen, der eine Liste wie die folgende anzeigt:

<2014-10-04 Sat> DONE Hi guys
<2014-10-11 Sat> TODO The world is at my feet

Natürlich bin ich nicht wählerisch in Bezug auf das Format. Wichtig ist, dass diese Informationen auf bequeme Weise angezeigt werden.


Mein Bauch sagt mir, dass dies etwas damit zu tun hat org-agenda, aber ich bin mir nicht sicher, wie ich dorthin komme.

Malabarba
quelle

Antworten:

8

Hier eine Möglichkeit, dies mithilfe der Organisationsagenda zu tun. Sie können einen benutzerdefinierten Agenda-Befehl wie den folgenden schreiben

(setq org-agenda-custom-commands
  '(("i" "Only scheduled entries in init.org sorted by time" agenda ""
     ((org-agenda-files '("~/.emacs.d/init.org"))
      (org-agenda-entry-types '(:scheduled))
      (org-agenda-start-day "2014-01-01")
      (org-agenda-span 'year)
      (org-agenda-include-diary nil)
      (org-agenda-show-all-dates nil))))) 

Der größte Teil der Konfiguration erfolgt im settingsRahmen eines benutzerdefinierten Befehls (der org-agenda-custom-commandsKürze C-hvhalber überspringe ich die Erläuterung des Formats , siehe org-Agenda-Custom-Befehle RET). Im Folgenden finden Sie eine kurze Erläuterung der verwendeten Einstellungen

1) org-agenda-fileswird auf die Init-Datei gesetzt, damit der Organisationsmodus beim Erstellen dieser bestimmten Agenda nicht alle Agenda-Dateien durchsucht.

2) org-agenda-entry-typesist auf ': geplant' gesetzt, um es auf nur geplante Elemente zu beschränken.

3) org-agenda-start-dayDies ist der Tag, an dem die Einträge aufgelistet werden sollen. Ich habe den Start für dieses Jahr festgelegt, den Sie möglicherweise auf den Tag Ihres ersten Artikels festlegen möchten.

4) org-agenda-spanteilt die Anzahl der Tage mit, die in die Tagesordnungsansicht aufgenommen werden sollen. org-agenda-include-diarywird auf Null gesetzt, um Tagebucheinträge in der Tagesordnungsansicht zu vermeiden.

5) Schließlich werden leere Daten ausgeblendet, indem org-agenda-show-all-datesauf Null gesetzt wird.

Wenn Sie nun den Befehl org-agendaim Dispatcher-Menü ausführen, erhalten Sie die Option 'i', die Sie auswählen können, um die gewünschte Ansicht zu erhalten.

Alte Antwort

Verwenden Sie den Befehl org-occuraus der Dokumentzeichenfolge

(org-ereignis REGEXP & optional KEEP-PREVIOUS CALLBACK)

Erstellen Sie einen kompakten Baum, der alle Übereinstimmungen von REGEXP anzeigt. Der Baum zeigt die Linien, in denen der reguläre Ausdruck übereinstimmt, und alle höheren Überschriften über der Übereinstimmung.

Hier ist eine andere Möglichkeit, dies zu tun. Verwendung erfolgt mit einem Präfixargument. Aus der Dokumentzeichenfolge des Befehls.

(treten REGEXP & optionale NLINES auf)

Alle Zeilen im aktuellen Puffer anzeigen, die eine Übereinstimmung für REGEXP enthalten. Wenn sich eine Übereinstimmung über mehrere Zeilen erstreckt, werden alle diese Zeilen angezeigt.

Jede Zeile wird mit NLINES-Zeilen vor und nach oder -NLINES vor angezeigt, wenn NLINES negativ ist.

Damit C-u-1M-xtreten RETVORAUS RETsollten Sie geben , was Sie wollen

Ich bin mir nicht sicher, wie ich die Schlagzeilen hart sortieren soll.

Iqbal Ansari
quelle
Perfekt, ich wusste, dass die Organisationsagenda eine Lösung haben musste.
Malabarba