DWIM(.nl) - 10 minute org mode 101

DWIM(.nl)

Do What I Mean

February 2nd, 2020

10 minute org mode 101

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.

Editing

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

  • list
    • other list
      1. Numbered list (cycle list types with S-<left/right>)

Tasks

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.

Tags

You can assign tags to headers using C-c C-q. A tag can be almost any text you like. I use:

  • the projects the section belongs to starting with a % (like %blog and %killer_app),
  • the person the section is relevant to starting with @ (like @alice and @bob), or
  • the context, a concept from GTD, where I can work on the task starting with # (like #office and #home).

By using special markers in tags, I can more easily find the headlines I am looking for.

Capture

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.

Agenda

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]!

Categories

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:

  • Personal Knowledge Base
  • Work
  • Journal
  • Links

Further reading

Here are some references from beginner to advanced:

  1. Org4Beginners to get a quick overview of what org mode can do: editing, navigating
  2. 5 useful features with info about tables, tags, embedded code
  3. Emacs Life tips for learning org mode
  4. RefCard a 2-page PDF with a load of key bindings (text version)
  5. Guide a compact version of the manual with all the essentials
  6. UOMF Using Org Mode Features
  7. Community documentation at Worg
  8. Manual everything you could ever want to know about org mode
  9. Cookbook examples of advanced topics like diagrams and spreadsheets

tags: org

 Migrated to org 
 Peter Principle for assholes 
Loading script...