org-mac: Add org-mac-mail-link section and elisp
[worg.git] / orgcard.org
blob5a20f26678437a26327d8c254abbb0e92e29cd3c
1 #+TITLE: Org-Mode Reference Card
2 #+AUTHOR: Vikas Rawal
3 #+EMAIL: vikaslists AT agrarianresearch DOT org
4 #+STARTUP: hidestars
5 #+OPTIONS: toc:t
7 # This file is released by its authors and contributors under the GNU
8 # Free Documentation license v1.3 or later, code examples are released
9 # under the GNU General Public License v3 or later.
11 * Getting Started
13 | Key            | Function                              |
14 |----------------+---------------------------------------|
15 | =M-x org-info= | To read the on-line documentation try |
17 * Visibility Cycling
19 | Key               | Function                                      |
20 |-------------------+-----------------------------------------------|
21 | =TAB=             | rotate current subtree between states         |
22 | =S-TAB=           | rotate entire buffer between states           |
23 | =C-u C-u TAB=     | restore property-dependent startup visibility |
24 | =C-u C-u C-u TAB= | show the whole file, including drawers        |
25 | =C-c C-r=         | reveal context around point                   |
27 * Motion
29 | Key         | Function                          |
30 |-------------+-----------------------------------|
31 | =C-c C-n/p= | next/previous heading             |
32 | =C-c C-f/b= | next/previous heading, same level |
33 | =C-c C-u=   | backward to higher level heading  |
34 | =C-c C-j=   | jump to another place in document |
35 | =S-UP/DOWN= | previous/next plain list item     |
37 * Structure Editing
39 | Key                  | Function                                   |
40 |----------------------+--------------------------------------------|
41 | =M-RET=              | insert new heading/item at current level   |
42 | =C-RET=              | insert new heading after subtree           |
43 | =M-S-RET=            | insert new TODO entry/checkbox item        |
44 | =C-S-RET=            | insert TODO entry/ckbx after subtree       |
45 | =C-c -=              | turn (head)line into item, cycle item type |
46 | =C-c *=              | turn item/line into headline               |
47 | =M-LEFT/RIGHT=       | promote/demote heading                     |
48 | =M-S-LEFT/RIGHT=     | promote/demote current subtree             |
49 | =M-S-UP/DOWN=        | move subtree/list item up/down             |
50 | =C-c ^=              | sort subtree/region/plain-list             |
51 | =C-c C-x c=          | clone a subtree                            |
52 | =C-c C-x v=          | copy visible text                          |
53 | =C-c C-x C-w/M-w=    | kill/copy subtree                          |
54 | =C-c C-x C-y or C-y= | yank subtree                               |
55 | =C-x n s/w=          | narrow buffer to subtree / widen           |
57 * Capture - Refile - Archiving
59 | Key           | Function                                  |
60 |---------------+-------------------------------------------|
61 | =C-c c=       | capture a new item (C-u C-u = goto last)  |
62 | =C-c C-w=     | refile subtree (C-u C-u = goto last)      |
63 | =C-c C-x C-a= | archive subtree using the default command |
64 | =C-c C-x C-s= | move subtree to archive file              |
65 | =C-c C-x a/A= | toggle ARCHIVE tag / to ARCHIVE sibling   |
66 | =C-TAB=       | force cycling of an ARCHIVEd tree         |
68 * Filtering and Sparse Trees
70 | Key         | Function                                    |
71 |-------------+---------------------------------------------|
72 | =C-c /=     | construct a sparse tree by various criteria |
73 | =C-c / t/T= | view TODO's in sparse tree                  |
74 | =C-c a t=   | global TODO list in agenda mode             |
75 | =C-c a L=   | time sorted view of current org file        |
77 * Tables
79 *** Creating a table
81 - =C-c |=: convert region to table
82 - =C-3 C-c |= : separator at least 3 spaces
84 ** Commands available inside tables
86 The following commands work when the cursor is inside a table.  Outside of
87 tables, the same keys may have other functionality.
89 *** Re-aligning and field motion
91 | Key       | Function                                     |
92 |-----------+----------------------------------------------|
93 | =C-c C-c= | re-align the table without moving the cursor |
94 | =TAB=     | re-align the table, move to next field       |
95 | =S-TAB=   | move to previous field                       |
96 | =RET=     | re-align the table, move to next row         |
97 | =M-a/e=   | move to beginning/end of field               |
99 *** Row and column editing
101 | Key            | Function                                     |
102 |----------------+----------------------------------------------|
103 | =M-LEFT/RIGHT= | move the current column left                 |
104 | =M-S-LEFT=     | kill the current column                      |
105 | =M-S-RIGHT=    | insert new column to left of cursor position |
106 | =M-UP/DOWN=    | move the current row up/down                 |
107 | =M-S-UP=       | kill the current row or horizontal line      |
108 | =M-S-DOWN=     | insert new row above the current row         |
109 | =C-c -=        | insert hline below (C-u : above) current row |
110 | =C-c RET=      | insert hline and move to line below it       |
111 | =C-c ^=        | sort lines in region                         |
113 *** Regions
115 | Key                   | Function                             |
116 |-----------------------+--------------------------------------|
117 | =C-c C-x C-w/M-w/C-y= | cut/copy/paste rectangular region    |
118 | =C-c C-q=             | fill paragraph across selected cells |
120 *** Miscellaneous
122 | Key                    | Function                                    |
123 |------------------------+---------------------------------------------|
124 | =C-c `=                | edit the current field in a separate window |
125 | =C-u TAB=              | make current field fully visible            |
126 | =M-x org-table-export= | export as tab-separated file                |
127 | =M-x org-table-import= | import tab-separated file                   |
128 | =C-c +=                | sum numbers in current column/rectangle     |
130 To limit column width to N characters, use =... | <N> | ...=.
132 ** Tables created with the table.el package
134 | Key       | Function                              |
135 |-----------+---------------------------------------|
136 | =C-c ~=   | insert a new table.el table           |
137 | =C-c C-c= | recognize existing table.el table     |
138 | =C-c ~=   | convert table (Org-mode <-> table.el) |
140 ** Spreadsheet
142 - Formulas typed in field are executed by =TAB=, =RET= and =C-c C-c=.
143 - ~=~ introduces a column formula, ~:=~ a field formula.
144 - Example: Add Col1 and Col2: ~=1+2~
145 - ... with printf format specification: ~=1+2;%.2f~
146 - ... with constants from constants.el: ~=1/c/cm~
147 - sum from 2nd to 3rd hline: ~:=vsum(@II..@III)~
149 | Key             | Function                                      |
150 |-----------------+-----------------------------------------------|
151 | ~=~             | apply current column formula                  |
152 | ~C-c =~         | set and eval column formula                   |
153 | ~C-u C-c #~     | set and eval field formula                    |
154 | =C-c *=         | re-apply all stored equations to current line |
155 | =C-u C-c *=     | re-apply all stored equations to entire table |
156 | =C-u C-u C-c *= | iterate table to stability                    |
157 | =C-#=           | rotate calculation mark through # * ! ^ _     |
158 | =C-c ?=         | show line, column, formula reference          |
159 | =C-c }/{=       | toggle grid / debugger                        |
161 ** Formula Editor
163 | Key           | Function                              |
164 |---------------+---------------------------------------|
165 | =C-c '=       | edit formulas in separate buffer      |
166 | =C-c C-c=     | exit and install new formulas         |
167 | =C-u C-c C-c= | exit, install, and apply new formulas |
168 | =C-c C-q=     | abort                                 |
169 | =C-c C-r=     | toggle reference style                |
170 | =TAB=         | pretty-print Lisp formula             |
171 | =M-TAB=       | complete Lisp symbol                  |
172 | =S-cursor=    | shift reference point                 |
173 | =M-up/down=   | shift test line for column references |
174 | =M-S-up/down= | scroll the window showing the table   |
175 | =C-c }=       | toggle table coordinate grid          |
177 * Links
179 | Key           | Function                                    |
180 |---------------+---------------------------------------------|
181 | =C-c l=       | globally store link to the current location |
182 | =C-c C-l=     | insert a link (TAB completes stored links)  |
183 | =C-u C-c C-l= | insert file link with file name completion  |
184 | =C-c C-l=     | edit (also hidden part of) link at point    |
185 | =C-c C-o=     | open file links in emacs                    |
186 | =C-u C-c C-o= | ...force open in emacs/other window         |
187 | =mouse-1/2=   | open link at point                          |
188 | =mouse-3=     | ...force open in emacs/other window         |
189 | =C-c %=       | record a position in mark ring              |
190 | =C-c &=       | jump back to last followed link(s)          |
191 | =C-c C-x C-n= | find next link                              |
192 | =C-c C-x C-p= | find previous link                          |
193 | =C-c '=       | edit code snippet of file at point          |
194 | =C-c C-x C-v= | toggle inline display of linked images      |
196 * Working with Code (Babel)
198 | Key         | Function                                          |
199 |-------------+---------------------------------------------------|
200 | =C-c C-c=   | execute code block at point                       |
201 | =C-c C-o=   | open results of code block at point               |
202 | =C-c C-v c= | check code block at point for errors              |
203 | =C-c C-v j= | insert a header argument with completion          |
204 | =C-c C-v v= | view expanded body of code block at point         |
205 | =C-c C-v I= | view information about code block at point        |
206 | =C-c C-v g= | go to named code block                            |
207 | =C-c C-v r= | go to named result                                |
208 | =C-c C-v u= | go to the head of the current code block          |
209 | =C-c C-v n= | go to the next code block                         |
210 | =C-c C-v p= | go to the previous code block                     |
211 | =C-c C-v d= | demarcate a code block                            |
212 | =C-c C-v x= | execute the next key sequence in the code edit bu |
213 | =C-c C-v b= | execute all code blocks in current buffer         |
214 | =C-c C-v s= | execute all code blocks in current subtree        |
215 | =C-c C-v t= | tangle code blocks in current file                |
216 | =C-c C-v f= | tangle code blocks in supplied file               |
217 | =C-c C-v i= | ingest all code blocks in supplied file into the  |
218 | =C-c C-v z= | switch to the session of the current code block   |
219 | =C-c C-v l= | load the current code block into a session        |
220 | =C-c C-v a= | view sha1 hash of the current code block          |
222 * Completion
224 In-buffer completion completes TODO keywords at headline start, TeX macros
225 after `\', option keywords after `#-', TAGS after `:', and dictionary words
226 elsewhere.
228 | Key     | Function               |
229 |---------+------------------------|
230 | =M-TAB= | complete word at point |
232 * TODO Items and Checkboxes
234 | Key              | Function                                      |
235 |------------------+-----------------------------------------------|
236 | =C-c C-t=        | rotate the state of the current item          |
237 | =S-LEFT/RIGHT=   | select next/previous state                    |
238 | =C-S-LEFT/RIGHT= | select next/previous set                      |
239 | =C-c C-x o=      | toggle ORDERED property                       |
240 | =C-c C-v=        | view TODO items in a sparse tree              |
241 | =C-3 C-c C-v=    | view 3rd TODO keyword's sparse tree           |
242 | =C-c , [ABC]=    | set the priority of the current item          |
243 | =C-c , SPC=      | remove priority cookie from current item      |
244 | =S-UP/DOWN=      | raise/lower priority of current item          |
245 | =M-S-RET=        | insert new checkbox item in plain list        |
246 | =C-c C-x C-b=    | toggle checkbox(es) in region/entry/at point  |
247 | =C-c C-c=        | toggle checkbox at point                      |
248 | =C-c #=          | update checkbox statistics (C-u : whole file) |
250 * Tags
252 | Key           | Function                               |
253 |---------------+----------------------------------------|
254 | =C-c C-q=     | set tags for current heading           |
255 | =C-u C-c C-q= | realign tags in all headings           |
256 | =C-c \\=      | create sparse tree with matching tags  |
257 | =C-c C-o=     | globally (agenda) match tags at cursor |
259 * Properties and Column View
261 | Key                     | Function                              |
262 |-------------------------+---------------------------------------|
263 | =C-c C-x p/e=           | set property/effort                   |
264 | =C-c C-c=               | special commands in property lines    |
265 | =S-left/right=          | next/previous allowed value           |
266 | =C-c C-x C-c=           | turn on column view                   |
267 | =C-c C-x i=             | capture columns view in dynamic block |
268 | =q=                     | quit column view                      |
269 | =v=                     | show full value                       |
270 | =e=                     | edit value                            |
271 | =n/p= or =S-left/right= | next/previous allowed value           |
272 | =a=                     | edit allowed values list              |
273 | => / <=                 | make column wider/narrower            |
274 | =M-left/right=          | move column left/right                |
275 | =M-S-right=             | add new column                        |
276 | =M-S-left=              | Delete current column                 |
278 * Timestamps
280 | Key            | Function                                     |
281 |----------------+----------------------------------------------|
282 | =C-c .=        | prompt for date and insert timestamp         |
283 | =C-u C-c .=    | like C-c . but insert date and time format   |
284 | =C-c !=        | like C-c . but make stamp inactive           |
285 | =C-c C-d=      | insert DEADLINE timestamp                    |
286 | =C-c C-s=      | insert SCHEDULED timestamp                   |
287 | =C-c / d=      | create sparse tree with all deadlines due    |
288 | =C-c C-y=      | the time between 2 dates in a time range     |
289 | =S-RIGHT/LEFT= | change timestamp at cursor ±1 day            |
290 | =S-UP/DOWN=    | change year/month/day at cursor by ±1        |
291 | =C-c >=        | access the calendar for the current date     |
292 | =C-c <=        | insert timestamp matching date in calendar   |
293 | =C-c C-o=      | access agenda for current date               |
294 | =mouse-1/RET=  | select date while prompted                   |
295 | =C-c C-x C-t=  | toggle custom format display for dates/times |
297 ** Clocking time
299 | Key             | Function                              |
300 |-----------------+---------------------------------------|
301 | =C-c C-x C-i=   | start clock on current item           |
302 | =C-c C-x C-o/x= | stop/cancel clock on current item     |
303 | =C-c C-x C-d=   | display total subtree times           |
304 | =C-c C-c=       | remove displayed times                |
305 | =C-c C-x C-r=   | insert/update table with clock report |
307 * Agenda Views
309 | Key           | Function                                 |
310 |---------------+------------------------------------------|
311 | =C-c [=       | add/move current file to front of agenda |
312 | =C-c ]=       | remove current file from your agenda     |
313 | =C-'=         | cycle through agenda file list           |
314 | =C-c C-x </>= | set/remove restriction lock              |
315 | =C-c a a=     | compile agenda for the current week      |
316 | =C-c a t=     | compile global TODO list                 |
317 | =C-c a T=     | compile TODO list for specific keyword   |
318 | =C-c a m=     | match tags, TODO kwds, properties        |
319 | =C-c a M=     | match only in TODO entries               |
320 | =C-c a #=     | find stuck projects                      |
321 | =C-c a L=     | show timeline of current org file        |
322 | =C-c a C=     | configure custom commands                |
323 | =C-c C-o=     | agenda for date at cursor                |
325 ** Commands available in an agenda buffer
327 *** View Org file
329 | Key           | Function                                     |
330 |---------------+----------------------------------------------|
331 | =SPC/mouse-3= | show original location of item               |
332 | =L=           | show and recenter window                     |
333 | =TAB/mouse-2= | goto original location in other window       |
334 | =RET=         | goto original location, delete other windows |
335 | =C-c C-x b=   | show subtree in indirect buffer, ded.\ frame |
336 | =F=           | toggle follow-mode                           |
338 *** Change display
340 | Key             | Function                                  |
341 |-----------------+-------------------------------------------|
342 | =o=             | delete other windows                      |
343 | =v=             | view mode dispatcher                      |
344 | =d w vm vy vSP= | switch to day/week/month/year/def view    |
345 | =D / G / K=     | toggle diary entries / time grid / habits |
346 | =E / R=         | toggle entry text / clock report          |
347 | =l / v l/L/c=   | toggle display of logbook entries         |
348 | =v a/A=         | toggle inclusion of archived trees/files  |
349 | =r / g=         | refresh agenda buffer with any changes    |
350 | =/=             | filter with respect to a tag              |
351 | =s=             | save all org-mode buffers                 |
352 | =f / b=         | display next/previous day,week,...        |
353 | =. / j=         | goto today / some date (prompt)           |
355 *** Remote editing
357 | Key            | Function                                    |
358 |----------------+---------------------------------------------|
359 | =0-9=          | digit argument                              |
360 | =t=            | change state of current TODO item           |
361 | =C-k=          | kill item and source                        |
362 | =/ a=          | archive default                             |
363 | =C-c C-w=      | refile the subtree                          |
364 | =: / T=        | set/show tags of current headline           |
365 | =e=            | set effort property (prefix=nth)            |
366 | =, / P=        | set / compute priority of current item      |
367 | =S-UP/DOWN=    | raise/lower priority of current item        |
368 | =C-c C-a=      | run an attachment command                   |
369 | =C-c C-s/d=    | schedule/set deadline for this item         |
370 | =S-LEFT/RIGHT= | change timestamp one day earlier/later      |
371 | =>=            | change timestamp to today                   |
372 | =i=            | insert new entry into diary                 |
373 | =I / O / X=    | start/stop/cancel the clock on current item |
374 | =J=            | jump to running clock entry                 |
375 | =m / u / B=    | mark / unmark / execute bulk action         |
377 *** Misc
379 | Key       | Function                                       |
380 |-----------+------------------------------------------------|
381 | =C-c C-o= | follow one or offer all links in current entry |
383 *** Calendar commands
385 | Key | Function                                |
386 |-----+-----------------------------------------|
387 | =c= | find agenda cursor date in calendar     |
388 | =c= | compute agenda for calendar cursor date |
389 | =M= | show phases of the moon                 |
390 | =S= | show sunrise/sunset times               |
391 | =H= | show holidays                           |
392 | =C= | convert date to other calendars         |
394 *** Quit and Exit
396 | Key | Function                               |
397 |-----+----------------------------------------|
398 | =q= | quit agenda, remove agenda buffer      |
399 | =x= | exit agenda, remove all agenda buffers |
401 * LaTeX and cdlatex-mode
403 | Key           | Function                                 |
404 |---------------+------------------------------------------|
405 | =C-c C-x C-l= | preview LaTeX fragment                   |
406 | =TAB=         | expand abbreviation (cdlatex-mode)       |
407 | =` / '=       | insert/modify math symbol (cdlatex-mode) |
408 | =C-c C-x [=   | insert citation using RefTeX             |
410 * Exporting and Publishing
412 Exporting creates files with extensions .txt and .html in the current
413 directory. Publishing puts the resulting file into some other place.
415 | Key                    | Function                                   |
416 |------------------------+--------------------------------------------|
417 | =C-c C-e=              | export/publish dispatcher                  |
418 | =C-c C-e v=            | export visible part only                   |
419 | =C-c C-e t=            | insert template of export options          |
420 | =C-c :=                | toggle fixed width for entry or region     |
421 | =C-c C-x {\tt\char`\}= | toggle pretty display of scripts, entities |
423 **** Comments: Text not being exported
425 Lines starting with # and subtrees starting with =COMMENT= are never
426 exported.
428 | Key     | Function                        |
429 |---------+---------------------------------|
430 | =C-c ;= | toggle COMMENT keyword on entry |
432 * Dynamic Blocks
434 | Key               | Function                      |
435 |-------------------+-------------------------------|
436 | =C-c C-x C-u=     | update dynamic block at point |
437 | =C-u C-c C-x C-u= | update all dynamic blocks     |
439 * Footnotes
441 1. This is only a suggestion for a binding of this command.  Choose your
442    own key as shown under ACTIVATION.
444 2. Keybinding affected by =org-support-shift-select= and also
445    =org-replace-disputed-keys=.