21 KB

Getting Started

Key Function
M-x org-info To read the on-line documentation try

Visibility Cycling

Key Function
TAB rotate current subtree between states
S-TAB rotate entire buffer between states
C-u C-u TAB restore property-dependent startup visibility
C-u C-u C-u TAB show the whole file, including drawers
C-c C-r reveal context around point


Key Function
C-c C-n/p next/previous heading
C-c C-f/b next/previous heading, same level
C-c C-u backward to higher level heading
C-c C-j jump to another place in document
S-UP/DOWN previous/next plain list item

Structure Editing

Key Function
M-RET insert new heading/item at current level
C-RET insert new heading after subtree
M-S-RET insert new TODO entry/checkbox item
C-S-RET insert TODO entry/ckbx after subtree
C-c - turn (head)line into item, cycle item type
C-c * turn item/line into headline
M-LEFT/RIGHT promote/demote heading
M-S-LEFT/RIGHT promote/demote current subtree
M-S-UP/DOWN move subtree/list item up/down
C-c ^ sort subtree/region/plain-list
C-c C-x c clone a subtree
C-c C-x v copy visible text
C-c C-x C-w/M-w kill/copy subtree
C-c C-x C-y or C-y yank subtree
C-x n s/w narrow buffer to subtree / widen

Capture - Refile - Archiving

Key Function
C-c c capture a new item (C-u C-u = goto last)
C-c C-w refile subtree (C-u C-u = goto last)
C-c C-x C-a archive subtree using the default command
C-c C-x C-s move subtree to archive file
C-c C-x a/A toggle ARCHIVE tag / to ARCHIVE sibling
C-TAB force cycling of an ARCHIVEd tree

Filtering and Sparse Trees

Key Function
C-c / construct a sparse tree by various criteria
C-c / t/T view TODO's in sparse tree
C-c a t global TODO list in agenda mode
C-c a L time sorted view of current org file


Creating a table

  • =C-c |=: convert region to table
  • C-3 C-c | : separator at least 3 spaces

Commands available inside tables

The following commands work when the cursor is inside a table. Outside of tables, the same keys may have other functionality.

Re-aligning and field motion

Key Function
C-c C-c re-align the table without moving the cursor
TAB re-align the table, move to next field
S-TAB move to previous field
RET re-align the table, move to next row
M-a/e move to beginning/end of field

Row and column editing

Key Function
M-LEFT/RIGHT move the current column left
M-S-LEFT kill the current column
M-S-RIGHT insert new column to left of cursor position
M-UP/DOWN move the current row up/down
M-S-UP kill the current row or horizontal line
M-S-DOWN insert new row above the current row
C-c - insert hline below (C-u : above) current row
C-c RET insert hline and move to line below it
C-c ^ sort lines in region


Key Function
C-c C-x C-w/M-w/C-y cut/copy/paste rectangular region
C-c C-q fill paragraph across selected cells


Key Function
C-c ` edit the current field in a separate window
C-u TAB make current field fully visible
M-x org-table-export export as tab-separated file
M-x org-table-import import tab-separated file
C-c + sum numbers in current column/rectangle

To limit column width to N characters, use =... | | ...=.

Tables created with the table.el package

Key Function
C-c ~ insert a new table.el table
C-c C-c recognize existing table.el table
C-c ~ convert table (Org-mode <-> table.el)


  • Formulas typed in field are executed by TAB, RET and C-c C-c.
  • = introduces a column formula, := a field formula.
  • Example: Add Col1 and Col2: =1+2
  • ... with printf format specification: =1+2;%.2f
  • ... with constants from constants.el: =1/c/cm
  • sum from 2nd to 3rd hline: :=vsum(@II..@III)
Key Function
= apply current column formula
C-c = set and eval column formula
C-u C-c # set and eval field formula
C-c * re-apply all stored equations to current line
C-u C-c * re-apply all stored equations to entire table
C-u C-u C-c * iterate table to stability
C-# rotate calculation mark through # * ! ^ _
C-c ? show line, column, formula reference
C-c }/{ toggle grid / debugger

Formula Editor

Key Function
C-c ' edit formulas in separate buffer
C-c C-c exit and install new formulas
C-u C-c C-c exit, install, and apply new formulas
C-c C-q abort
C-c C-r toggle reference style
TAB pretty-print Lisp formula
M-TAB complete Lisp symbol
S-cursor shift reference point
M-up/down shift test line for column references
M-S-up/down scroll the window showing the table
C-c } toggle table coordinate grid


Key Function
C-c l globally store link to the current location
C-c C-l insert a link (TAB completes stored links)
C-u C-c C-l insert file link with file name completion
C-c C-l edit (also hidden part of) link at point
C-c C-o open file links in emacs
C-u C-c C-o ...force open in emacs/other window
mouse-1/2 open link at point
mouse-3 ...force open in emacs/other window
C-c % record a position in mark ring
C-c & jump back to last followed link(s)
C-c C-x C-n find next link
C-c C-x C-p find previous link
C-c ' edit code snippet of file at point
C-c C-x C-v toggle inline display of linked images

Working with Code (Babel)

Key Function
C-c C-c execute code block at point
C-c C-o open results of code block at point
C-c C-v c check code block at point for errors
C-c C-v j insert a header argument with completion
C-c C-v v view expanded body of code block at point
C-c C-v I view information about code block at point
C-c C-v g go to named code block
C-c C-v r go to named result
C-c C-v u go to the head of the current code block
C-c C-v n go to the next code block
C-c C-v p go to the previous code block
C-c C-v d demarcate a code block
C-c C-v x execute the next key sequence in the code edit bu
C-c C-v b execute all code blocks in current buffer
C-c C-v s execute all code blocks in current subtree
C-c C-v t tangle code blocks in current file
C-c C-v f tangle code blocks in supplied file
C-c C-v i ingest all code blocks in supplied file into the
C-c C-v z switch to the session of the current code block
C-c C-v l load the current code block into a session
C-c C-v a view sha1 hash of the current code block


In-buffer completion completes TODO keywords at headline start, TeX macros after `\', option keywords after `#-', TAGS after `:', and dictionary words elsewhere.

Key Function
M-TAB complete word at point

TODO Items and Checkboxes

Key Function
C-c C-t rotate the state of the current item
S-LEFT/RIGHT select next/previous state
C-S-LEFT/RIGHT select next/previous set
C-c C-x o toggle ORDERED property
C-c C-v view TODO items in a sparse tree
C-3 C-c C-v view 3rd TODO keyword's sparse tree
C-c , [ABC] set the priority of the current item
C-c , SPC remove priority cookie from current item
S-UP/DOWN raise/lower priority of current item
M-S-RET insert new checkbox item in plain list
C-c C-x C-b toggle checkbox(es) in region/entry/at point
C-c C-c toggle checkbox at point
C-c # update checkbox statistics (C-u : whole file)


Key Function
C-c C-q set tags for current heading
C-u C-c C-q realign tags in all headings
C-c \\ create sparse tree with matching tags
C-c C-o globally (agenda) match tags at cursor

Properties and Column View

Key Function
C-c C-x p/e set property/effort
C-c C-c special commands in property lines
S-left/right next/previous allowed value
C-c C-x C-c turn on column view
C-c C-x i capture columns view in dynamic block
q quit column view
v show full value
e edit value
n/p or S-left/right next/previous allowed value
a edit allowed values list
> / < make column wider/narrower
M-left/right move column left/right
M-S-right add new column
M-S-left Delete current column


Key Function
C-c . prompt for date and insert timestamp
C-u C-c . like C-c . but insert date and time format
C-c ! like C-c . but make stamp inactive
C-c C-d insert DEADLINE timestamp
C-c C-s insert SCHEDULED timestamp
C-c / d create sparse tree with all deadlines due
C-c C-y the time between 2 dates in a time range
S-RIGHT/LEFT change timestamp at cursor ±1 day
S-UP/DOWN change year/month/day at cursor by ±1
C-c > access the calendar for the current date
C-c < insert timestamp matching date in calendar
C-c C-o access agenda for current date
mouse-1/RET select date while prompted
C-c C-x C-t toggle custom format display for dates/times

Clocking time

Key Function
C-c C-x C-i start clock on current item
C-c C-x C-o/x stop/cancel clock on current item
C-c C-x C-d display total subtree times
C-c C-c remove displayed times
C-c C-x C-r insert/update table with clock report

Agenda Views

Key Function
C-c [ add/move current file to front of agenda
C-c ] remove current file from your agenda
C-' cycle through agenda file list
C-c C-x </> set/remove restriction lock
C-c a a compile agenda for the current week
C-c a t compile global TODO list
C-c a T compile TODO list for specific keyword
C-c a m match tags, TODO kwds, properties
C-c a M match only in TODO entries
C-c a # find stuck projects
C-c a L show timeline of current org file
C-c a C configure custom commands
C-c C-o agenda for date at cursor

Commands available in an agenda buffer

View Org file

Key Function
SPC/mouse-3 show original location of item
L show and recenter window
TAB/mouse-2 goto original location in other window
RET goto original location, delete other windows
C-c C-x b show subtree in indirect buffer, ded.\ frame
F toggle follow-mode

Change display

Key Function
o delete other windows
v view mode dispatcher
d w vm vy vSP switch to day/week/month/year/def view
D / G / K toggle diary entries / time grid / habits
E / R toggle entry text / clock report
l / v l/L/c toggle display of logbook entries
v a/A toggle inclusion of archived trees/files
r / g refresh agenda buffer with any changes
/ filter with respect to a tag
s save all org-mode buffers
f / b display next/previous day,week,...
=. / j= goto today / some date (prompt)

Remote editing

Key Function
0-9 digit argument
t change state of current TODO item
C-k kill item and source
/ a archive default
C-c C-w refile the subtree
: / T set/show tags of current headline
e set effort property (prefix=nth)
=, / P= set / compute priority of current item
S-UP/DOWN raise/lower priority of current item
C-c C-a run an attachment command
C-c C-s/d schedule/set deadline for this item
S-LEFT/RIGHT change timestamp one day earlier/later
> change timestamp to today
i insert new entry into diary
I / O / X start/stop/cancel the clock on current item
J jump to running clock entry
m / u / B mark / unmark / execute bulk action


Key Function
C-c C-o follow one or offer all links in current entry

Calendar commands

Key Function
c find agenda cursor date in calendar
c compute agenda for calendar cursor date
M show phases of the moon
S show sunrise/sunset times
H show holidays
C convert date to other calendars

Quit and Exit

Key Function
q quit agenda, remove agenda buffer
x exit agenda, remove all agenda buffers

LaTeX and cdlatex-mode

Key Function
C-c C-x C-l preview LaTeX fragment
TAB expand abbreviation (cdlatex-mode)
` / ' insert/modify math symbol (cdlatex-mode)
C-c C-x [ insert citation using RefTeX

Exporting and Publishing

Exporting creates files with extensions .txt and .html in the current directory. Publishing puts the resulting file into some other place.

Key Function
C-c C-e export/publish dispatcher
C-c C-e v export visible part only
C-c C-e t insert template of export options
C-c : toggle fixed width for entry or region
C-c C-x {\tt\char`\} toggle pretty display of scripts, entities

Comments: Text not being exported

Lines starting with # and subtrees starting with COMMENT are never exported.

Key Function
C-c ; toggle COMMENT keyword on entry

Dynamic Blocks

Key Function
C-c C-x C-u update dynamic block at point
C-u C-c C-x C-u update all dynamic blocks


  1. This is only a suggestion for a binding of this command. Choose your
  2. own key as shown under ACTIVATION.
  1. Keybinding affected by org-support-shift-select and also
  2. =org-replace-disputed-keys=.