Den Emacs Org-mode verwende ich bereits seit 2005. Im Folgenden habe ich den Aufbau meiner Org-Dateien sowie meine täglichen Workflows dokumentiert. Die Konfiguration meines Emacs, der die beschriebenen Workflows ermöglicht, ist in meiner kommentierten Emacs-Konfiguration zu finden.
In diesem Text beschreibe ich meine spezifische Nutzung des Emacs Org-mode. Er setzt beim Leser voraus, dass er bereits mit dem Emacs und dem Org-mode vertraut ist. Für Einsteiger in die Welt des Emacs haben ich den Text Tutorial: Aufgaben- und Notizverwaltung im GNU Emacs geschrieben.
In den ersten Jahren der Nutzung hat sich meine Arbeitsweise mit dem Org-mode noch recht häufig geändert; ich musste erst einmal den für mich passenden Weg finden. Zudem habe ich meine Konfiguration nach Überwindung der Versuchung, alle tollen Features zu implementieren, mit der Zeit immer weiter vereinfacht; es sollte nur das implementiert werden, was ich unbedingt benötige. Nicht mehr, nicht weniger. Praktizierter Minimalismus. Mittlerweile habe ich einen stabilen Stand erreicht. Die im Folgenden beschreibene Konfiguration setze ich in dieser Form nun seit mehr als fünf Jahren bei der täglichen Arbeit ein; es ist mein „Trusted System“.
tasks.org
Das zentrale Element ist bei mir eine Datei mit dem Namen
tasks.org
. Hier trage ich das meiste ein, was ich zu erledigen habe;
sowohl berufliche als auch private Dinge. Vor allem zu umfangreicheren
Projekten führe ich daneben Notizen in einzelnen Org-Dateien, die mit
der Emacs-Erweiterung Deft verwaltet werden. Innerhalb dieser Notizen
werden die dem jeweiligen Projekt zuzuordnenden Aufgaben notiert und
in die Org Agenda einbezogen. Dies ist – wie schon erwähnt – eine
der großen Stärken des Org-mode. Eine Datei notes.org
verwende ich
hingegen nicht (mehr).
Es hat sich nicht bewährt, für berufliche und private Dinge zwei
unterschiedliche Dateien zu verwenden. Insbesondere müsste ich dann
auch eine allgemeine, gesonderte inbox.org
verwenden. Bei einer
gesonderten inbox.org
habe ich jedoch nie daran gedacht, diese zu
leeren – zumal das Verschieben von Tasks trotz der refile-Funktion
des Org-mode nicht trivial ist. Besser scheint es mir,
Capture-Einträge unter der letzten Überschrift „Inbox“ der zentralen
Datei tasks.org
zu sammeln. Oben sollte die Inbox deshalb nicht
stehen, da die Capture-Funktion ggf. Zeilenumbrüche einfügt. Unten in
der Datei ist dies nicht weiter schlimm; oben nervt es.
Kontextlisten scheinen mir – zumindest in meinem Fall – wenig Sinn
zu machen. Weder Markierungen wie home
oder besorgung
, noch
computer
oder telefon
scheinen mir hilfreich und die Arbeit, diese
immer zu vergeben, zu rechtfertigen.
Als Tags nutze ich daher neben den Mandantennamen lediglich someday
und flagged
. Ein mit someday
getaggter Eintrag erscheint nur auf
ausdrücklichen Wunsch in der Agenda (Befehl s
). Der Agenda-Befehl
f
zeigt alle mit flagged
makierten Einträge. Wann ich diese Tags
vergebe, ist unten im Workflow beschrieben.
tasks.org_archive
Im Archiv herrscht die gleiche Struktur wie in der Datei
tasks.org
. Die Archivdatei muss nicht manuell gepflegt
werden. Einträge aus der Datei tasks.org
werden mit dem Befehl C-c
C-x C-s
in das Archiv verschoben.
Nun möchte ich kurz in der Übersicht darstellen, wie mein Workflow konkret aussieht.
Jeden Morgen sehe ich die Eingangskörbe (phyische und E-Mail) durch und trage neu eingetroffene Aufgaben in das System ein, lege sie also zumindest in der Inbox ab.
An den folgenden Stellen treffen bei mir neue Aufgaben ein:
tasks.org
, in der Aufgaben per
org-capture
gesammelt wurden.
Aufgaben, die in diesen Eingangsorten angekommen sind, trage ich in
die Datei tasks.org
oder meinen Notiz-Dateien an der entsprechenden
Stelle ein, sofern ich sie nicht innerhalb kürzester Zeit erledigen
kann – und dazu auch gerade Zeit habe.
Ich versehe die Aufgaben mit den folgenden Stadien.
Aufgaben, die irgendwann mal erledigt werden sollen, die aber derzeit
nicht sonderlich wichtig sind, tagge ich mit someday
. Diese Aufgaben
werden dann aus der Agenda ausgeschlossen und nur auf ausdrücklichen
Wunsch mit einer benutzerdefinierten Agenda-Ansicht angezeigt.
Der Org-mode ermöglicht die verschiedensten Zeitangaben in Aufgabendefinitionen:
* TODO Gutachten schreiben
SCHEDULED: <2011-12-18 Sun>
* TODO Gutachten fertig stellen
DEADLINE: <2011-12-18 Sun>
C-c .
). Der Eintrag wird nur an dem
jeweiligen Tag in der Daily Agenda angezeigt. Dieser Typ sollte
daher für Termine Verwendung finden. Denn diese sind nur an dem
jeweiligen Tag interessant; das Fortschreiben des Eintrags auf die
folgenden Tage bis er als DONE markiert wird, wie SCHEDULED, macht
hier keinen Sinn.
* APPT Besprechung mit Stefan
<2011-12-18 Sun>
C-c !
) erkennt man an eckigen
statt spitzen Klammern. Diese Zeitangaben haben in der
Grundeinstellung des Org-mode keine unmittelbare Auswirkung auf die
Anzeige in der Daily Agenda. Man kann aber nach den Einträgen mit
der Agenda suchen und sie somit in Custom Agenda Views verwenden.
* TODO DVD kaufen
AVAILABLE: [2011-12-18 Sun]
Diese Kategorie habe ich noch nicht implementiert. Es muss noch eine entsprechende Ansicht generiert werden, die nicht verfügbare Aufgaben von der Agenda ausschließt.
Schließlich sichte ich die anstehenden Aufgaben und Termine:
a
in der Agenda bekomme ich eine Wochen- bzw. Tagesübersicht
(Umschalten mit d
für „day“ und w
für „week“), in der Termine
und Deadlines aufgeführt sind. Mit dieser Liste fange ich an,
da hier die wichtigsten, nämlich ausdrücklich terminierten, Einträge
sichtbar sind.
t
auf. Die
Liste beginnt bei mir mit den Mandantenaufträgen, dann kommen
interne Dinge und am Ende Privates und weiteres. Aufgaben, die ich
alsbald erledigen möchte, werden mit dem Tag flagged
versehen. Hinweis: Vor Einführung des Tags flagged
habe ich
solche Aufgaben auf den aktuellen Tag „geschedult“. Die Verwendung
eines Tags hat den Vorteil, dass ich Aufgaben, die mehere Tage in
der Agenda erscheinen sollen, nicht jeden Tag neu „schedulen“ muss.
Während des Tages arbeite ich bestehende Aufgaben ab, buche Zeiten auf diese Aufgaben und erfasse neue Aufgaben, die sich ergeben.
Für den aktuellen Tag anstehende Aufgaben habe ich spätestens am
Morgen mit dem Tag flagged
versehen. Durch den Aufruf von f
in der
Agenda werden mir alle diese Einträge angezeigt. Zudem werden
„geschedulte“ Aufgaben angezeigt. Mit dieser Liste kann also den Tag
über gearbeitet werden.
Der Org-mode eignet sich hervorragend zur Erfassung der Zeiten, die man auf seine Aufgaben verwendet hat.
Zeiten zu bereits konkret formulierten Aufgaben erfassen
Wird eine Aufgabe in der Agenda angezeigt und ist sie für den
Zeitnachweis ausreichend konkret formuliert, kann ich einfach mit I
(„in“) die Uhr starten und mit O
(„out“) wieder anhalten.
Zeiten zu nicht bestehenden oder nicht ausreichend konkret formulierten Aufgaben erfassen
Beginne ich eine Tätgikeit, für die noch keine Aufgabe definiert ist,
erstelle ich einen neuen Zeiteintrag mit Hilfe der
Capture-Funktion. Mit C-c c z
kreiere ich einen neuen
Zeiteintrag. Sobald der Capture-Buffer erscheint, wird eine aktuell
laufende Uhr gestoppt und eine neue gestartet. Wenn der Zeiteintrag
mit C-c C-c
abgeschlossen wird, wird er in meine tasks.org
in die
Inbox gelegt. So habe ich die Möglichkeit, den Zeiteintrag später
einem Projekt zuzuordnen. Anschließend wird automatisch eine eventuell
vorher laufende Uhr wieder gestartet.
Zeiten auf Sammelkonten erfassen
Teilweise ist zwar klar, auf welches Zeitkonto ein Eintrag zu buchen
ist, ich benötige aber stets eine nähere Bezeichnung der geleisteten
Arbeit. Dies ist zum Beispiel der Fall bei Dingen, die ich auf
„Allgemeine Verwaltung“ buche. In diesem Fall ist es unnötig
kompliziert für die Tätigkeit per Capture-Template einen neuen Eintrag
in der Inbox zu erfassen, der ja später an eine sinnvolle Stelle in
meiner tasks.org
verschoben werden müsste. Für diese Fälle habe ich
verschiedene Zeitkonten vorbereitet, auf denen ich laufend die
entsprechenden Zeiten erfassen kann. Diese Einträge sind allerdings so
konfiguriert, dass der Org mode beim „Ausclocken“ eine Notiz
abfragt. Im meinem Zeitreport in der Agenda sehe ich dann zwar nur,
dass ein Zeitraum X auf z.B. das Konto „Allgemeine Verwaltung“ gebucht
wurde; wenn ich aber dem Link auf diesem Eintrag in meine tasks.org
folge, finde ich dort die Notiz, die beschreibt, was ich konkret getan
habe.
Während des Tages können neue Aufgaben mit der Capture-Funktion (C-c
c
) erfasst werden. Die Einträge werden dann automatisch in der Datei
tasks.org
unter der Überschrift „Inbox“ gespeichert. Einträge unter
„Inbox“ sollten spätestens am nächsten Morgen an die korrekte Stelle
verschoben werden.
Wenn ich nicht am Rechner sitze, erfasse ich neue Aufgaben häufig mit dem iPhone und trage sie in meine Org-Datei ein.
Jeden Abend übertrage ich die im Org-mode aufgezeichneten Zeiten in das Zeiterfassungssystem meines Arbeitgebers. Ich verwende hierzu die einfache Daily Agenda, die unten auch die für den jeweiligen Tag aufgezeichneten Zeiten ausweist.
Die folgenden Schritte führe ich regelmäßig am Montag Morgen im Rahmen eines Weekly Review durch.
tasks.org
tasks.org_archive
. Der Befehl dazu lautet
C-c C-x C-s
.
someday
getaggten Aufgaben (C-c a g s
)
Zukunftsmusik: Die Weekly-Review möchte ich gerne optimieren. Von
Omnifocus kenne ich die Möglichkeit, Review Cycles für die
verschiedenen Aufgaben vorzusehen. Dann gibt es eine spezielle
Ansicht, in der alle Aufgaben angezeigt werden, deren Review „due“
ist. Dies ist im Org-mode noch nicht implementiert. Ich habe es mir
als Aufgabe mit dem Tag someday
notiert.
Meine gesamte Emacs-Konfiguration kann auf dieser Internetseite eingesehen werden. Daher verzichte ich an dieser Stelle darauf, meine Konfiguration des Org-mode wiederzugeben. Schauen Sie einfach in meine kommentierte Emacs-Konfiguration unter der Überschrift „Org-mode“.