Emacs: Using Org Mode for Todo
This pages is a tutorial on using emacs org-mode as todo list.

TODO Heading
To mark a heading as todo item, start it with “TODO”.
* TODO call mom for birthday * DONE finish coding absca
- Ctrl + c Ctrl + t (
org-todo
) - change heading among 3 states: {TODO, DONE, normal}. It will add the word “TODO” or “DONE” in the heading.
Insert Date Time
- Ctrl + c . (
org-time-stamp
) -
Insert an active date stamp.
e.g.
<2023-02-09 Thu>
- Ctrl + u Ctrl + c . (
org-time-stamp
) -
Insert active date and time.
e.g.
<2023-02-09 Thu 14:45>
- Ctrl + c ! (
org-time-stamp-inactive
) -
Insert an inactive date stamp. e.g.
[2023-02-09 Thu]
Change Date Time
- Shift + ↑ (
org-shiftup
) - increase any {year, month, day, hour}. (cursor must be on a date.)
- Shift + ↓ (
org-shiftdown
) - decrease any {year, month, day, hour}. (cursor must be on a date.)
Tags
Each heading may have keywords, called “tags”. e.g. work, family, urgent, coding.
The syntax for tag is any word between colon, like this: :mom:
or :this:that:
. They are placed at end of the headline. Like this:
* call mom for bday. :family:... * finish writing the org-mode tutorial. :emacs:work:
Tag name cannot have space, nor hyphen.
Use lowline _
Tags are inherited from parent nodes, in the sense that when you search for a tag, a heading with that tag will show but also all its children, even if the children's headings do not contain that tag.
Insert Tag
- Alt + x
org-set-tags-command
【Ctrl + c Ctrl + q】 - Insert a tag. You can also just type the tag yourself.
Show Headings by Tag
- Alt + x
org-match-sparse-tree
【Ctrl + c \】 - Show only headings of a given tag.