Mercurial > emacs
annotate man/org.texi @ 90150:4eded3eec512
(create-fontset-from-mac-roman-font): Fix previous change.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 22 Apr 2005 04:18:42 +0000 |
parents | 6cd3b18f298e |
children | 88492f3ccffa |
rev | line source |
---|---|
58792 | 1 \input texinfo |
2 @c %**start of header | |
59542
fdada1e7ef51
Fixed typo in setfilename
Carsten Dominik <dominik@science.uva.nl>
parents:
59541
diff
changeset
|
3 @setfilename ../info/org |
58792 | 4 @settitle Org Mode Manual |
5 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
6 @set VERSION 3.06 |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
7 @set DATE April 2005 |
58792 | 8 |
9 @dircategory Emacs | |
10 @direntry | |
58848
99bd50b5d3ca
Fix @direntry file name.
Richard M. Stallman <rms@gnu.org>
parents:
58833
diff
changeset
|
11 * Org Mode: (org). Outline-based notes management and organizer |
58792 | 12 @end direntry |
13 | |
14 @c Version and Contact Info | |
15 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/org/,maintainers webpage} | |
16 @set MAINTAINER Carsten Dominik | |
17 @set MAINTAINEREMAIL @email{dominik@@science.uva.nl} | |
18 @set MAINTAINERCONTACT @uref{mailto:dominik@@science.uva.nl,contact the maintainer} | |
19 @c %**end of header | |
20 @finalout | |
21 | |
22 @c Macro definitions | |
23 | |
24 @c Subheadings inside a table. Need a difference between info and the rest. | |
25 @macro tsubheading{text} | |
26 @ifinfo | |
27 @subsubheading \text\ | |
28 @end ifinfo | |
29 @ifnotinfo | |
30 @item @b{\text\} | |
31 @end ifnotinfo | |
32 @end macro | |
33 | |
34 @copying | |
35 This manual is for Org-mode (version @value{VERSION}). | |
36 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
37 Copyright @copyright{} 2004, 2005 Free Software Foundation |
58792 | 38 |
39 @quotation | |
40 Permission is granted to copy, distribute and/or modify this document | |
41 under the terms of the GNU Free Documentation License, Version 1.1 or | |
42 any later version published by the Free Software Foundation; with no | |
43 Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' | |
44 and with the Back-Cover Texts as in (a) below. A copy of the | |
45 license is included in the section entitled ``GNU Free Documentation | |
46 License.'' | |
47 | |
48 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify | |
49 this GNU Manual, like GNU software. Copies published by the Free | |
50 Software Foundation raise funds for GNU development.'' | |
51 @end quotation | |
52 @end copying | |
53 | |
54 @titlepage | |
55 @title Org Mode Manual | |
56 | |
57 @subtitle Release @value{VERSION} | |
58 @author by Carsten Dominik | |
59 | |
60 @c The following two commands start the copyright page. | |
61 @page | |
62 @vskip 0pt plus 1filll | |
63 @insertcopying | |
64 @end titlepage | |
65 | |
66 @c Output the table of contents at the beginning. | |
67 @contents | |
68 | |
69 @ifnottex | |
70 @node Top, Introduction, (dir), (dir) | |
71 @top Org Mode Manual | |
72 | |
73 @insertcopying | |
74 @end ifnottex | |
75 | |
76 @menu | |
77 * Introduction:: Getting started | |
78 * Document Structure:: A tree works like your brain | |
79 * TODO items:: Every tree branch can be a TODO item | |
80 * Tables:: Pure magic for quick formatting | |
81 * Hyperlinks:: Notes in context | |
82 * Timestamps:: Assign date and time to items | |
83 * Timeline and Agenda:: Use time-stamped items to produce an agenda | |
84 * Exporting:: Sharing and publishing of notes | |
85 * Miscellaneous:: All the rest which did not fit elsewhere | |
86 * Index:: The fast road to specific information | |
87 * Key Index:: Key bindings and where they are described | |
88 | |
89 @detailmenu | |
90 --- The Detailed Node Listing --- | |
91 | |
92 Introduction | |
93 | |
94 * Summary:: Brief summary of what Org-mode does | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
95 * Installation and Activation:: How to install Org-mode |
58792 | 96 |
97 Document Structure | |
98 | |
99 * Outlines:: Org-mode is based on outline-mode | |
100 * Headlines:: How to typeset org-tree headlines | |
101 * Visibility cycling:: Show ad hide, much simplified | |
102 * Motion:: Jumping to other headlines | |
103 * Structure editing:: Changing sequence and level of headlines | |
104 * Sparse trees:: Matches embedded in context | |
105 | |
106 TODO items | |
107 | |
108 * TODO basics:: Marking and displaying TODO entries | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
109 * TODO extensions:: Workflow and assignments |
58792 | 110 * Priorities:: Some things are more important than others |
111 | |
112 Extended use of TODO keywords | |
113 | |
114 * Workflow states:: From TODO to DONE in steps | |
115 * TODO types:: I do this, Fred the rest | |
116 * Per file keywords:: Different files, different requirements | |
117 | |
118 Tables | |
119 | |
120 * Built-in table editor:: Simple tables | |
121 * table.el:: Complex tables | |
59541 | 122 * orgtbl-mode:: The table editor as minor mode |
58792 | 123 |
124 Hyperlinks | |
125 | |
126 * Links:: URL-like links to the world | |
127 * Remember:: Org-trees store quick notes | |
128 | |
129 Timestamps | |
130 | |
131 * Time stamps:: Assigning a time to a tree entry | |
132 * Creating timestamps:: Commands which insert timestamps | |
133 | |
134 Timeline and Agenda | |
135 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
136 * Timeline:: Time-sorted view for single file |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
137 * Agenda:: Your weekly planner |
58792 | 138 * Agenda commands:: Remote editing of org trees |
139 * Calendar/Diary integration:: Integrating Anniversaries and more | |
140 | |
141 Calendar/Diary integration | |
142 | |
143 * Diary to agenda:: Agenda incorporates the diary | |
144 * Agenda to diary:: Diary incorporates the agenda | |
145 | |
146 Exporting | |
147 | |
148 * Export commands:: Commands which export and display | |
149 * HTML formatting:: Interpretation of the buffer content | |
150 * Export options:: How to influence exports | |
151 * Comment lines:: Lines which will not be exported | |
152 | |
153 Miscellaneous | |
154 | |
155 * Completion:: M-TAB knows what you need | |
156 * Customization:: Adapting Org-mode to your taste | |
157 * Tips and Tricks:: An author-imposed FAQ, sort of | |
158 * Interaction:: Other Emacs packages | |
159 * Acknowledgments:: These people provided feedback and more | |
160 * Bugs:: Things which do not work perfectly | |
161 | |
162 @end detailmenu | |
163 @end menu | |
164 | |
165 @node Introduction, Document Structure, Top, Top | |
166 @chapter Introduction | |
167 @cindex introduction | |
168 | |
169 @menu | |
170 * Summary:: Brief summary of what Org-mode does | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
171 * Installation and Activation:: How to install Org-mode |
58792 | 172 @end menu |
173 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
174 @node Summary, Installation and Activation, Introduction, Introduction |
58792 | 175 @section Summary |
176 @cindex summary | |
177 | |
178 Org-mode is a mode for keeping notes, maintaining ToDo lists, and doing | |
179 project planning with a fast and effective plain-text system. | |
180 | |
181 Org-mode develops organizational tasks around NOTES files that contain | |
182 information about projects as plain text. Org-mode is implemented on | |
183 top of outline-mode, which makes it possible to keep the content of | |
184 large files well structured. Visibility cycling and structure editing | |
185 help to work with the tree. Tables are easily created with a built-in | |
186 table editor. Org-mode supports ToDo items, deadlines, time stamps, | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
187 and scheduling. It dynamically compiles entries into an agenda that |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
188 utilizes and smoothly integrates much of the Emacs calendar and diary. |
58792 | 189 Plain text URL-like links connect to websites, emails, usenet |
190 messages, BBDB entries, and any files related to the projects. For | |
191 printing and sharing of notes, an Org-mode file can be exported as a | |
192 structured ASCII file, or as HTML. | |
193 | |
194 Org-mode keeps simple things simple. Not every outline branch needs | |
195 to be an action item, not every action item needs to have priority or | |
196 scheduling information associated with it. Org-mode can be used on | |
197 different levels and in different ways, for example | |
198 | |
199 @example | |
200 @r{@bullet{} as an outline extension with visibility cycling and structure editing} | |
201 @r{@bullet{} as an ASCII system and table editor to take structured notes} | |
202 @r{@bullet{} as a simple hypertext system, with HTML export} | |
203 @r{@bullet{} as a TODO list editor} | |
204 @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} | |
205 @end example | |
206 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
207 The Org-mode table editor can be integrated into any major mode by |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
208 activating the minor Orgtbl-mode. |
59541 | 209 |
210 There is a website for Org-mode which provides links to the newest | |
211 version of Org-mode, as well as additional information, screen shots | |
212 and example files. This page is located at | |
213 @uref{http://www.astro.uva.nl/~dominik/Tools/org/}. | |
214 | |
215 @page | |
216 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
217 @node Installation and Activation, , Summary, Introduction |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
218 @section Installation and Activation |
58792 | 219 @cindex installation |
220 @cindex autoload | |
221 @cindex global keybindings | |
222 @cindex keybindings, global | |
223 | |
224 The instructions below assume that you have downloaded Org-mode from | |
225 the web. If Org-mode is part of the Emacs distribution or an XEmacs | |
226 package, you only need to add to @file{.emacs} the last three Lisp | |
227 lines below - all the rest will be taken care of automatically. | |
228 | |
229 Byte-compile @file{org.el} and put it on your load path. If you'd | |
230 like to use the Info documentation, copy the file @file{org} into the | |
231 directory containing info files and run the command @code{install-info | |
232 org}. | |
233 | |
234 Then copy the following lines into @file{.emacs}. The last two lines | |
235 define @emph{global} keys for the commands @command{org-store-link} | |
236 and @command{org-agenda} - please choose suitable keys yourself. | |
237 | |
238 @lisp | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
239 ;; These lines only if org-mode is not part of the X/Emacs distribution. |
58792 | 240 (autoload 'org-mode "org" "Org mode" t) |
241 (autoload 'org-diary "org" "Diary entries from Org mode") | |
242 (autoload 'org-agenda "org" "Multi-file agenda from Org mode" t) | |
243 (autoload 'org-store-link "org" "Store a link to the current location" t) | |
59541 | 244 (autoload 'orgtbl-mode "org" "Org tables as a minor mode" t) |
245 (autoload 'turn-on-orgtbl "org" "Org tables as a minor mode") | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
246 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
247 ;; The following lines are always needed. Choose your own keys. |
58792 | 248 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) |
249 (define-key global-map "\C-cl" 'org-store-link) | |
250 (define-key global-map "\C-ca" 'org-agenda) | |
251 @end lisp | |
252 | |
253 @cindex org-mode, turning on | |
254 @noindent | |
255 This will put all files with extension @samp{.org} into Org-mode. As | |
256 an alternative, make the first line of a file look like this: | |
257 | |
258 @example | |
259 MY PROJECTS -*- mode: org; -*- | |
260 @end example | |
261 | |
262 @noindent which will select Org-mode for this buffer no matter what | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
263 the file's name is. See also the variable |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
264 @code{org-insert-mode-line-in-empty-file'}. |
58792 | 265 |
266 @node Document Structure, TODO items, Introduction, Top | |
267 @chapter Document Structure | |
268 @cindex document structure | |
269 @cindex structure of document | |
270 | |
271 Org-mode is based on outline mode and provides flexible commands to | |
272 edit the structure of the document. | |
273 | |
274 @menu | |
275 * Outlines:: Org-mode is based on outline-mode | |
276 * Headlines:: How to typeset org-tree headlines | |
277 * Visibility cycling:: Show ad hide, much simplified | |
278 * Motion:: Jumping to other headlines | |
279 * Structure editing:: Changing sequence and level of headlines | |
280 * Sparse trees:: Matches embedded in context | |
281 @end menu | |
282 | |
283 @node Outlines, Headlines, Document Structure, Document Structure | |
284 @section Outlines | |
285 @cindex outlines | |
286 @cindex outline-mode | |
287 | |
288 Org-mode is implemented on top of outline-mode. Outlines allow to | |
289 organize a document in a hierarchical structure, which (at least for | |
290 me) is the best representation of notes and thoughts. Overview over | |
291 this structure is achieved by folding (hiding) large parts of the | |
292 document to show only the general document structure and the parts | |
293 currently being worked on. Org-mode greatly simplifies the use of | |
294 outlines by compressing the entire show/hide functionality into a | |
295 single command @command{org-cycle}, which is bound to the @key{TAB} | |
296 key. | |
297 | |
298 @node Headlines, Visibility cycling, Outlines, Document Structure | |
299 @section Headlines | |
300 @cindex headlines | |
301 @cindex outline tree | |
302 | |
303 Headlines define the structure of an outline tree. The Headlines in | |
304 Org-mode start with one or more stars, for example | |
305 | |
306 @example | |
307 * Top level headline | |
308 ** Second level | |
309 *** 3rd level | |
310 some text | |
311 *** 3rd level | |
312 more text | |
313 * Another top level headline | |
314 @end example | |
315 | |
316 @node Visibility cycling, Motion, Headlines, Document Structure | |
317 @section Visibility cycling | |
318 @cindex visibility cycling | |
319 @cindex trees, visibility | |
320 | |
321 Outlines make it possible to hide parts of the text in the buffer. | |
322 Org-mode uses a single command bound to the @key{TAB} key to change | |
323 the visibility in the buffer. | |
324 | |
325 @cindex subtree visibility states | |
326 @cindex folded, subtree visibility state | |
327 @cindex children, subtree visibility state | |
328 @cindex subtree, subtree visibility state | |
329 @table @kbd | |
330 @kindex @key{TAB} | |
331 @item @key{TAB} | |
332 Rotate current subtree between the states | |
333 @example | |
334 ,-> FOLDED -> CHILDREN -> SUBTREE --. | |
335 '-----------------------------------' | |
336 @end example | |
337 At the beginning of the buffer (or when called with @kbd{C-u}), this does | |
338 the same as the command @kbd{S-@key{TAB}} below. | |
339 | |
340 @cindex global visibility states | |
341 @cindex overview, global visibility state | |
342 @cindex contents, global visibility state | |
343 @cindex show all, global visibility state | |
344 @kindex S-@key{TAB} | |
345 @item S-@key{TAB} | |
346 Rotate the entire buffer between the states | |
347 @example | |
348 ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. | |
349 '--------------------------------------' | |
350 @end example | |
351 Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. | |
352 | |
353 @cindex show all, command | |
354 @kindex C-c C-a | |
355 @item C-c C-a | |
356 Show all. | |
357 @end table | |
358 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
359 When Emacs firsts visits a Org-mode file, the global state is set to |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
360 OVERVIEW, i.e. only the top level headlines are visible. This can be |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
361 configured through the variable @code{org-startup-folded}, or on a |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
362 per-file basis by adding one of the following lines anywhere in the |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
363 buffer: |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
364 |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
365 @example |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
366 #+STARTUP: fold |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
367 #+STARTUP: nofold |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
368 #+STARTUP: content |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
369 @end example |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
370 |
58792 | 371 @node Motion, Structure editing, Visibility cycling, Document Structure |
372 @section Motion | |
373 @cindex motion, between headlines | |
374 @cindex jumping, to headlines | |
375 The following commands jump to other headlines in the buffer. | |
376 | |
377 @table @kbd | |
378 @kindex C-c C-n | |
379 @item C-c C-n | |
380 Next heading. | |
381 @kindex C-c C-p | |
382 @item C-c C-p | |
383 Previous heading. | |
384 @kindex C-c C-f | |
385 @item C-c C-f | |
386 Next heading same level. | |
387 @kindex C-c C-b | |
388 @item C-c C-b | |
389 Previous heading same level. | |
390 @kindex C-c C-u | |
391 @item C-c C-u | |
392 Backward to higher level heading. | |
393 @kindex C-c C-j | |
394 @item C-c C-j | |
395 Jump to a different place without changing the current outline | |
396 visibility. Shows the document structure in a temporary buffer, where | |
397 you can use visibility cycling (@key{TAB}) to find your destination. | |
398 After pressing @key{RET}, the cursor moves to the selected location in | |
399 the original buffer, and the headings hierarchy above it is made | |
400 visible. | |
401 @end table | |
402 | |
403 @node Structure editing, Sparse trees, Motion, Document Structure | |
404 @section Structure editing | |
405 @cindex structure editing | |
406 @cindex headline, promotion and demotion | |
407 @cindex promotion, of subtrees | |
408 @cindex demotion, of subtrees | |
409 @cindex subtree, cut and paste | |
410 @cindex pasting, subtrees | |
411 @cindex cutting, subtrees | |
412 @cindex copying, subtrees | |
413 | |
414 @table @kbd | |
415 @kindex M-@key{RET} | |
416 @item M-@key{RET} | |
417 Insert new heading with same level as current | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
418 @kindex M-S-@key{RET} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
419 @item M-S-@key{RET} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
420 Insert new TODO entry with same level as current heading. |
58792 | 421 @kindex M-@key{left} |
422 @item M-@key{left} | |
423 Promote current heading by one level | |
424 @kindex M-@key{right} | |
425 @item M-@key{right} | |
426 Demote current heading by one level | |
427 @kindex M-S-@key{left} | |
428 @item M-S-@key{left} | |
429 Promote the current subtree by one level | |
430 @kindex M-S-@key{right} | |
431 @item M-S-@key{right} | |
432 Demote the current subtree by one level | |
433 @kindex M-S-@key{up} | |
434 @item M-S-@key{up} | |
435 Move subtree up (swap with previous subtree of same level) | |
436 @kindex M-S-@key{down} | |
437 @item M-S-@key{down} | |
438 Move subtree down (swap with next subtree of same level) | |
439 @kindex C-c C-h C-w | |
440 @item C-c C-h C-w | |
441 Kill subtree, i.e. remove it from buffer but save in kill ring. | |
442 @kindex C-c C-h M-w | |
443 @item C-c C-h M-w | |
444 Copy subtree to kill ring. | |
445 @kindex C-c C-h C-y | |
446 @item C-c C-h C-y | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
447 Yank subtree from kill ring. This does modify the level of the subtree to |
58792 | 448 make sure the tree fits in nicely at the yank position. The yank |
449 level can also be specified with a prefix arg, or by yanking after a | |
450 headline marker like @samp{****}. | |
451 @end table | |
452 | |
453 @cindex region, active | |
454 @cindex active region | |
455 @cindex transient-mark-mode | |
456 When there is an active region (transient-mark-mode), promotion and | |
457 demotion work on all headlines in the region. To select a region of | |
458 headlines, it is best to place both point and mark at the beginning of a | |
459 line, mark at the beginning of the first headline, and point at the line | |
460 just after the last headline to change. Note that when the cursor is | |
461 inside a table (@pxref{Tables}), the Meta-Cursor keys have different | |
462 functionality. | |
463 | |
464 @node Sparse trees, , Structure editing, Document Structure | |
465 @section Sparse trees | |
466 @cindex sparse trees | |
467 @cindex trees, sparse | |
468 @cindex folding, sparse trees | |
469 @cindex occur, command | |
470 | |
471 An important feature of Org-mode is the ability to construct | |
472 @emph{sparse trees} for selected information in an outline tree. A | |
473 sparse tree means that the entire document is folded as much as | |
474 possible, but the selected information is made visible along with the | |
475 headline structure above it. Just try it out and you will see | |
476 immediately how it works. | |
477 | |
478 Org-mode contains several commands creating such trees. The most | |
479 basic one is @command{org-occur}: | |
480 | |
481 @table @kbd | |
482 @kindex C-c / | |
483 @item C-c / | |
484 Occur. Prompts for a regexp and shows a sparse tree with all matches. | |
485 If the match is in a headline, the headline is made visible. If the | |
486 match is in the body of an entry, headline and body are made visible. | |
487 In order to provide minimal context, also the full hierarchy of | |
488 headlines above the match is shown, as well as the headline following | |
489 the match. | |
490 @end table | |
491 | |
492 Other commands are using this feature as well. For example @kbd{C-c | |
493 C-v} creates a sparse TODO tree (@pxref{TODO basics}). | |
494 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
495 @kindex C-c C-x v |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
496 @cindex printing sparse trees |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
497 @cindex visible text, printing |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
498 To print a sparse tree, you can use the Emacs command |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
499 @code{ps-print-buffer-with-faces} which does not print invisible parts |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
500 of the document @footnote{this does not work under XEmacs, because |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
501 XEmacs uses selective display for outlining, not text properties}. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
502 Or you can use the command @kbd{C-c C-x v} to copy the visible part of |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
503 the document to another file (extension @file{.txt}) which then can be |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
504 printed in any desired way. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
505 |
58792 | 506 @node TODO items, Tables, Document Structure, Top |
507 @chapter TODO items | |
508 @cindex TODO items | |
509 | |
510 Org-mode does not maintain TODO lists as a separate document. TODO | |
511 items are an integral part of the notes file, because TODO items | |
512 usually come up while taking notes! With Org-mode, you simply mark | |
513 any entry in a tree as being a TODO item. In this way, the | |
514 information is not duplicated, and the entire context from which the | |
515 item emerged is always present when you check. | |
516 | |
517 Of course, this technique causes TODO items to be scattered throughout | |
518 your file. Org-mode provides methods to give you an overview over all | |
519 things you have to do. | |
520 | |
521 @menu | |
522 * TODO basics:: Marking and displaying TODO entries | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
523 * TODO extensions:: Workflow and assignments |
58792 | 524 * Priorities:: Some things are more important than others |
525 @end menu | |
526 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
527 @node TODO basics, TODO extensions, TODO items, TODO items |
58792 | 528 @section Basic TODO functionality |
529 | |
530 Any headline can become a TODO item by starting it with the word TODO, | |
531 for example | |
532 | |
533 @example | |
534 *** TODO Write letter to Sam Fortune | |
535 @end example | |
536 | |
537 @noindent | |
538 The most important commands to work with TODO entries are: | |
539 | |
540 @table @kbd | |
541 @kindex C-c C-t | |
542 @item C-c C-t | |
543 Rotate the TODO state of the current item between | |
544 @example | |
545 ,-> (unmarked) -> TODO -> DONE --. | |
546 '--------------------------------' | |
547 @end example | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
548 The same rotation can also be done ``remotely'' from the timeline and |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
549 agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). |
58792 | 550 @kindex C-c C-v |
551 @cindex sparse tree, for TODO | |
552 @item C-c C-v | |
553 View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds | |
554 the entire buffer, but shows all TODO items and the headings hierarchy | |
555 above them. With prefix arg, show also the DONE entries. | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
556 @item C-u C-c a |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
557 A @kbd{C-u} argument to the @code{org-agenda command} (@pxref{Agenda}) |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
558 collects all unfinished TODO items into a single place. |
58792 | 559 @end table |
560 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
561 @node TODO extensions, Priorities, TODO basics, TODO items |
58792 | 562 @section Extended use of TODO keywords |
563 @cindex extended TODO keywords | |
564 | |
565 The default implementation of TODO entries is just two states: TODO | |
566 and DONE. You can, however, use the TODO feature for more | |
567 complicated things by configuring the variables | |
568 @code{org-todo-keywords} and @code{org-todo-interpretation}. Using | |
569 special setup, you can even use TODO keywords in different ways in | |
570 different org files. | |
571 | |
572 @menu | |
573 * Workflow states:: From TODO to DONE in steps | |
574 * TODO types:: I do this, Fred the rest | |
575 * Per file keywords:: Different files, different requirements | |
576 @end menu | |
577 | |
578 @node Workflow states, TODO types, TODO extensions, TODO extensions | |
579 @subsection TODO keywords as workflow states | |
580 @cindex TODO workflow | |
581 @cindex workflow states as TODO keywords | |
582 | |
583 You can use TODO keywords to indicate different states in the process | |
584 of working on an item, for example | |
585 | |
586 @lisp | |
587 (setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE") | |
588 org-todo-interpretation 'sequence) | |
589 @end lisp | |
590 | |
591 With this setup, the command @kbd{C-c C-t} will cycle an entry from | |
592 TODO to FEEDBACK, then to VERIFY, and finally too DONE. You may also | |
593 use a prefix argument to quickly select a specific state. For example | |
594 @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. | |
595 If you define many keywords, you can use in-buffer completion (see | |
596 @ref{Completion}) to insert these words into the buffer. | |
597 | |
598 @node TODO types, Per file keywords, Workflow states, TODO extensions | |
599 @subsection TODO keywords as types | |
600 @cindex TODO types | |
601 @cindex names as TODO keywords | |
602 @cindex types as TODO keywords | |
603 | |
604 The second possibility is to use TODO keywords to indicate different | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
605 types of action items. For example, you might want to indicate that |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
606 items are for ``work'' or ``home''. Or, when you work with several |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
607 people on a single project, you might want to assign action items |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
608 directly to persons, by using their names as TODO keywords. This |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
609 would be set up like this: |
58792 | 610 |
611 @lisp | |
612 (setq org-todo-keywords '("Fred" "Sara" "Lucy" "Mike" "DONE") | |
613 org-todo-interpretation 'type) | |
614 @end lisp | |
615 | |
616 In this case, different keywords do not indicate a sequence, but | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
617 rather different types. So it is normally not useful to change from |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
618 one type to another. Therefore, in this case the the behavior of the |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
619 command @kbd{C-c C-t} is changed slightly@footnote{This is also true |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
620 for the @kbd{t} command in the timeline and agenda buffers}. When |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
621 used several times in succession, it will still cycle through all |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
622 names. But when when you return to the item after some time and |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
623 execute @kbd{C-c C-t} again, it will switch from each name directly to |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
624 DONE. Use prefix arguments or completion to quickly select a specific |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
625 name. |
58792 | 626 |
627 @node Per file keywords, , TODO types, TODO extensions | |
628 @subsection Setting up TODO keywords for individual files | |
629 @cindex keyword options | |
630 @cindex per file keywords | |
631 | |
632 It can be very useful to use different aspects of the TODO mechanism | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
633 in different files, which is not possible with the global settings |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
634 described above. For file-local settings, you need to add special |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
635 lines to the file which set the keywords and interpretation for that |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
636 file only. For example, to set one of the two examples discussed |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
637 above, you need one of the following lines, starting in column zero |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
638 anywhere in the file: |
58792 | 639 |
640 @example | |
641 #+SEQ_TODO: TODO FEEDBACK VERIFY DONE | |
642 #+TYP_TODO: Fred Sara Lucy Mike DONE | |
643 @end example | |
644 | |
645 @cindex Completing option keywords | |
646 @kindex M-@key{TAB} | |
647 @noindent To make sure you are using the correct keyword, type | |
648 @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. | |
649 | |
650 @cindex DONE, final TODO keyword | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
651 Remember that the last keyword must always mean that the item is DONE |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
652 (you may use a different word, though). Also note that in each file, |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
653 only one of the two aspects of TODO keywords can be used. After |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
654 changing one of these lines, use @kbd{C-c C-c} with the cursor still |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
655 in the line to make the changes known to Org-mode@footnote{Org-mode |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
656 parses these lines only when Org-mode is activated after visiting a |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
657 file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#-} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
658 is simply restarting Org-mode, making sure that these changes will be |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
659 respected.}. |
58792 | 660 |
661 If you want to use very many keywords, for example when working with a | |
662 large group of people, you may split the names over several lines: | |
663 | |
664 @example | |
665 #+TYP_TODO: Fred Sara Lucy Mike | |
666 #+TYP_TODO: Luis George Jules Jessica | |
667 #+TYP_TODO: Kim Arnold Peter | |
668 #+TYP_TODO: DONE | |
669 @end example | |
670 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
671 @node Priorities, , TODO extensions, TODO items |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
672 @section Priorities |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
673 @cindex priorities |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
674 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
675 If you use Org-mode extensively to organize your work, you may end up |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
676 with a number of TODO entries so large that you'd like to prioritize |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
677 them. This can be done by placing a @emph{priority cookie} into the |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
678 headline, like this |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
679 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
680 @example |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
681 *** TODO [#A] Write letter to Sam Fortune |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
682 @end example |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
683 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
684 @noindent |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
685 With its standard setup, Org-mode supports priorities @samp{A}, |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
686 @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
687 without a cookie is treated as priority @samp{B}. Priorities make a |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
688 difference only in the agenda (@pxref{Agenda}). |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
689 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
690 @table @kbd |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
691 @kindex @kbd{C-c ,} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
692 @item @kbd{C-c ,} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
693 Set the priority of the current item. The command prompts for a |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
694 priority character @samp{A}, @samp{B} or @samp{C}. When you press |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
695 @key{SPC} instead, the priority cookie is removed from the headline. |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
696 The priorities can also be changed ``remotely'' from the timeline and |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
697 agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
698 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
699 @kindex S-@key{up} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
700 @kindex S-@key{down} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
701 @item S-@key{up} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
702 @itemx S-@key{down} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
703 Increase/decrease priority of current item. Note that these keys are |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
704 also used to modify time stamps (@pxref{Creating timestamps}). |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
705 @end table |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
706 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
707 |
58792 | 708 @node Tables, Hyperlinks, TODO items, Top |
709 @chapter Tables | |
710 @cindex tables | |
711 | |
712 For taking notes, tables are an essential tool because they allow | |
713 immediate and clear structuring of data. Org-mode has a very fast and | |
714 intuitive table editor built-in. More complex tables can be created | |
715 with the Emacs table.el package. | |
716 | |
717 @menu | |
718 * Built-in table editor:: Simple tables | |
719 * table.el:: Complex tables | |
59541 | 720 * orgtbl-mode:: The table editor as minor mode |
58792 | 721 @end menu |
722 | |
723 @node Built-in table editor, table.el, Tables, Tables | |
724 @section The built-in table editor | |
725 @cindex table editor, builtin | |
726 | |
727 Org-mode makes it easy to format tables in plain ASCII. Any line with | |
728 @samp{|} as the first non-white character is considered part of a | |
729 table. @samp{|} is also the column separator. A table might look | |
730 like this: | |
731 | |
732 @example | |
733 | Name | Phone | Age | | |
734 |-------+-------+-----| | |
735 | Peter | 1234 | 17 | | |
736 | Anna | 4321 | 25 | | |
737 @end example | |
738 | |
739 A table is re-aligned automatically each time you press @key{TAB} or | |
740 @key{RET} inside the table. @key{TAB} also moves to the next field | |
741 (@key{RET} to the next row) and creates new table rows at the end of the | |
742 table or before horizontal lines. The indentation of the table is set | |
743 by the first line. Any line starting with @samp{|-} is considered as a | |
744 horizontal separator line and will be expanded on the next re-align to | |
745 span the whole table width. So, to create the above table, you would | |
746 only type | |
747 | |
748 @example | |
749 |Name|Phone|Age | |
750 |- | |
751 @end example | |
752 | |
753 @noindent and then press @key{TAB} to align the table and start filling in | |
754 fields. | |
755 | |
756 @table @kbd | |
757 @tsubheading{Creation and conversion} | |
758 @kindex C-c C-c | |
759 @item C-c C-c | |
760 Recognize @file{table.el} table. Works when the cursor is in a | |
761 table.el table | |
762 | |
763 @kindex C-c C-c | |
764 @item C-c C-c | |
765 Convert region to table. Works when the cursor is not in an existing | |
766 table, and when there is a region defined. If every line contains at | |
767 least one TAB character, the function assumes that the material is tab | |
768 separated. If not, lines are split at whitespace into fields. You | |
769 can use a prefix argument to indicate how many consecutive spaces are | |
770 at least required to indicate a field separator (default: just one). | |
771 | |
772 @item M-x org-table-create | |
773 Creates an empty Org-mode table. However, it is much easier to just | |
774 start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}} | |
775 | |
776 @tsubheading{Re-aligning and field motion} | |
777 @kindex C-c C-c | |
778 @item C-c C-c | |
779 Re-align the table without moving the cursor. | |
780 | |
781 @kindex @key{TAB} | |
782 @item @key{TAB} | |
783 Re-align the table, move to the next field. Creates a new row if | |
784 necessary. | |
785 | |
786 @kindex S-@key{TAB} | |
787 @item S-@key{TAB} | |
788 Move to previous field. | |
789 | |
790 @kindex @key{RET} | |
791 @item @key{RET} | |
792 Re-align the table and move down to next row. Creates a new row if | |
793 necessary. At the beginning or end of a line, @key{RET} still does | |
794 NEWLINE, so it can be used to split a table. | |
795 | |
796 @tsubheading{Column and row editing} | |
797 @kindex M-@key{left} | |
798 @kindex M-@key{right} | |
799 @item M-@key{left} | |
800 @itemx M-@key{right} | |
801 Move the current column left/right | |
802 | |
803 @kindex M-S-@key{left} | |
804 @item M-S-@key{left} | |
805 Kill the current column. | |
806 | |
807 @kindex M-S-@key{right} | |
808 @item M-S-@key{right} | |
809 Insert a new column to the left of the cursor position. | |
810 | |
811 @kindex M-@key{up} | |
812 @kindex M-@key{down} | |
813 @item M-@key{up} | |
814 @itemx M-@key{down} | |
815 Move the current row up/down | |
816 | |
817 @kindex M-S-@key{up} | |
818 @item M-S-@key{up} | |
819 Kill the current row or horizontal line. | |
820 | |
821 @kindex M-S-@key{down} | |
822 @item M-S-@key{down} | |
823 Insert a new row above (with arg: below) the current row. | |
824 | |
825 @kindex C-c - | |
826 @item C-c - | |
827 Insert a horizontal line below current row. With prefix arg, line is | |
828 created above the current line. | |
829 | |
830 @tsubheading{Regions} | |
831 @kindex C-c C-h M-w | |
832 @item C-c C-h M-w | |
833 Copy an rectangular region from a table to a special clipboard. Point | |
834 and mark determine edge fields of the rectangle. The process ignores | |
835 horizontal separator lines. | |
836 @kindex C-c C-h C-w | |
837 @item C-c C-h C-w | |
838 Copy an rectangular region from a table to a special clipboard, and | |
839 blank all fields in the rectangle. | |
840 @kindex C-c C-h C-y | |
841 @item C-c C-h C-y | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
842 Paste a rectangular region into a table. |
58792 | 843 The upper right corner ends up in the current field. All involved fields |
844 will be overwritten. If the rectangle does not fit into the present table, | |
845 the table is enlarged as needed. The process ignores horizontal separator | |
846 lines. | |
847 @kindex C-c C-q | |
848 @item C-c C-q | |
849 Wrap several fields in a column like a paragraph. If there is an active | |
850 region, and both point and mark are in the same column, the text in the | |
851 column is wrapped to minimum width for the given number of lines. A | |
852 prefix ARG may be used to change the number of desired lines. If there | |
853 is no region, the current field is split at the cursor position and the | |
854 text fragment to the right of the cursor is prepended to the field one | |
855 line down. If there is no region, but you specify a prefix ARG, the | |
856 current field gets blank, and the content is appended to the field | |
857 above. | |
858 | |
859 @tsubheading{Calculations} | |
860 @kindex C-c ? | |
861 @item C-c ? | |
862 Which table column is the cursor in? Displays number >0 in echo | |
863 area. | |
864 | |
865 @cindex region, active | |
866 @cindex active region | |
867 @cindex transient-mark-mode | |
868 @kindex C-c + | |
869 @item C-c + | |
870 Sum the numbers in the current column, or in the rectangle defined by | |
871 the active region. The result is displayed in the echo area and can | |
872 be inserted with @kbd{C-y}. | |
873 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
874 @kindex S-@key{RET} |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
875 @item S-@key{RET} |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
876 When current field is empty, copy from first non-empty field above. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
877 When not empty, copy current field down to next row and move cursor |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
878 along with it. Depending on the variable |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
879 @code{org-table-copy-increment}, integer field values will be |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
880 incremented during copy. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
881 |
58792 | 882 @cindex formula, in tables |
883 @cindex calculations, in tables | |
884 @kindex C-c = | |
885 @item C-c = | |
886 Replace current field with the result of a formula. Requires the | |
887 Emacs calc package. The formula can access the current field with | |
888 @samp{$}, and the other fields in the current row | |
889 with @samp{$1}, @samp{$2},... For details see the documentation of the | |
890 command @command{org-table-eval-formula}. | |
891 | |
892 @tsubheading{Miscellaneous} | |
893 @kindex C-c | | |
894 @item C-c | | |
895 Toggle the visibility of vertical lines in tables. The lines are | |
896 still there, only made invisible with a text property. Any @samp{|} | |
897 added by hand will become invisible on the next align. | |
898 Typographically it is good style to have no vertical lines in tables. | |
899 | |
900 @item M-x org-table-import | |
901 Import a file as a table. The table should be TAB- or whitespace | |
902 separated. Useful for example to import an Excel table or data from a | |
903 database, because these programs generally can write TAB-separated text | |
904 files. This command works by inserting the file into the buffer and | |
905 then converting the region to a table. Any prefix argument is passed on | |
906 to the converter, which uses it to determine the separator. | |
907 | |
908 @item M-x org-table-export | |
909 Export the table as a TAB-separated file. Useful for data exchange with | |
910 for example Excel or database programs. | |
911 | |
912 @end table | |
913 | |
914 If you don't like the automatic table editor because it gets into your | |
915 way in lines which you would like to start with @samp{|}, you can turn | |
916 it off with | |
917 @lisp | |
918 (setq org-enable-table-editor nil) | |
919 @end lisp | |
920 @noindent The only table command which then still works is | |
921 @kbd{C-c C-c} to do a manual re-align. | |
922 | |
59541 | 923 @node table.el, orgtbl-mode, Built-in table editor, Tables |
58792 | 924 @section The @file{table.el} package |
925 @kindex C-c C-c | |
926 @cindex table editor, table.el | |
927 @cindex @file{table.el} | |
928 | |
929 More complex ASCII tables (with automatic line wrapping, column- and | |
930 row-spanning, and alignment) can be created using the Emacs table | |
931 package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}). | |
932 When @key{TAB} or @kbd{C-c C-c} is pressed in such a table, Org-mode | |
933 will call @command{table-recognize-table} and move the cursor into the | |
934 table. Inside a table, the keymap of Org-mode is inactive. In order | |
935 to execute org-related commands, leave the table. | |
936 | |
937 @table @kbd | |
938 @kindex C-c # | |
939 @item C-c # | |
940 Insert a table.el table. If there is already a table at point, this | |
941 command converts it between the table.el format and the Org-mode | |
942 format. See the documentation string of the command | |
943 @code{org-convert-table} for the restrictions under which this is | |
944 possible. | |
945 @end table | |
946 | |
59541 | 947 @node orgtbl-mode, , table.el, Tables |
948 @section The Orgtbl minor mode | |
949 @cindex orgtbl-mode | |
950 @cindex Minor mode for tables | |
951 | |
952 If you like the intuitive way the Org-mode table editor works, you | |
953 might want to use it also in other modes like text-mode or mail-mode. | |
954 The minor mode Orgtbl-mode make this possible. You can always toggle | |
955 the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for | |
956 example in mail mode, use | |
957 @lisp | |
958 (add-hook 'mail-mode-hook 'turn-on-orgtbl) | |
959 @end lisp | |
960 | |
58792 | 961 @node Hyperlinks, Timestamps, Tables, Top |
962 @chapter Hyperlinks | |
963 @cindex hyperlinks | |
964 | |
965 Just like HMTL, Org-mode provides links to other files, usenet | |
966 articles, emails and much more. | |
967 | |
968 @menu | |
969 * Links:: URL-like links to the world | |
970 * Remember:: Org-trees store quick notes | |
971 @end menu | |
972 | |
973 @node Links, Remember, Hyperlinks, Hyperlinks | |
974 @section Links | |
975 @cindex links | |
976 @cindex GNUS links | |
977 @cindex BBDB links | |
978 @cindex VM links | |
979 @cindex RMAIL links | |
980 @cindex WANDERLUST links | |
981 @cindex USENET links | |
982 @cindex SHELL links | |
983 | |
984 Org-mode supports links to files, websites, usenet and email messages; | |
985 and BBDB database entries. Links are just plain-text URL-like locators. | |
986 The following list shows examples for each link type. | |
987 | |
988 @example | |
989 http://www.astro.uva.nl/~dominik @r{on the web} | |
990 file:/home/dominik/images/jupiter.jpg @r{file, absolute path} | |
991 file:papers/last.pdf @r{file, relative path} | |
992 file:~/code/main.c:255 @r{file, with line number} | |
993 news:comp.emacs @r{Usenet link} | |
994 mailto:adent@@galaxy.net @r{Mail link} | |
995 vm:folder @r{VM folder link} | |
996 vm:folder#id @r{VM message link} | |
997 vm://myself@@some.where.org/folder#id @r{VM on remote machine} | |
998 wl:folder @r{WANDERLUST folder link} | |
999 wl:folder#id @r{WANDERLUST message link} | |
1000 rmail:folder @r{RMAIL folder link} | |
1001 rmail:folder#id @r{RMAIL message link} | |
1002 gnus:group @r{GNUS group link} | |
1003 gnus:group#id @r{GNUS article link} | |
1004 bbdb:Richard Stallman @r{BBDB link} | |
1005 shell:ls *.org @r{A shell command} | |
1006 @end example | |
1007 | |
1008 A link may contain space characters and is terminated by the end of | |
1009 the line. Therefore, there can be only one link per line (but see the | |
1010 variable @code{org-allow-space-in-links}). | |
1011 | |
1012 @cindex storing links | |
1013 @table @kbd | |
1014 @kindex C-c l | |
1015 @item C-c l | |
1016 Store a link to the current location. This is a @emph{global} command | |
1017 which can be used in any buffer to create a link. The link will be | |
1018 stored for later insertion into an Org-mode buffer (see below). For VM, | |
1019 RMAIL, WANDERLUST, GNUS and BBDB buffers, the link will point to the | |
1020 current article/entry. For W3 and W3M buffer, the link goes to the | |
1021 current URL. For any other files, the link will just point to the file. | |
1022 The key binding @kbd{C-c l} is only a suggestion - see | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1023 @ref{Installation and Activation}. |
58792 | 1024 |
1025 @kindex C-c C-l | |
1026 @item C-c C-l | |
1027 Insert a link. This prompts for a link to be inserted into the | |
1028 buffer. You can just type a link, using one of the link type prefixes | |
1029 mentioned in the examples above. Through completion, all links stored | |
1030 during the current session can be accessed. When called with prefix | |
1031 arg, you can use file name completion to enter a file link. Note that | |
1032 you don't have to use this command to insert a link. Links in | |
1033 Org-mode are plain text, and you can type or paste them straight into | |
1034 the buffer. | |
1035 | |
1036 @cindex inserting links | |
1037 @kindex C-c C-o | |
1038 @item C-c C-o | |
1039 Open link at point. This will launch a web browser for URLs (using | |
1040 @command{browse-url-at-point}), run vm/gnus/bbdb for the corresponding | |
1041 links, execute the command in a shell link, visit text files with | |
1042 Emacs and select a suitable application for non-text files. | |
1043 Classification of files is based on file extension only. See option | |
1044 @code{org-file-apps}. If there is no link at point, the current | |
1045 subtree will be searched for one. If you want to override the default | |
1046 application and visit the file with Emacs, use a @kbd{C-u} prefix. | |
1047 If the cursor is on a time stamp, compiles the agenda for that date. | |
1048 | |
1049 @strong{IMPORTANT}: Be careful not to use any dangerous commands in a | |
1050 shell link. | |
1051 | |
1052 @kindex mouse-2 | |
1053 @item mouse-2 | |
1054 On links, @kbd{mouse-2} will open the link just like @kbd{C-c C-o} would. | |
1055 | |
1056 @kindex mouse-3 | |
1057 @item mouse-3 | |
1058 Like @kbd{mouse-2}, but force file links to be opened with Emacs. | |
1059 @end table | |
1060 | |
1061 @node Remember, , Links, Hyperlinks | |
1062 @section Remember | |
1063 @cindex @file{remember.el} | |
1064 | |
1065 Another way to create org entries with links to other files is through | |
1066 the @emph{Remember} package by John Wiegley. @emph{Remember} lets you | |
1067 store quick notes with little interruption of your work flow. See | |
1068 @uref{http://www.emacswiki.org/cgi-bin/wiki/RememberMode} for more | |
1069 information. The notes produced by @emph{Remember} can be stored in | |
1070 different ways, and Org-mode files are a good target. | |
1071 Org-mode allows to file away notes either to a default file, or | |
1072 directly to the correct location in your Org-mode outline tree. The | |
1073 following customization will tell @emph{Remember} to use org files as | |
1074 target, and to create annotations compatible with Org-mode links. | |
1075 | |
1076 @c FIXME: The autoload will not be necessary when Org-mode is part of Emacs | |
1077 @example | |
1078 (autoload 'org-remember-annotation "org") | |
1079 (autoload 'org-remember-handler "org") | |
1080 (setq org-directory "~/path/to/my/orgfiles/") | |
1081 (setq org-default-notes-file "~/.notes") | |
1082 (setq remember-annotation-functions '(org-remember-annotation)) | |
1083 (setq remember-handler-functions '(org-remember-handler)) | |
1084 @end example | |
1085 | |
1086 When you compose a note with remember, you have to press @kbd{C-c C-c} | |
1087 to exit remember-mode and to file away the note. The handler first | |
1088 prompts for a target file - if you press @key{RET}, the value of | |
1089 @code{org-default-notes-file} is used. Then the command offers the | |
1090 headings tree of the selected file. You can either immediately press | |
1091 @key{RET} to get the note appended to the file. Or you can use | |
1092 vertical cursor motion (@key{up} and @key{down}) and visibility | |
1093 cycling (@key{TAB}) to find a better place. Pressing @key{RET} or | |
1094 @key{left} or @key{right} leads to the following result. | |
1095 | |
1096 @multitable @columnfractions 0.2 0.1 0.7 | |
1097 @item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted} | |
1098 @item buffer-start @tab @key{RET} @tab as level 2 heading at end of file | |
1099 @item on headline @tab @key{RET} @tab as sublevel of the heading at cursor | |
1100 @item @tab @key{left} @tab as same level, before current heading | |
1101 @item @tab @key{right} @tab as same level, after current heading | |
1102 @item not on headline @tab @key{RET} | |
1103 @tab at cursor position, level taken from context. | |
1104 Or use prefix arg to specify level manually. | |
1105 @end multitable | |
1106 | |
1107 So the fastest way to store the note is to press @kbd{C-c C-c @key{RET} | |
1108 @key{RET}} to append it to the default file. But with little extra | |
1109 effort, you can push it directly to the correct location. | |
1110 | |
1111 Before inserting the text into a tree, the function ensures that the | |
1112 text has a headline, i.e. a first line that starts with a @samp{*}. | |
1113 If not, a headline is constructed from the current date and some | |
1114 additional data. If the variable @code{org-adapt-indentation} is | |
1115 non-nil, the entire text is also indented so that it starts in the | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1116 same column as the headline (after the asterisks). |
58792 | 1117 |
1118 @node Timestamps, Timeline and Agenda, Hyperlinks, Top | |
1119 @chapter Timestamps | |
1120 | |
1121 Items can be labeled with timestamps to make them useful for project | |
1122 planning. | |
1123 | |
1124 @menu | |
1125 * Time stamps:: Assigning a time to a tree entry | |
1126 * Creating timestamps:: Commands which insert timestamps | |
1127 @end menu | |
1128 | |
1129 | |
1130 @node Time stamps, Creating timestamps, Timestamps, Timestamps | |
1131 @section Time stamps, deadlines and scheduling | |
1132 @cindex time stamps | |
1133 @cindex deadlines | |
1134 @cindex scheduling | |
1135 | |
1136 A time stamp is a specification of a date (possibly with time) in a | |
1137 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 | |
1138 Tue 09:39>}. A time stamp can appear anywhere in the headline or body | |
1139 of an org-tree entry. Its presence allows to show entries on specific | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1140 dates in the agenda (@pxref{Agenda}). We distinguish: |
58792 | 1141 |
1142 @table @var | |
1143 @cindex timestamp | |
1144 @item TIMESTAMP | |
1145 A simple time stamp just assigns a date/time to an item. In the | |
1146 timeline and agenda displays, the headline of the entry will be shown | |
1147 exactly on that date. | |
1148 | |
1149 @item TIMERANGE | |
1150 @cindex timerange | |
1151 Two time stamps connected by @samp{--} denote a time range. The | |
1152 headline will be shown on the first and last day of the range, and on | |
1153 any dates that are displayed and fall in the range. Here is an | |
1154 example: | |
1155 | |
1156 @example | |
1157 ** Meeting in Amsterdam | |
1158 <2004-08-23 Mon>--<2004-08-26 Thu> | |
1159 @end example | |
1160 | |
1161 @item DEADLINE | |
1162 @cindex deadline | |
1163 If a time stamp is preceded by the word @samp{DEADLINE:}, the task | |
1164 (most likely a TODO item) is supposed to be finished on that date, and | |
59541 | 1165 it will be listed then. In addition, the compilation for the |
58792 | 1166 @emph{current day} will carry a warning about the approaching or |
1167 missed deadline, starting @code{org-deadline-warning-days} before the | |
1168 due date, and continuing until the entry is marked DONE. An example: | |
1169 | |
1170 @example | |
1171 *** TODO write article about the Earth for the Guide | |
1172 The editor in charge is bbdb:Ford Prefect | |
1173 DEADLINE: <2004-02-29 Sun> | |
1174 @end example | |
1175 | |
1176 @item SCHEDULED | |
1177 @cindex scheduled | |
1178 If a time stamp is preceded by the word @samp{SCHEDULED:}, it means | |
1179 you are planning to start working on that task on the given date. The | |
1180 headline will be listed under the given date. In addition, a reminder | |
1181 that the scheduled date has passed will be present in the compilation | |
1182 for the @emph{current day}, until the entry is marked DONE. I.e., the | |
1183 task will automatically be forwarded. | |
1184 @end table | |
1185 | |
1186 @node Creating timestamps, , Time stamps, Timestamps | |
1187 @section Creating timestamps | |
1188 @cindex creating timestamps | |
1189 | |
1190 For Org-mode to recognize time stamps, they need to be in the specific | |
1191 format. All commands listed below produce time stamps in the correct | |
1192 format. | |
1193 | |
1194 @table @kbd | |
1195 @kindex C-c . | |
1196 @item C-c . | |
1197 Prompt for a date and insert a corresponding time stamp. When the | |
1198 cursor is at a previously used time stamp, it is updated to NOW. When | |
1199 this command is used twice in succession, a time range is inserted. | |
1200 | |
1201 @kindex C-u C-c . | |
1202 @item C-u C-c . | |
1203 Like @kbd{C-c .}, but use the alternative format which contains date | |
1204 and time. | |
1205 | |
1206 @kindex C-c < | |
1207 @item C-c < | |
1208 Insert a time stamp corresponding to the cursor date in the Calendar. | |
1209 | |
1210 @kindex C-c > | |
1211 @item C-c > | |
1212 Access the Emacs calendar for the current date. If there is a | |
1213 timestamp in the current line, goto the corresponding date | |
1214 instead. | |
1215 | |
1216 @kindex C-c C-o | |
1217 @item C-c C-o | |
1218 Access the agenda for the date given by the time stamp at point | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1219 (@pxref{Agenda}). |
58792 | 1220 |
1221 @kindex C-c C-d | |
1222 @item C-c C-d | |
1223 Insert @samp{DEADLINE} keyword along with a stamp. | |
1224 @kindex C-c C-w | |
1225 @cindex sparse tree, for deadlines | |
1226 @item C-c C-w | |
1227 Create a sparse tree with all deadlines that are either past-due, or | |
1228 which will become due within @code{org-deadline-warning-days}. | |
1229 With @kbd{C-u} prefix, show all deadlines in the file. With a numeric | |
1230 prefix, check that many days. For example, @kbd{C-1 C-c C-w} shows | |
1231 all deadlines due tomorrow. | |
1232 | |
1233 @kindex C-c C-s | |
1234 @item C-c C-s | |
1235 Insert @samp{SCHEDULED} keyword along with a stamp. | |
1236 | |
1237 @kindex S-@key{left} | |
1238 @kindex S-@key{right} | |
1239 @item S-@key{left} | |
1240 @itemx S-@key{right} | |
1241 Change date at cursor by one day. | |
1242 | |
1243 @kindex S-@key{up} | |
1244 @kindex S-@key{down} | |
1245 @item S-@key{up} | |
1246 @itemx S-@key{down} | |
1247 Change the item under the cursor in a timestamp. The cursor can be on | |
1248 a year, month, day, hour or minute. Note that if the cursor is not at | |
1249 a time stamp, these same keys modify the priority of an item | |
1250 (@pxref{Priorities}). | |
1251 | |
1252 @kindex C-c C-y | |
1253 @cindex evaluate time range | |
1254 @item C-c C-y | |
1255 Evaluate a time range by computing the difference between start and | |
1256 end. With prefix arg, insert result after the time range (in a table: | |
1257 into the following column). | |
1258 @end table | |
1259 | |
1260 @cindex date, reading in minibuffer | |
1261 @cindex time, reading in minibuffer | |
1262 @cindex calendar, for selecting date | |
1263 When org prompts for a date/time, the function reading your input will | |
1264 replace anything you choose not to specify with the current date and | |
1265 time. For details, see the documentation string of | |
1266 @command{org-read-date}. Also, a calender will pop up to allow | |
1267 selecting a date. The calendar can be fully controlled from the | |
1268 minibuffer, and a date can be selected with the following commands: | |
1269 | |
1270 @table @kbd | |
1271 @kindex < | |
1272 @item < | |
1273 Scroll calendar backwards by one month. | |
1274 @kindex > | |
1275 @item > | |
1276 Scroll calendar forwards by one month. | |
1277 @kindex mouse-1 | |
1278 @item mouse-1 | |
1279 Select date by clicking on it. | |
1280 @kindex S-@key{right} | |
1281 @item S-@key{right} | |
1282 One day forward. | |
1283 @kindex S-@key{left} | |
1284 @item S-@key{left} | |
1285 One day back. | |
1286 @kindex S-@key{down} | |
1287 @item S-@key{down} | |
1288 One week forward. | |
1289 @kindex S-@key{up} | |
1290 @item S-@key{up} | |
1291 One week back. | |
1292 @kindex M-S-@key{right} | |
1293 @item M-S-@key{right} | |
1294 One month forward. | |
1295 @kindex M-S-@key{left} | |
1296 @item M-S-@key{left} | |
1297 One month back. | |
1298 @kindex @key{RET} | |
1299 @item @key{RET} | |
1300 Choose date in calendar (only if nothing typed into minibuffer). | |
1301 @end table | |
1302 | |
1303 @node Timeline and Agenda, Exporting, Timestamps, Top | |
1304 @chapter Timeline and Agenda | |
1305 @cindex agenda | |
1306 | |
1307 We have already described three commands to filter important | |
1308 information in an org file into a sparse tree (@pxref{Sparse trees}): | |
1309 | |
1310 @cindex sparse trees | |
1311 @itemize @bullet | |
1312 @item | |
1313 The TODO tree, (@kbd{C-c C-v}), see @ref{TODO items}. | |
1314 @item | |
1315 The occur tree @kbd{C-c /}, see @ref{TODO items}. | |
1316 @item | |
1317 Checking upcoming deadlines with @kbd{C-c C-w}, see @ref{Creating | |
1318 timestamps}. | |
1319 @end itemize | |
1320 @noindent | |
1321 | |
1322 Instead of using the sparse trees, Org-mode can also collect and | |
1323 time-sort the important items into a separate buffer, which we call | |
1324 the @emph{timeline} of the org file. It can also collect information | |
1325 from a @emph{list of files} and in this way provide an @emph{agenda} | |
1326 which covers all of your current projects, action items and | |
1327 appointments. | |
1328 | |
1329 @menu | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1330 * Timeline:: Time-sorted view for single file |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1331 * Agenda:: Your weekly planner |
58792 | 1332 * Agenda commands:: Remote editing of org trees |
1333 * Calendar/Diary integration:: Integrating Anniversaries and more | |
1334 @end menu | |
1335 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1336 @node Timeline, Agenda, Timeline and Agenda, Timeline and Agenda |
58792 | 1337 @section Timeline for a single file |
1338 @cindex single file summary | |
1339 @cindex agenda, for single file | |
1340 @cindex timeline, single file | |
1341 @cindex time-sorted view | |
1342 | |
1343 The timeline shows all time-stamped items in a single Org-mode file, | |
1344 in @emph{time-sorted view}. The main purpose of this command is to | |
1345 give an overview over events in a project. | |
1346 | |
1347 @table @kbd | |
1348 @kindex C-c C-r | |
1349 @item C-c C-r | |
1350 Show a time-sorted view of the org file, with all time-stamped items | |
1351 of today or later. When called with a @kbd{C-u} prefix, past dates | |
1352 will be included as well. When called with two @kbd{C-u C-u} | |
1353 prefixes, all unfinished TODO entries (scheduled or not) are also | |
1354 listed under the current date. | |
1355 @end table | |
1356 @noindent | |
1357 | |
1358 The timeline is shown in a temporary buffer @file{*Org Agenda*}. The | |
1359 commands available in the Agenda buffer are listed in @ref{Agenda | |
1360 commands}. | |
1361 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1362 @node Agenda, Agenda commands, Timeline, Timeline and Agenda |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1363 @section Agenda |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1364 @cindex agenda |
58792 | 1365 |
1366 An agenda can be compiled from one or more org files. The main | |
1367 purpose of this command is to act like a planner, in order to show you | |
1368 what tasks are up for the current week, similar to a paper agenda. | |
1369 | |
1370 The Org-mode files to be processed in order to generate the agenda are | |
1371 listed in the variable @code{org-agenda-files}. You can customize | |
1372 this variable, but the easiest way to maintain it is through the | |
1373 following commands | |
1374 | |
1375 @cindex files, adding to agenda list | |
1376 @table @kbd | |
1377 @kindex C-c [ | |
1378 @item C-c [ | |
1379 Add current file to the list of agenda files | |
1380 @kindex C-c ] | |
1381 @item C-c ] | |
1382 Remove current file from the list of agenda files. | |
1383 @end table | |
1384 @noindent | |
1385 The Org menu contains the list of all files and can be used to quickly | |
1386 visit any of them. | |
1387 | |
1388 The global command @command{org-agenda} compiles the agenda from all | |
1389 listed files. | |
1390 | |
1391 @table @kbd | |
1392 @cindex org-agenda, command | |
1393 @kindex C-c a | |
1394 @item C-c a | |
1395 Compile an agenda for the current week from a list of org files. The | |
1396 agenda shows the entries for each day. With a @kbd{C-u} prefix (or | |
1397 when the variable @code{org-agenda-include-all-todo} is @code{t}), all | |
1398 unfinished TODO items (also those without a date) are also listed at | |
1399 the beginning of the buffer, before the first date.@* | |
1400 The key binding @kbd{C-c a} is only a suggestion - see | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1401 @ref{Installation and Activation}. |
58792 | 1402 @end table |
1403 | |
1404 The commands available in the Agenda buffer are listed in | |
1405 @ref{Agenda commands}. | |
1406 | |
1407 @subsection Categories | |
1408 | |
1409 @cindex category | |
1410 In the agenda buffer, each entry is preceded by a @emph{category}, | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1411 which is derived from the file name. The category can also be set |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1412 with a special line anywhere in the buffer, looking like this: |
58792 | 1413 @example |
1414 #+CATEGORY: Cheops | |
1415 @end example | |
1416 @noindent | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1417 After changing this line, press @kbd{C-c C-c} with the cursor still in |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1418 the line, to make the changes know to org-mode. Otherwise, the change |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1419 will only be active the next time you visit this file with Emacs. |
58792 | 1420 |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1421 The display in the agenda buffer looks best if the category is no |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1422 longer than 10 characters. |
58792 | 1423 |
1424 @subsection Sorting of agenda items | |
1425 @cindex sorting, of agenda items | |
1426 @cindex priorities, of agenda items | |
1427 The entries for each day are sorted. The default order is to first | |
1428 collect all items containing an explicit time-of-day specification. | |
1429 These entries will be shown at the beginning of the list, as a | |
1430 @emph{schedule} for the day. After that, items remain grouped in | |
1431 categories, in the sequence given by @code{org-agenda-files}. Within | |
1432 each category, items are sorted by priority (@pxref{Priorities}). | |
1433 | |
1434 A time-of-day specification looks like @samp{12:45} or @samp{3pm} and | |
1435 must appear in the headline. For example, a timestamp in a headline | |
1436 that contains not only a date but also a time will trigger this | |
1437 mechanism. Specifications of a time in diary entries are recognized | |
1438 as well, so the schedule will be mixed from diary entries and Org-mode | |
1439 files. | |
1440 | |
1441 The priority is a numerical quantity composed of the base priority | |
1442 (2000 for priority @samp{A}, 1000 for @samp{B}, and 0 for @samp{C}), | |
1443 plus additional increments for overdue scheduled or deadline items. | |
1444 | |
1445 Sorting can be customized using the variable | |
1446 @code{org-agenda-sorting-strategy}. | |
1447 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1448 @node Agenda commands, Calendar/Diary integration, Agenda, Timeline and Agenda |
58792 | 1449 @section Commands in the agenda buffer |
1450 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1451 Entries in the agenda buffer are linked back to the org file or diary |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1452 file where they originate. You are not allowed to edit the agenda |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1453 buffer itself, but commands are provided to show and jump to the |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1454 original entry location, and to edit the org-files ``remotely'' from |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1455 the agenda buffer. In this way, all information is stored only once, |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1456 and you don't risk that your agenda and note files diverge. |
58792 | 1457 |
1458 Some commands can be executed with mouse clicks on agenda lines. For | |
1459 the other commands, the cursor needs to be in the desired line. Most | |
1460 commands are available for both timelines and the agenda. The | |
1461 exceptions are marked. | |
1462 | |
1463 @table @kbd | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1464 @tsubheading{Motion} |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1465 @kindex n |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1466 @item n |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1467 Next line (same as @key{up}). |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1468 @kindex p |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1469 @item p |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1470 Previous line (same as @key{down}). |
58792 | 1471 @tsubheading{View/GoTo org file} |
1472 @kindex mouse-3 | |
1473 @kindex @key{SPC} | |
1474 @item mouse-3 | |
1475 @itemx @key{SPC} | |
1476 Display the original location of the item in another window. | |
1477 | |
1478 @kindex l | |
1479 @item l | |
1480 Display original location and recenter that window. | |
1481 | |
1482 @kindex mouse-2 | |
1483 @kindex @key{TAB} | |
1484 @item mouse-2 | |
1485 @itemx @key{TAB} | |
1486 Go to the original location of the item in another window. | |
1487 | |
1488 @kindex @key{RET} | |
1489 @itemx @key{RET} | |
1490 Go to the original location of the item and delete other windows. | |
1491 | |
1492 @kindex f | |
1493 @item f | |
1494 Toggle follow mode. In follow mode, as you move the cursor through | |
1495 the agenda buffer, the other window always shows the corresponding | |
1496 location in the org file. | |
1497 | |
1498 @tsubheading{Change display} | |
1499 @kindex o | |
1500 @item o | |
1501 Delete other windows. | |
1502 | |
1503 @kindex w | |
1504 @item w | |
1505 Toggle between weekly and daily view. | |
1506 | |
1507 @kindex d | |
1508 @item d | |
1509 Toggle the inclusion of diary entries. See @ref{Calendar/Diary integration}. | |
1510 | |
1511 @kindex r | |
1512 @item r | |
1513 Recreate the agenda buffer, for example to reflect the changes | |
1514 after modification of the time stamps of items with S-@key{left} and | |
1515 S-@key{right}. | |
1516 | |
1517 @kindex @key{right} | |
1518 @item @key{right} | |
1519 Display the following @code{org-agenda-ndays} days. For example, if | |
1520 the display covers a week, switch to the following week. With prefix | |
1521 arg, go forward that many times @code{org-agenda-ndays} days. Not | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1522 available in timelines. |
58792 | 1523 |
1524 @kindex @key{left} | |
1525 @item @key{left} | |
1526 Display the previous dates. Not available in timelines. | |
1527 | |
1528 @kindex . | |
1529 @item . | |
1530 Goto today. | |
1531 | |
1532 @tsubheading{Remote editing} | |
1533 | |
1534 @item 0-9 | |
1535 Digit argument. | |
1536 | |
1537 @kindex t | |
1538 @item t | |
1539 Change the TODO state of the item, both in the agenda and in the | |
1540 original org file. | |
1541 | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1542 @kindex , |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1543 @item , |
58792 | 1544 Set the priority for the current item. Org-mode prompts for the |
1545 priority character. If you reply with @key{SPC}, the priority cookie | |
1546 is removed from the entry. | |
1547 | |
1548 @kindex P | |
1549 @item p | |
1550 Display weighted priority of current item. | |
1551 | |
1552 @kindex + | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1553 @kindex S-@key{up} |
58792 | 1554 @item + |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1555 @item S-@key{up} |
58792 | 1556 Increase the priority of the current item. The priority is changed in |
1557 the original buffer, but the agenda is not resorted. Use the @kbd{r} | |
1558 key for this. | |
1559 | |
1560 @kindex - | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1561 @kindex S-@key{down} |
58792 | 1562 @item - |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1563 @item S-@key{down} |
58792 | 1564 Decrease the priority of the current item. |
1565 | |
1566 @kindex S-@key{right} | |
1567 @item S-@key{right} | |
1568 Change the time stamp associated with the current line by one day into | |
1569 the future. With prefix argument, change it by that many days. For | |
1570 example, @kbd{3 6 5 S-@key{right}} will change it by a year. The | |
1571 stamp is changed in the original org file, but the change is not | |
1572 directly reflected in the agenda buffer. Use the | |
1573 @kbd{r} key to update the buffer. | |
1574 | |
1575 @kindex S-@key{left} | |
1576 @item S-@key{left} | |
1577 Change the time stamp associated with the current line by one day | |
1578 into the past. | |
1579 | |
1580 @kindex > | |
1581 @item > | |
1582 Change the time stamp associated with the current line to today. | |
1583 The key @kbd{>} has been chosen, because it is the same as @kbd{S-.} | |
1584 on my keyboard. | |
1585 | |
1586 @cindex diary entries, creating from agenda | |
1587 @kindex i | |
1588 @item i | |
1589 Insert a new entry into the diary. Prompts for the type of entry | |
1590 (day, weekly, monthly, yearly, anniversary, cyclic) and creates a new | |
1591 entry in the diary, just like @kbd{i d} etc. would do in the calendar. | |
1592 The date is taken from the cursor position. | |
1593 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1594 @tsubheading{Calendar commands} |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1595 @kindex c |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1596 @item c |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1597 Open the Emacs calendar and move to the date at the agenda cursor. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1598 |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1599 @item c |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1600 When in the calendar, compute and show the Org-mode agenda for the |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1601 date at the cursor. |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1602 |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1603 @kindex M |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1604 @item M |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1605 Show the phases of the moon for three month around current date. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1606 |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1607 @kindex S |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1608 @item S |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1609 Show sunrise and sunset times. The geographical location must be set |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1610 with calendar variables, see documentation of the Emacs calendar. |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1611 |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1612 @kindex C |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1613 @item C |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1614 Convert the date at cursor into many other cultural and historic |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1615 calendars. |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1616 |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1617 @kindex H |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1618 @item H |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1619 Show holidays for three month around the cursor date. |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1620 |
58792 | 1621 @tsubheading{Quit and Exit} |
1622 @kindex q | |
1623 @item q | |
1624 Quit Agenda, remove the agenda buffer. | |
1625 | |
1626 @kindex x | |
1627 @cindex agenda files, removing buffers | |
1628 @item x | |
1629 Exit agenda, remove the agenda buffer and all buffers loaded by Emacs | |
1630 for the compilation of the agenda. Buffers created by the user to | |
1631 visit org files will not be removed. | |
1632 | |
1633 @end table | |
1634 | |
1635 @node Calendar/Diary integration, , Agenda commands, Timeline and Agenda | |
1636 @section Calendar/Diary integration | |
1637 @cindex calendar integration | |
1638 @cindex diary integration | |
1639 | |
1640 Emacs contains the calendar and diary by Edward M. Reingold. The | |
1641 calendar displays a three-month calendar with holidays from different | |
1642 countries and cultures. The diary allows to keep track of | |
1643 anniversaries, lunar phases, sunrise/set, recurrent appointments | |
1644 (weekly, monthly) and more. In this way, it is quite complementary to | |
1645 Org-mode. It can be very useful to combine output from Org-mode with | |
1646 the diary. | |
1647 | |
1648 The interaction between Org-mode and diary works both ways: You can | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1649 list entries from the diary in the Org-mode agenda, from which many |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1650 calendar and diary commands are directly accessible. Or you can |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1651 display entries from the org agenda in the Emacs diary. |
58792 | 1652 |
1653 @menu | |
1654 * Diary to agenda:: Agenda incorporates the diary | |
1655 * Agenda to diary:: Diary incorporates the agenda | |
1656 @end menu | |
1657 | |
1658 @node Diary to agenda, Agenda to diary, Calendar/Diary integration, Calendar/Diary integration | |
1659 @subsection Including the diary into the agenda | |
1660 @cindex diary to agenda | |
1661 | |
1662 In order to include entries from the Emacs diary into Org-mode's | |
1663 agenda, you only need to customize the variable | |
1664 | |
1665 @lisp | |
1666 (setq org-agenda-include-diary t) | |
1667 @end lisp | |
1668 @noindent | |
1669 | |
61136
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1670 @noindent After that, everything will happen automatically. All diary |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1671 entries including holidays, anniversaries etc will be included in the |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1672 agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1673 @key{RET} can be used from the agenda buffer to jump to the diary |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1674 file, in order to edit existing diary entries. Also the @kbd{i} |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1675 command to insert new entries for the current date works in the agenda |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1676 buffer, as well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to |
003dd96023ff
updated to org-mode version 3.05
Carsten Dominik <dominik@science.uva.nl>
parents:
59542
diff
changeset
|
1677 display Sunrise/Sunset times, show lunar phases and to convert to |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1678 other calendars, respectively. @kbd{c} can be used to switch back and |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1679 forth between calendar and agenda. |
58792 | 1680 |
1681 @node Agenda to diary, , Diary to agenda, Calendar/Diary integration | |
1682 @subsection Including the agenda into the diary | |
1683 | |
1684 If you prefer to use the Emacs diary as your main instrument and if | |
1685 you wish to include the Org-mode agenda into it, the following steps | |
1686 are necessary: Autoload the function @command{org-diary} as shown | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1687 above under @ref{Installation and Activation}. You also need to use |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
1688 @emph{fancy diary display} by setting in @file{.emacs}: |
58792 | 1689 |
1690 @lisp | |
1691 (add-hook 'diary-display-hook 'fancy-diary-display) | |
1692 @end lisp | |
1693 | |
1694 Then include the following line into your @file{~/diary} file, in | |
1695 order to get the entries from all files listed in the variable | |
1696 @code{org-agenda-files}: | |
1697 | |
1698 @example | |
1699 &%%(org-diary) | |
1700 @end example | |
1701 @noindent | |
1702 You may also select specific files with | |
1703 | |
1704 @example | |
1705 &%%(org-diary) ~/path/to/some/org-file.org | |
1706 &%%(org-diary) ~/path/to/another/org-file.org | |
1707 @end example | |
1708 | |
1709 If you now launch the calendar and press @kbd{d} to display a diary, | |
1710 the headlines of entries containing a timestamp, date range, schedule, | |
1711 or deadline referring to the selected date will be listed. Just like | |
1712 in Org-mode's agenda view, the diary for @emph{today} contains | |
1713 additional entries for overdue deadlines and scheduled items. See | |
1714 also the documentation of the @command{org-diary} function. | |
1715 | |
1716 @node Exporting, Miscellaneous, Timeline and Agenda, Top | |
1717 @chapter Exporting | |
1718 @cindex exporting | |
1719 @cindex ASCII file | |
1720 @cindex HTML | |
1721 | |
1722 | |
1723 @cindex headline levels, for exporting | |
1724 For printing and sharing of notes, an Org-mode document can be | |
1725 exported as an ASCII file, or as HTML. In the exported version, the | |
1726 first 3 outline levels will become headlines, defining a general | |
1727 document structure. Additional levels will be exported as itemize | |
1728 lists. If you want that transition to occur at a different level, | |
1729 specify it with a prefix argument. For example, | |
1730 | |
1731 @example | |
1732 @kbd{M-1 M-x org-export-as-html} | |
1733 @end example | |
1734 @noindent | |
1735 creates only top level headlines and does the rest as items. | |
1736 | |
1737 @menu | |
1738 * Export commands:: Commands which export and display | |
1739 * HTML formatting:: Interpretation of the buffer content | |
1740 * Export options:: How to influence exports | |
1741 * Comment lines:: Lines which will not be exported | |
1742 @end menu | |
1743 | |
1744 @node Export commands, HTML formatting, Exporting, Exporting | |
1745 @section Export commands | |
1746 | |
1747 @cindex region, active | |
1748 @cindex active region | |
1749 @cindex transient-mark-mode | |
1750 @table @kbd | |
1751 @kindex C-c C-x a | |
1752 @item C-c C-x a | |
1753 Export as ASCII file. If there is an active region, only the region | |
1754 will be exported. For an org file @file{myfile.org}, the ASCII file | |
1755 will be @file{myfile.txt}. The file will be overwritten without | |
1756 warning. | |
1757 @kindex C-c C-x h | |
1758 @item C-c C-x h | |
1759 Export as HTML file @file{myfile.html}. | |
1760 @kindex C-c C-x C-h | |
1761 @item C-c C-x C-h | |
1762 Export as HTML file and open it with a browser. | |
1763 @kindex C-c C-x t | |
1764 @item C-c C-x t | |
1765 Insert template with export options, see below. | |
1766 @kindex C-c : | |
1767 @item C-c : | |
1768 Toggle fixed-width for line or region, see below. | |
1769 @end table | |
1770 | |
1771 @node HTML formatting, Export options, Export commands, Exporting | |
1772 @section HTML formatting | |
1773 | |
1774 Not all text is transferred literally to the exported HTML file. The | |
1775 exporter implements the following interpretation: | |
1776 | |
1777 @itemize @bullet | |
1778 @cindex underlined text | |
1779 @cindex bold text | |
1780 @cindex italic text | |
1781 @item | |
1782 You can make words @b{*bold*}, @i{/italic/}, and _underlined_ | |
1783 | |
1784 @cindex @TeX{} interpretation | |
1785 @item | |
1786 Simple @TeX{}-like math constructs are interpreted: | |
1787 | |
1788 @itemize @minus | |
1789 @item | |
1790 @samp{10^22} and @samp{J_n} are super- and subscripts. You can quote | |
1791 @samp{^} and @samp{_} with a backslash: @samp{\_} and @samp{\^} | |
1792 @item | |
1793 @samp{\alpha} indicates a Greek letter, @samp{\to} an arrow. You can | |
1794 use completion for these macros, just type @samp{\} and maybe a few | |
1795 letters, and press @kbd{M-@key{TAB}} to see possible completions. | |
1796 @end itemize | |
1797 | |
1798 @cindex tables, export to HTML | |
1799 @item | |
1800 Tables are transformed into HTML tables. | |
1801 | |
1802 @cindex fixed width | |
1803 @item | |
1804 Lines starting with @samp{:} are typeset in a fixed-width font, to | |
1805 allow quoting of computer code etc. | |
1806 | |
1807 @cindex HTML tags | |
1808 @item | |
1809 If you want to include HTML tags which should be interpreted as such, | |
1810 mark them with a @samp{@@} like in @samp{@@<b>bold text@@</b>}. | |
1811 Plain @samp{<} and @samp{>} are always transformed to @samp{<} and | |
1812 @samp{>} in HTML export. | |
1813 @end itemize | |
1814 | |
1815 If these conversions conflict with your habits of typing ASCII text, | |
1816 they can all be turned off with corresponding variables. | |
1817 | |
1818 @node Export options, Comment lines, HTML formatting, Exporting | |
1819 @section Export options | |
1820 @cindex options, for export | |
1821 | |
1822 The exporter recognizes special lines in the buffer which provide | |
1823 additional information. These lines may be put anywhere in the file. | |
1824 The whole set of lines can be inserted into the buffer with @kbd{C-c | |
1825 C-x t}. For individual lines, a good way to make sure the keyword is | |
1826 correct it to type @samp{#+} and then use @kbd{M-@key{TAB}} completion | |
1827 (@pxref{Completion}). | |
1828 | |
1829 @example | |
1830 #+TITLE: the title to be shown (default is the buffer name) | |
1831 #+AUTHOR: the author (default taken from @code{user-full-name}) | |
1832 #+EMAIL: his/her email address (default from @code{user-mail-address}) | |
1833 #+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language}) | |
1834 #+TEXT: Some descriptive text to be inserted at the beginning. | |
1835 #+TEXT: Several lines may be given. | |
1836 #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t | |
1837 @end example | |
1838 @noindent | |
1839 The OPTIONS line is a compact form to specify export settings. Here | |
1840 you can | |
1841 @cindex headline levels | |
1842 @cindex section-numbers | |
1843 @cindex table of contents | |
1844 @cindex linebreak-preservation | |
1845 @cindex quoted html tags | |
1846 @cindex fixed-width sections | |
1847 @cindex tables | |
1848 @cindex @TeX{}-like syntax for sub- and superscripts | |
1849 @cindex emphasized text | |
1850 @cindex @TeX{} macros | |
1851 @example | |
1852 H: @r{set the number of headline levels for export} | |
1853 num: @r{turn on/off section-numbers} | |
1854 toc: @r{turn on/off table of contents} | |
1855 \n: @r{turn on/off linebreak-preservation} | |
1856 @@: @r{turn on/off quoted html tags} | |
1857 :: @r{turn on/off fixed-width sections} | |
1858 |: @r{turn on/off tables} | |
1859 ^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts.} | |
1860 *: @r{turn on/off emphasized text (bold, italic, underlined)} | |
1861 TeX: @r{turn on/off @TeX{} macros} | |
1862 @end example | |
1863 | |
1864 @node Comment lines, , Export options, Exporting | |
1865 @section Comment lines | |
1866 @cindex comment lines | |
1867 @cindex exporting, not | |
1868 | |
1869 Lines starting with @samp{#} in column zero are treated as comments | |
1870 and will never be exported. Also entire subtrees starting with the | |
1871 word @samp{COMMENT} will never be exported. Finally, any text before | |
1872 the first headline will not be exported either. | |
1873 | |
1874 @table @kbd | |
1875 @kindex C-c ; | |
1876 @item C-c ; | |
1877 Toggle the COMMENT keyword at the beginning of an entry. | |
1878 @end table | |
1879 | |
1880 @node Miscellaneous, Index, Exporting, Top | |
1881 @chapter Miscellaneous | |
1882 | |
1883 @menu | |
1884 * Completion:: M-TAB knows what you need | |
1885 * Customization:: Adapting Org-mode to your taste | |
1886 * Tips and Tricks:: An author-imposed FAQ, sort of | |
1887 * Interaction:: Other Emacs packages | |
1888 * Acknowledgments:: These people provided feedback and more | |
1889 * Bugs:: Things which do not work perfectly | |
1890 @end menu | |
1891 | |
1892 @node Completion, Customization, Miscellaneous, Miscellaneous | |
1893 @section Completion | |
1894 @cindex complete @TeX{} symbols | |
1895 @cindex complete TODO keywords | |
1896 @cindex complete dictionary words | |
1897 @cindex complete option keywords | |
1898 | |
1899 Org-mode supports in-buffer completion. This type of completion does | |
1900 not make use of the minibuffer. You simply type a few letters into | |
1901 the buffer and use the key to complete text right there. | |
1902 | |
1903 @table @kbd | |
1904 @kindex M-@key{TAB} | |
1905 @item M-@key{TAB} | |
1906 Complete word at point | |
1907 @itemize @bullet | |
1908 @item | |
1909 At the beginning of a headline, complete TODO keywords. | |
1910 @item | |
1911 After @samp{\}, complete @TeX{} symbols supported by the exporter. | |
1912 @item | |
1913 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or | |
1914 @samp{OPTIONS} which set file-specific options for Org-mode. When the | |
1915 option keyword is already complete, pressing @kbd{M-@key{TAB}} again | |
1916 will insert example settings for this keyword. | |
1917 @item | |
1918 Elsewhere, complete dictionary words using ispell. | |
1919 @end itemize | |
1920 @end table | |
1921 | |
1922 @node Customization, Tips and Tricks, Completion, Miscellaneous | |
1923 @section Customization | |
1924 @cindex customization | |
1925 @cindex options, for customization | |
1926 @cindex variables, for customization | |
1927 | |
1928 There is a large number of variables which can be used to customize | |
1929 Org-mode. For the sake of compactness of the manual, we are not | |
1930 describing the variables here. For an overview of customization | |
1931 variables, use @kbd{M-x org-customize}. Or select @code{Browse Org | |
1932 Group} from the @code{Org->Customization} menu. | |
1933 | |
1934 @node Tips and Tricks, Interaction, Customization, Miscellaneous | |
1935 @section Tips and Tricks | |
1936 | |
1937 @itemize @bullet | |
1938 @cindex README files | |
1939 @item | |
1940 I find Org-mode very useful for the many @file{README} files I have | |
1941 scattered through my directories. So I turn on @file{org-mode} for | |
1942 all @file{README} files with | |
1943 | |
1944 @example | |
1945 (add-to-list 'auto-mode-alist '("README$" . org-mode)) | |
1946 @end example | |
1947 | |
1948 @ignore | |
1949 @cindex files, adding automatically | |
1950 @item | |
1951 If you would like to add all org files you ever create to the list of | |
1952 agenda files@footnote{Think twice. Do you @emph{really} want this?}, | |
1953 you could do so with | |
1954 | |
1955 @lisp | |
1956 (add-hook 'org-mode-hook 'org-add-file) | |
1957 @end lisp | |
1958 | |
1959 If you would like to add only a selection, for example everything | |
1960 except the @file{README} files, this could be achieved in the | |
1961 following way: | |
1962 | |
1963 @lisp | |
1964 (add-hook 'org-mode-hook | |
1965 (lambda () | |
1966 (or (string-match "README\\'" (buffer-file-name)) | |
1967 (org-add-file)))) | |
1968 @end lisp | |
1969 @end ignore | |
1970 | |
1971 @cindex @code{make-indirect-buffer} | |
1972 @cindex indirect buffers | |
1973 @item | |
1974 It can be useful to have two different windows showing the same | |
1975 Org-mode file. However, a problem here is that changes to the | |
1976 visibility in one window immediately affect the other window. On | |
1977 Emacs (not on XEmacs because it uses the old outline-mode) a way out | |
1978 is the use of @emph{indirect buffers}, which visit the same file, but | |
1979 have separate settings, also for outline visibility. See the | |
1980 documentation on the command @code{make-indirect-buffer}. | |
1981 | |
1982 @cindex URL, paste into buffer | |
1983 @item | |
1984 Paste URLs into Org-mode whenever this seems useful. For example, if | |
1985 you are writing notes about a paper which is available on the web, put | |
1986 the corresponding URL there and a direct look at the paper is only a | |
1987 mouse click away. If you have a local copy of the paper, use a | |
1988 file:path link. | |
1989 | |
1990 @cindex headline levels, for export | |
1991 @item | |
1992 If you plan to use ASCII or HTML export, make sure things you want to | |
1993 be exported as item lists are level 4 at least, even if that does mean | |
1994 there is a level jump. For example | |
1995 | |
1996 @example | |
1997 * Todays top priorities | |
1998 **** TODO write a letter to xyz | |
1999 **** TODO Finish the paper | |
2000 **** Pick up kids at the school | |
2001 @end example | |
2002 | |
2003 Alternatively, if you need a specific value for the heading/item | |
2004 transition in a particular file, use the @samp{+OPTIONS} line to | |
2005 configure the @samp{H} switch. | |
2006 | |
2007 @example | |
2008 +OPTIONS: H:2; ... | |
2009 @end example | |
2010 | |
2011 @cindex exporting a subtree | |
2012 @item | |
2013 If you want to export a subtree, mark the subtree as region and then | |
2014 export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example. | |
2015 | |
2016 @cindex table, empty template | |
2017 @item | |
2018 To insert an empty table template, just type @samp{|-} and use | |
2019 @key{TAB}. | |
2020 | |
2021 @item | |
2022 In a table, to add a new column at the end, just type some text | |
2023 anywhere after the final @samp{|}. Upon the next re-align, a new | |
2024 column will be created. | |
2025 | |
2026 @item | |
2027 In tables, @key{TAB} creates new rows before horizontal separator lines. If | |
2028 the cursor is at @samp{Age} in the following table, | |
2029 | |
2030 @example | |
2031 | Name | Phone | Age | | |
2032 |-------+-------+-----| | |
2033 | | | | | |
2034 @end example | |
2035 | |
2036 the next @key{TAB} would create a second header line. If you want | |
2037 instead to go to the first empty field below the horizontal line, | |
2038 press @key{down} (to get on the separator line) and then @key{TAB}. | |
2039 | |
2040 @cindex indentation, of tables | |
2041 @item | |
2042 To change the indentation of a table, just change the first line and | |
2043 realign with @key{TAB}. | |
2044 | |
2045 @end itemize | |
2046 | |
2047 | |
2048 @node Interaction, Acknowledgments, Tips and Tricks, Miscellaneous | |
2049 @section Interaction with other packages | |
2050 @cindex packages, interaction with other | |
2051 @cindex @file{planner.el} | |
2052 @cindex @file{remember.el} | |
2053 @cindex @file{table.el} | |
2054 @file{Org.el} can cooperate with the following packages: | |
2055 | |
2056 @table @asis | |
2057 @cindex @file{remember.el} | |
2058 @item @file{remember.el} by John Wiegley | |
2059 Org mode cooperates with remember, see @ref{Remember}. | |
2060 @cindex @file{plannner.el} | |
2061 @item @file{planner.el} by John Wiegley | |
2062 Planner is another tool to plan work and keep track of tasks. Planner | |
2063 uses a multi-file approach with project pages and day pages. Is based | |
2064 on Emacs-Wiki. It can be useful to display the agenda entries | |
2065 resulting from org files in day-pages of the planner. This can be | |
2066 done through the diary of the calendar: Integrate org files into the | |
2067 diary as described above, and then turn on the diary support of | |
2068 planner. | |
2069 @cindex @file{table.el} | |
2070 @item @file{table.el} by Takaaki Ota | |
2071 Org mode cooperates with table.el, see @ref{table.el}. | |
2072 @end table | |
2073 | |
2074 @page @c FIXME | |
2075 | |
2076 @node Acknowledgments, Bugs, Interaction, Miscellaneous | |
2077 @section Acknowledgments | |
2078 @cindex acknowledgments | |
2079 | |
2080 Org-mode was written by Carsten Dominik, who still maintains it at the | |
2081 Org-mode homepage | |
2082 @uref{http://www.astro.uva.nl/~dominik/Tools/org/}. The following | |
2083 people have helped the development along with ideas, suggestions and | |
2084 patches. | |
2085 | |
2086 @itemize @bullet | |
2087 @item | |
2088 Matthias Rempe (Oelde) provided ideas and suggestions, a patch | |
2089 introducing Windows NT/2000 support, and quality control. | |
2090 @item | |
2091 Kevin Rogers contributed code to access VM files on remote hosts. | |
2092 @item | |
2093 Juergen Vollmer contributed code generating the table of contents | |
2094 in HTML output, and other export improvements. | |
2095 @item | |
2096 Christian Egli converted the documentation into TeXInfo format. He | |
2097 also showed me his plans for a multifile summary for Org-mode. Some of | |
2098 his ideas have found their way into the agenda. | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
2099 @item |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
2100 Philip Rooke created the Org-mode reference card. He also helped with |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
2101 beta testing and contributed a number of very useful ideas. |
58792 | 2102 @item |
2103 Linking to VM/BBDB/GNUS was inspired by Tom Shannon's | |
2104 @file{organizer-mode.el}. | |
2105 @item | |
2106 Scheduling TODO items was inspired by John Wiegley's @file{planner.el}. | |
2107 @item | |
2108 Sacha Chua, the current maintainer of Planner suggested to take some | |
2109 linking code from Planner, which I did (for RMAIL and Wanderlust). | |
2110 @item | |
2111 Oliver Oppitz sent several useful suggestions. | |
2112 @item | |
2113 Carsten Wimmer suggested some changes and helped fix a bug in linking | |
2114 to GNUS. | |
2115 @end itemize | |
2116 | |
2117 @node Bugs, , Acknowledgments, Miscellaneous | |
2118 @section Bugs | |
2119 @cindex bugs | |
2120 | |
2121 Here is a list of things which should work differently, but which I | |
2122 have found too hard to fix. | |
2123 | |
2124 @itemize @bullet | |
2125 @item | |
2126 When the application called by @kbd{C-c C-o} to open a file link fails | |
2127 (for example because the application does not exits or refuses to open | |
2128 the file), it does so silently. No error message is displayed. | |
2129 @item | |
2130 Under XEmacs, if Org-mode entries are included into the diary, it is | |
2131 not possible to jump back from the diary to the org file. Apparently, | |
2132 the text properties are lost when the fancy-diary-display is used. | |
61562
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
2133 However, from Org-mode's timeline and agenda buffers (created with |
6cd3b18f298e
Update to version 3.06
Carsten Dominik <dominik@science.uva.nl>
parents:
61136
diff
changeset
|
2134 @kbd{C-c C-r} and @kbd{C-c a}), things do work correctly. |
58792 | 2135 @item |
2136 Linux should also have a default viewer application, using mailcap. | |
2137 Maybe we can use GNUS or VM mime code? Or dired's guessing commands? | |
2138 Any hints (or even patches) are appreciated. | |
2139 @item | |
2140 When you write @samp{x = a /b/ c}, b will be exported in italics. | |
2141 @item | |
2142 The exporters work well, but could be made more efficient. | |
2143 @end itemize | |
2144 | |
2145 @node Index, Key Index, Miscellaneous, Top | |
2146 @chapter Index | |
2147 | |
2148 @printindex cp | |
2149 | |
2150 @node Key Index, , Index, Top | |
2151 @chapter Key Index | |
2152 | |
2153 @printindex ky | |
2154 | |
2155 @bye | |
2156 | |
58833
d97ebd9e30f6
Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents:
58792
diff
changeset
|
2157 @ignore |
d97ebd9e30f6
Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents:
58792
diff
changeset
|
2158 arch-tag: 7893d1fe-cc57-4d13-b5e5-f494a1bcc7ac |
d97ebd9e30f6
Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents:
58792
diff
changeset
|
2159 @end ignore |