#+TITLE: Org-Mode Reference Card #+AUTHOR: Vikas Rawal #+EMAIL: vikaslists AT agrarianresearch DOT org #+STARTUP: hidestars #+OPTIONS: toc:t # This file is released by its authors and contributors under the GNU # Free Documentation license v1.3 or later, code examples are released # under the GNU General Public License v3 or later. * 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 | * Motion | 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 | * Tables *** 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 | *** Regions | 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 | *** Miscellaneous | 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) | ** 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)~ | 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 | * Links | 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 | * Completion 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) | * Tags | 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 | * Timestamps | 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 | *** Misc | 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 C-v= | export visible part only | | =C-c C-e #= | 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 | * Footnotes 1. This is only a suggestion for a binding of this command. Choose your own key as shown under ACTIVATION. 2. Keybinding affected by =org-support-shift-select= and also =org-replace-disputed-keys=.