Emacs Org-Mode Reference Card
| url: | http://orgmode.org/orgcard.txt |
|---|
Contents
Getting Started
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link) [1]
(define-key global-map "\C-ca" 'org-agenda) [1]
For the many customization options try M-x org-customize
To read the on-line documentation try M-x org-info
Visibility Cycling
rotate current subtree between states TAB rotate entire buffer between states S-TAB show the whole file C-c C-a reveal context around point C-c C-r show subtree in indirect buffer, ded. frame C-c C-k
Motion
next/previous heading C-c C-n/p next/previous heading, same level C-c C-f/b backward to higher level heading C-c C-u jump to another place in document C-c C-j previous/next plain list item S-UP/DOWN [3]
Structure Editing
insert new heading/item at current level M-RET insert new heading after subtree C-RET insert new TODO entry/checkbox item M-S-RET promote/demote current heading up one level M-LEFT/RIGHT promote/demote current subtree up one level M-S-LEFT/RIGHT move subtree/list item up/down M-S-UP/DOWN refile subtree C-c C-w kill subtree C-c C-x C-w copy subtree C-c C-x M-w yank subtree C-c C-x C-y narrow buffer to current subtree C-x n s widen restriction to full buffer C-x n w
Archiving
toggle ARCHIVE tag C-c C-x C-a force cycling of an ARCHIVEd tree C-TAB move subtree to archive file C-c C-x C-s
Filtering and Sparse Trees
construct a sparse tree by various criteria C-c / view TODO's in sparse tree C-c C-v global TODO list in agenda mode C-c a t [1] time sorted view of current org file C-c a L
Tables
Creating a table
just start typing, e.g. |Name|Phone|Age RET |- TAB convert region to table C-c | ... separator at least 3 spaces C-3 C-c |
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
re-align the table without moving the cursor C-c C-c re-align the table, move to next field TAB move to previous field S-TAB re-align the table, move to next row RET
Row and column editing
move the current column left M-LEFT/RIGHT kill the current column M-S-LEFT insert new column to left of cursor position M-S-RIGHT move the current row up/down M-UP/DOWN kill the current row or horizontal line M-S-UP insert new row above the current row M-S-DOWN insert hline below (C-u : above) current row C-c - sort lines in region C-c ^
Regions
cut rectangular region C-c C-x C-w copy rectangular region C-c C-x M-w paste rectangular region C-c C-x C-y fill paragraph across selected cells C-c C-q
Miscellaneous
to limit column width to N characters, use ...| <N> |... edit the current field in a separate window C-c ` make current field fully visible C-u TAB export as tab-separated file M-x org-table-export import tab-separated file M-x org-table-import sum numbers in current column/rectangle C-c +
Tables created with the table.el package
insert a new table.el table C-c ~ recognize existing table.el table C-c C-c convert table (Org-mode <-> table.el) C-c ~
Spreadsheet
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)|
apply current column formula | = |
set and eval column formula C-c =
set and eval field formula C-u C-c =
re-apply all stored equations to current line C-c *
re-apply all stored equations to entire table C-u C-c *
iterate table to stability C-u C-u C-c *
rotate calculation mark through # * ! $ C-#
show line, column, formula reference C-c ?
toggle coordinate grid C-c }
toggle formula debugger C-c {
Formula Editor
edit formulas in separate buffer C-c ' exit and install new formulas C-c C-c exit, install, and apply new formulas C-u C-c C-c abort C-c C-q toggle reference style C-c C-r pretty-print Lisp formula TAB complete Lisp symbol M-TAB shift reference point S-cursor shift test line for column references M-up/down scroll the window showing the table M-S-up/down toggle table coordinate grid C-c }
Links
globally store link to the current location C-c l [1] insert a link (TAB completes stored links) C-c C-l insert file link with file name completion C-u C-c C-l edit (also hidden part of) link at point C-c C-l open file links in emacs C-c C-o ... force open in emacs/other window C-u C-c C-o open link at point mouse-1/2 ... force open in emacs/other window mouse-3 record a position in mark ring C-c % jump back to last followed link(s) C-c & find next link C-c C-x C-n find previous link C-c C-x C-p edit code snippet of file at point C-c '
Internal Links
<<My Target>> target <<<My Target>>> radio target [2] [[*this text]] find headline [[this text]] find target or text in buffer [[this text][description]] optional link text
External Links
file:/home/dominik/img/mars.jpg file, absolute file:papers/last.pdf file, relative file:projects.org::*that text find headline file:projects.org::find me find trgt/string http://www.astro.uva.nl/dominik on the web mailto:adent@galaxy.net Email address news:comp.emacs Usenet group bbdb:Richard Stallman BBDB person gnus:group GNUS group gnus:group#id GNUS message vm|wl|mhe|rmail:folder Mail folder vm|wl|mhe|rmail:folder#id Mail message info:emacs:Regexps Info file:node shell:ls *.org shell command elisp:(calendar) elisp form [[external link][description]] optional link text
Completion
In-buffer completion completes TODO keywords at headline start, TeX macros after `\', option keywords after `#-â', TAGS after `:', and dictionary words elsewhere. complete word at point M-TAB
TODO Items and Checkboxes
rotate the state of the current item C-c C-t select next/previous state S-LEFT/RIGHT select next/previous set C-S-LEFT/RIGHT view TODO items in a sparse tree C-c C-v view 3rd TODO keyword's sparse tree C-3 C-c C-v set the priority of the current item C-c , [ABC] remove priority cookie from current item C-c , SPC raise/lower priority of current item S-UP/DOWN [3] insert new checkbox item in plain list M-S-RET toggle checkbox(es) in region/entry/at point C-c C-x C-b toggle checkbox at point C-c C-c checkbox statistics cookies insert [/] or [%] update checkbox statistics (C-u : whole file) C-c #
Tags
set tags for current heading C-c C-c
realign tags in all headings C-u C-c C-c
create sparse tree with matching tags C-c \
globally (agenda) match tags at cursor C-c C-o
\section{Properties and Column View}
\key{set property}{C-c C-x p}
\key{special commands in property lines}{C-c C-c}
\key{next/previous allowed value}{S-left/right}
\key{turn on column view}{C-c C-x C-c}
\key{capture columns view in dynamic block}{C-c C-x r}
\key{quit column view}{q}
\key{next/previous allowed value}{S-left/right}
\key{next/previous allowed value}{n / p}
\key{edit value}{e}
\key{edit allowed values list}{a}
\key{show value}{v}
\key{make column wider/narrower}{> / <}
\key{move column left/right}{M-left/right}
\key{add new column}{M-S-right}
\key{Delete current column}{M-S-left}
Timestamps
prompt for date and insert timestamp C-c . like C-c . but insert date and time format C-u C-c . like C-c . but make stamp inactive C-c ! insert DEADLINE timestamp C-c C-d insert SCHEDULED timestamp C-c C-s create sparse tree with all deadlines due C-c C-w the time between 2 dates in a time range C-c C-y change timestamp at cursor by ±1 day S-RIGHT/LEFT [3] change year/month/day at cursor by ±1 S-UP/DOWN [3] access the calendar for the current date C-c > insert timestamp matching date in calendar C-c < access agenda for current date C-c C-o select date while prompted mouse-1/RET toggle custom format display for dates/times C-c C-x C-t
Clocking time
start clock on current item C-c C-x C-i stop clock on current item C-c C-x C-o cancel current clock C-c C-x C-x display total subtree times C-c C-x C-d remove displayed times C-c C-c insert/update table with clock report C-c C-x C-r
Agenda Views
add/move current file to front of agenda C-c [ remove current file from your agenda C-c ] cycle through agenda file list C-' compile agenda for the current week C-c a a [1] compile global TODO list C-c a t [1] compile TODO list for specific keyword C-c a T [1] match tags, todo kwds and properties C-c a m [1] match only in TODO entries C-c a M [1] find stuck projects C-c a # [1] show timeline of current org file C-c a L [1] configure custom commands C-c a C [1] configure stuck projects C-c a ! [1] agenda for date at cursor C-c C-o To set categories, add lines like [2]: #+CATEGORY: MyCateg
View Org file
show original location of item SPC/mouse-3 show and recenter window L goto original location in other window TAB/mouse-2 goto original location, delete other windows RET show subtree in indirect buffer, ded. frame b toggle follow-mode f
Change display
delete other windows o switch to day/week/month/year view d/w/m/y toggle inclusion of diary entries D toggle time grid for daily schedule G toggle display of logbook entries l toggle inclusion of archived trees/files v / C-u v} refresh agenda buffer with any changes r / g filter agenda with repect to a tag / save all org-mode buffers s display the next/previous day, week,... RIGHT/LEFT goto today .
Remote editing
digit argument 0-9 change state of current TODO item t kill item and source C-k archive the subtree $ / a / A show tags of current headline T set tags for current headline : toggle ARCHIVE tag a set priority of current item p raise/lower priority of current item S-UP/DOWN [3] display weighted priority of current item P schedule/set deadline for this item C-c C-s/d change timestamp to one day earlier/later S-LEFT/RIGHT [3] change timestamp to today > insert new entry into diary i start/stop/cancel the clock in current item I / O / X jump to running clock entry J
Misc
Open link in current line C-c C-o
Calendar commands
find agenda cursor date in calendar c compute agenda for calendar cursor date c show phases of the moon M show sunrise/sunset times S show holidays H convert date to other calendars C
Quit and Exit
quit agenda, remove agenda buffer q exit agenda, remove all agenda buffers x
Calendar and Diary Integration
Include Emacs diary entries into Org-mode agenda with: (setq org-agenda-include-diary t)
LaTeX and cdlatex-mode
preview LaTeX fragment C-c C-x C-l expand abbreviation (cdlatex-mode) TAB insert/modify math symbol (cdlatex-mode) ` / '
Exporting and Publishing
Exporting creates files with extensions .txt and .html in the current directory. Publishing puts the resulting file into some other place. export/publish dispatcher C-c C-e export visible part only C-c C-e v insert template of export options C-c C-x t toggle fixed width for entry or region C-c :
Comments: Text not being exported
Text before the first headline is not considered part of the document and is therefore never exported. Lines starting with # are comments and are not exported. Subtrees whose header starts with COMMENT are never exported. toggle COMMENT keyword on entry C-c ;
Dynamic Blocks
update dynamic block at point C-c C-x C-u update all dynamic blocks C-u C-c C-x C-u
Notes
[1] This is only a suggestion for a binding of this command. Choose you own key as shown under INSTALLATION.
[2] After changing a #+KEYWORD or <<<target>>> line, press C-c C-c with the cursor still in the line to update.
[3] Keybinding affected by org-CUA-compatibility.