Mit Hilfe von devtodo lassen sich auf der Kommandozeile pro Verzeichnis eine TODO-Liste führen. Im FreeBSD Portbaum findet man devtodo unter devel/devtodo:
# cd /usr/ports/devel/devtodo && make install clean
Nun kann ein neuer Eintrag der TODO-Liste hinzugefügt werden. Dabei muss ein Text und die Priorität angegeben werden:
# tda
text> task1
1. veryhigh 2. high 3. medium 4. low 5. verylow
Enter a priority from those listed above.
priority> medium
Index of new item is 1
Ist noch keine TODO-Liste im Verzeichnis vorhanden, wird automatisch eine neue angelegt:
# ls -l .todo
-rw-r--r-- 1 beat users 235 26 Sep 14:48 .todo
Vorhanden Einträge können mit todo angeschaut werden:
# todo
1.task1
Auch kann der Text und/oder die Priorität eines neuen Eintrags direkt dem tda Befehl mitgegeben werden:
# tda "task2 und freunde"
1. veryhigh 2. high 3. medium 4. low 5. verylow
Enter a priority from those listed above.
priority> medium
Index of new item is 2
todo: warning, created database (.todo) has group or world permissions
# tda -p high "task3 und so weiter"
Index of new item is 1
Einträge mit höherer Priorität werden automatisch am Anfang der Liste einsortiert:
# todo
1.task3 und so weiter
2.task1
3.task2 und freunde
Einträge können mit Hilfe des tdr Befehls aus der Liste entfernt werden:
# tdr 2
# todo
1.task3 und so weiter
2.task2 und freunde
Auch können Einträge der Liste auf erledigt gesetzt werden:
# tdd 1
comment> alles tiptop
# todo
2.task2 und freunde
Mit Hilfe der all Option können erledigte Einträge weiterhin angezeigt werden. Mit Hilfe von --purge werden alle erledigten Einträge aus der Liste entfernt:
# todo all
- 1.task3 und so weiter
2.task2 und freunde
# todo --purge
0 < 1222433003
# todo all
1.task2 und freunde
Auch können einem Eintrag weitere Subtasks hinzugefügt werden. Diese lassen sich mit --all anzeigen:
# tda -p medium -g 1 "Subtask 1 Task 2"
Index of new item is 1.1
# todo
+ 1.task2 und freunde
# todo --all
1.task2 und freunde
1.Subtask 1 Task 2
Die TODO-Listen aus verschiedenen Verzeichnissen lassen sich nun mit Hilfe der -l Option miteinander verlinken und gemeinsam anzeigen:
# tda -p medium "Task 1 Hauptordner"
Index of new item is 1
# mkdir Ordner1 Ordner2
# cd Ordner1/
Ordner1# tda -p medium "Task 1 Ordner 1"
Index of new item is 1
Ordner1# tda -p medium "Task 2 Ordner 1"
Index of new item is 2
Ordner1# cd ../Ordner2/
Ordner2# tda -p medium "Task 1 Ordner 2"
Index of new item is 1
Ordner2# cd ..
# todo -l Ordner1/.todo
1. veryhigh 2. high 3. medium 4. low 5. verylow
priority> medium
# todo -l Ordner2/.todo
1. veryhigh 2. high 3. medium 4. low 5. verylow
priority> medium
# todo
+ 1.Ordner1
+ 2.Ordner2
3.Task 1 Hauptordner
# todo all
1.Ordner1
1.Task 1 Ordner 1
2.Task 2 Ordner 1
2.Ordner2
1.Task 1 Ordner 2
3.Task 1 Hauptordner
Mit Hilfe der Datei ~/.todorc können Optionen und das Verhalten von devtodo festgelegt werden. Ein Beispiel einer solchen Konfigurationsdatei findet man unter /usr/local/etc/todorc.sample:
# cp /usr/local/etc/todorc.sample ~/.todorc
Mehr Informationen zu devtodo findet man in der Manpage devtodo(1).