Do What I Mean
February 2nd, 2020
Org mode is a fast and effective tool to manage personal information, like notes, tasks, and references. It is also used for authoring and publishing blogs, books and academic papers. Org mode is part of Emacs and stores its data in plain-text files.
A versatile tool like org mode can be an intimidating beast. So, here is my org mode 101 to get you up to speed in 10 minutes flat. To make this possible, I will stick to the essential commands, and leave customization for another post.
Org mode allows you to structure your files by using headings. Simply create a heading by beginning a line with an asterisk (\ast). Headings can be nested by adding asterisks (\ast\ast\ast for a level three heading). This way you can build an infinitely branching hierarchical tree of information. You can move headings around with M-<arrow>
and whole subtrees with S-M-<arrow>
.
Headings mark the beginning of a section. Within those sections can be metadata, text or further subtrees. The metadata is a whole new topic, so for now we will stick with text. The basic mark up of text looks like this:
*Markup: *bold*, /italic/, _underlined_, +strikethrough+, =verbatim=, ~code~
- list
+ nested list
1. Numbered list
Which shows as:
Markup: bold, italic, underlined, strikethrough, verbatim
, code
S-<left/right>
)You can mark headers as tasks by using S-<arrow>
. Left/right changes the todo state (shown by keywords like TODO and DONE), while up/down changes the todo priority (A for highest, C for lowest).
You can schedule a task using C-c C-s
and set a deadline using C-c C-d
.
You can assign tags to headers using C-c C-q
. A tag can be almost any text you like. I use:
%
(like %blog
and %killer_app
),@
(like @alice
and @bob
), or#
(like #office
and #home)
.By using special markers in tags, I can more easily find the headlines I am looking for.
Org mode comes with a ton of its own key bindings, and advices to add three of your own. One of those is C-c c
for Capturing, which allows you to quickly jot down notes, so you can forget them, because org mode won't. All with minimal disruption of your workflow.
Once you're done entering text, you can store it in its default location using C-c C-c
or refile and choose your own destination using C-c C-w
.
After a while you will find that your tasks become unmanageable. So, one other custom binding org mode advices is C-c a
for Agenda, which provides well-organized views of your tasks.
This is a life saver! It allows me to just dump all my tasks on one big heap and manage them through the agenda. I never bother to structure or cleanup my tasks. Searching is far more efficient than organizing src]!
Each file and each header can belong to exactly one category. You can define the category by adding #+CATEGORY:
at the start of a file or a property drawer below a header:
:PROPERTIES:
:CATEGORY: Journal
:END:
Categories are an extra tool to structure your agenda views. I use these:
Here are some references from beginner to advanced: