comparison man/org.texi @ 67613:eab2494a32d7

*** empty log message ***
author Carsten Dominik <dominik@science.uva.nl>
date Fri, 16 Dec 2005 14:32:16 +0000
parents d690cd38b69b
children 5f1a4736c318
comparison
equal deleted inserted replaced
67612:58d7532b2ef1 67613:eab2494a32d7
2 @c %**start of header 2 @c %**start of header
3 @c @setfilename org 3 @c @setfilename org
4 @setfilename ../info/org 4 @setfilename ../info/org
5 @settitle Org Mode Manual 5 @settitle Org Mode Manual
6 6
7 @set VERSION 3.24 7 @set VERSION 4.00
8 @set DATE December 2005 8 @set DATE December 2005
9 9
10 @dircategory Emacs 10 @dircategory Emacs
11 @direntry 11 @direntry
12 * Org Mode: (org). Outline-based notes management and organizer 12 * Org Mode: (org). outline-based notes management and organizer
13
13 @end direntry 14 @end direntry
14 15
15 @c Version and Contact Info 16 @c Version and Contact Info
16 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/org/,maintainers webpage} 17 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/org/,maintainers webpage}
17 @set MAINTAINER Carsten Dominik 18 @set MAINTAINER Carsten Dominik
79 * Document Structure:: A tree works like your brain 80 * Document Structure:: A tree works like your brain
80 * Tables:: Pure magic for quick formatting 81 * Tables:: Pure magic for quick formatting
81 * Hyperlinks:: Notes in context 82 * Hyperlinks:: Notes in context
82 * TODO items:: Every tree branch can be a TODO item 83 * TODO items:: Every tree branch can be a TODO item
83 * Timestamps:: Assign date and time to items 84 * Timestamps:: Assign date and time to items
84 * Timeline and Agenda:: Use time-stamped items to produce an agenda 85 * Agenda Views:: Collecting information into views
85 * Exporting:: Sharing and publishing of notes 86 * Exporting:: Sharing and publishing of notes
86 * Miscellaneous:: All the rest which did not fit elsewhere 87 * Miscellaneous:: All the rest which did not fit elsewhere
87 * Index:: The fast road to specific information 88 * Index:: The fast road to specific information
88 * Key Index:: Key bindings and where they are described 89 * Key Index:: Key bindings and where they are described
89 90
103 * Visibility cycling:: Show and hide, much simplified 104 * Visibility cycling:: Show and hide, much simplified
104 * Motion:: Jumping to other headlines 105 * Motion:: Jumping to other headlines
105 * Structure editing:: Changing sequence and level of headlines 106 * Structure editing:: Changing sequence and level of headlines
106 * Archiving:: Move done task trees to a different place 107 * Archiving:: Move done task trees to a different place
107 * Sparse trees:: Matches embedded in context 108 * Sparse trees:: Matches embedded in context
109 * Tags::
108 * Plain Lists:: Editing hand-formatted lists 110 * Plain Lists:: Editing hand-formatted lists
109 111
110 Tables 112 Tables
111 113
112 * Built-in table editor:: Simple tables 114 * Built-in table editor:: Simple tables
147 Timestamps 149 Timestamps
148 150
149 * Time stamps:: Assigning a time to a tree entry 151 * Time stamps:: Assigning a time to a tree entry
150 * Creating timestamps:: Commands which insert timestamps 152 * Creating timestamps:: Commands which insert timestamps
151 153
152 Timeline and Agenda 154 Agenda Views
153 155
156 * Agenda:: Your weekly planner
157 * Global TODO list:: Overview over all things to do
158 * Matching headline tags:: Select information based on tags
154 * Timeline:: Time-sorted view for single file 159 * Timeline:: Time-sorted view for single file
155 * Agenda:: Your weekly planner
156 * Agenda commands:: Remote editing of org trees 160 * Agenda commands:: Remote editing of org trees
157 * Calendar/Diary integration:: Integrating Anniversaries and more 161 * Calendar/Diary integration:: Integrating Anniversaries and more
158 162
159 Calendar/Diary integration 163 Calendar/Diary integration
160 164
249 @cindex global keybindings 253 @cindex global keybindings
250 @cindex keybindings, global 254 @cindex keybindings, global
251 255
252 If Org-mode is part of the Emacs distribution or an XEmacs package, 256 If Org-mode is part of the Emacs distribution or an XEmacs package,
253 you only need to copy the following lines to your @file{.emacs} file. 257 you only need to copy the following lines to your @file{.emacs} file.
254 The last three lines define @emph{global} keys for the commands 258 The last two lines define @emph{global} keys for the commands
255 @command{org-store-link}, @command{org-agenda}, and 259 @command{org-store-link} and @command{org-agenda} - please
256 @code{org-todo-list} - please choose suitable keys yourself. 260 choose suitable keys yourself.
257 261
258 @lisp 262 @lisp
259 ;; The following lines are always needed. Choose your own keys. 263 ;; The following lines are always needed. Choose your own keys.
260 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) 264 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
261 (define-key global-map "\C-cl" 'org-store-link) 265 (define-key global-map "\C-cl" 'org-store-link)
262 (define-key global-map "\C-ca" 'org-agenda) 266 (define-key global-map "\C-ca" 'org-agenda)
263 (define-key global-map "\C-ct" 'org-todo-list)
264 @end lisp 267 @end lisp
265 268
266 If you have downloaded Org-mode from the Web, you must byte-compile 269 If you have downloaded Org-mode from the Web, you must byte-compile
267 @file{org.el} and put it on your load path. In addition to the Emacs 270 @file{org.el} and put it on your load path. In addition to the Emacs
268 Lisp lines above, you also need to add the following lines to 271 Lisp lines above, you also need to add the following lines to
271 @lisp 274 @lisp
272 ;; These lines only if org-mode is not part of the X/Emacs distribution. 275 ;; These lines only if org-mode is not part of the X/Emacs distribution.
273 (autoload 'org-mode "org" "Org mode" t) 276 (autoload 'org-mode "org" "Org mode" t)
274 (autoload 'org-diary "org" "Diary entries from Org mode") 277 (autoload 'org-diary "org" "Diary entries from Org mode")
275 (autoload 'org-agenda "org" "Multi-file agenda from Org mode" t) 278 (autoload 'org-agenda "org" "Multi-file agenda from Org mode" t)
276 (autoload 'org-todo-list "org" "Global TODO list from Org mode" t)
277 (autoload 'org-store-link "org" "Store a link to the current location" t) 279 (autoload 'org-store-link "org" "Store a link to the current location" t)
278 (autoload 'orgtbl-mode "org" "Org tables as a minor mode" t) 280 (autoload 'orgtbl-mode "org" "Org tables as a minor mode" t)
279 (autoload 'turn-on-orgtbl "org" "Org tables as a minor mode") 281 (autoload 'turn-on-orgtbl "org" "Org tables as a minor mode")
280 @end lisp 282 @end lisp
281 283
330 * Visibility cycling:: Show and hide, much simplified 332 * Visibility cycling:: Show and hide, much simplified
331 * Motion:: Jumping to other headlines 333 * Motion:: Jumping to other headlines
332 * Structure editing:: Changing sequence and level of headlines 334 * Structure editing:: Changing sequence and level of headlines
333 * Archiving:: Move done task trees to a different place 335 * Archiving:: Move done task trees to a different place
334 * Sparse trees:: Matches embedded in context 336 * Sparse trees:: Matches embedded in context
337 * Tags::
335 * Plain Lists:: Editing hand-formatted lists 338 * Plain Lists:: Editing hand-formatted lists
336 @end menu 339 @end menu
337 340
338 @node Outlines, Headlines, Document Structure, Document Structure 341 @node Outlines, Headlines, Document Structure, Document Structure
339 @section Outlines 342 @section Outlines
369 * Another top level headline 372 * Another top level headline
370 @end example 373 @end example
371 374
372 @node Visibility cycling, Motion, Headlines, Document Structure 375 @node Visibility cycling, Motion, Headlines, Document Structure
373 @section Visibility cycling 376 @section Visibility cycling
377 @cindex cycling, visibility
374 @cindex visibility cycling 378 @cindex visibility cycling
375 @cindex trees, visibility 379 @cindex trees, visibility
380 @cindex show hidden text
381 @cindex hide text
376 382
377 Outlines make it possible to hide parts of the text in the buffer. 383 Outlines make it possible to hide parts of the text in the buffer.
378 Org-mode uses a single command bound to the @key{TAB} key to change 384 Org-mode uses a single command bound to the @key{TAB} key to change
379 the visibility in the buffer. 385 the visibility in the buffer.
380 386
426 432
427 @node Motion, Structure editing, Visibility cycling, Document Structure 433 @node Motion, Structure editing, Visibility cycling, Document Structure
428 @section Motion 434 @section Motion
429 @cindex motion, between headlines 435 @cindex motion, between headlines
430 @cindex jumping, to headlines 436 @cindex jumping, to headlines
437 @cindex headline navigation
431 The following commands jump to other headlines in the buffer. 438 The following commands jump to other headlines in the buffer.
432 439
433 @table @kbd 440 @table @kbd
434 @kindex C-c C-n 441 @kindex C-c C-n
435 @item C-c C-n 442 @item C-c C-n
464 @cindex demotion, of subtrees 471 @cindex demotion, of subtrees
465 @cindex subtree, cut and paste 472 @cindex subtree, cut and paste
466 @cindex pasting, of subtrees 473 @cindex pasting, of subtrees
467 @cindex cutting, of subtrees 474 @cindex cutting, of subtrees
468 @cindex copying, of subtrees 475 @cindex copying, of subtrees
476 @cindex subtrees, cut and paste
469 477
470 @table @kbd 478 @table @kbd
471 @kindex M-@key{RET} 479 @kindex M-@key{RET}
472 @item M-@key{RET} 480 @item M-@key{RET}
473 Insert new heading with same level as current. If the cursor is in a 481 Insert new heading with same level as current. If the cursor is in a
522 functionality. 530 functionality.
523 531
524 @node Archiving, Sparse trees, Structure editing, Document Structure 532 @node Archiving, Sparse trees, Structure editing, Document Structure
525 @section Archiving 533 @section Archiving
526 @cindex archiving 534 @cindex archiving
535 @cindex filing subtries
527 536
528 When a project represented by a (sub)tree is finished, you may want 537 When a project represented by a (sub)tree is finished, you may want
529 to move the tree to an archive place, either in the same file under a 538 to move the tree to an archive place, either in the same file under a
530 special top-level heading, or even to a different file. 539 special top-level heading, or even to a different file.
531 @table @kbd 540 @table @kbd
542 this, see the documentation string of the variable 551 this, see the documentation string of the variable
543 @code{org-archive-location}. If you are also using the Org-mode 552 @code{org-archive-location}. If you are also using the Org-mode
544 agenda, archiving to a different file is a good way to keep archived 553 agenda, archiving to a different file is a good way to keep archived
545 trees from contributing agenda items. 554 trees from contributing agenda items.
546 555
547 @node Sparse trees, Plain Lists, Archiving, Document Structure 556 @node Sparse trees, Tags, Archiving, Document Structure
548 @section Sparse trees 557 @section Sparse trees
549 @cindex sparse trees 558 @cindex sparse trees
550 @cindex trees, sparse 559 @cindex trees, sparse
551 @cindex folding, sparse trees 560 @cindex folding, sparse trees
552 @cindex occur, command 561 @cindex occur, command
586 XEmacs uses selective display for outlining, not text properties}. 595 XEmacs uses selective display for outlining, not text properties}.
587 Or you can use the command @kbd{C-c C-x v} to copy the visible part of 596 Or you can use the command @kbd{C-c C-x v} to copy the visible part of
588 the document to another file (extension @file{.txt}) which then can be 597 the document to another file (extension @file{.txt}) which then can be
589 printed in any desired way. 598 printed in any desired way.
590 599
591 @node Plain Lists, , Sparse trees, Document Structure 600 @node Tags, Plain Lists, Sparse trees, Document Structure
601 @section Tags
602 @cindex tags
603 @cindex headline tagging
604 @cindex matching, tags
605 @cindex sparse tree, tag based
606
607 If you wish to implement a tag system to cross-correlate information,
608 this can be done as well in Org-mode. Every headline can contain a
609 list of tags, at the end of the headline. Tags are normal words
610 containing letters and @samp{_}, but no numbers. Tags must be
611 preceded and followed by a single colon; like @samp{:WORK:}. Several
612 tags can be specified like @samp{:WORK:URGENT:}.
613
614 @cindex inheritance, of tags
615 Tags make use of the hierarchical structure of outline trees. If a
616 heading has a certain tag, all subheadings will inherit the tag as
617 well. For example, in the list
618
619 @example
620 * Meeting with the French group :WORK:
621 ** Summary by Frank :BOSS:
622 *** TODO Prepare slides for him :ACTION:
623 @end example
624 @noindent
625 the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:}, and
626 @samp{:ACTION:}.
627
628 @table @kbd
629 @kindex C-c C-c
630 @item C-c C-c
631 @cindex completion, of tags
632 Enter new tags for the current headline. The minibuffer will prompt
633 for a list of tags and offer completion with respect to all other tags
634 used in the current buffer. After pressing @key{RET}, the tags will
635 be inserted and aligned to @code{org-tags-column}. When called with a
636 @kbd{C-u} prefix, align all tags in the current buffer to that column,
637 just to make things look nice. Tags can also be just typed into the
638 buffer, with @kbd{M-@key{TAB}} support.
639 @cindex M-@key{TAB}
640 @item M-@key{TAB}
641 Tags can also be typed directly into the buffer, using
642 @kbd{M-@key{TAB}} completion.
643 @kindex C-c \
644 @item C-c \
645 Create a sparse tree with all headlines matching a given set of tags.
646 The command prompts for the tags to match. The criterion is just a
647 list of tags separated by @samp{+} or @samp{-} for positive and
648 negative selection. For example, @samp{+WORK-BOSS} would select all
649 headlines that are tagged @samp{:WORK:}, but discard those also tagged
650 @samp{:BOSS:}.
651 @kindex C-c a m
652 @item C-c a m
653 Create a global list of tag matches from all agenda files.
654 @xref{Matching headline tags}.
655 @end table
656
657 @node Plain Lists, , Tags, Document Structure
592 @section Plain Lists 658 @section Plain Lists
593 @cindex plain lists 659 @cindex plain lists
594 @cindex lists, plain 660 @cindex lists, plain
661 @cindex lists, ordered
662 @cindex ordered lists
595 663
596 Headlines define the structure of the Org-mode file, and also lists 664 Headlines define the structure of the Org-mode file, and also lists
597 (for example TODO items (@pxref{TODO items}) should be created using 665 (for example TODO items (@pxref{TODO items}) should be created using
598 headline levels. However, when taking notes, the plain text is 666 headline levels. However, when taking notes, the plain text is
599 sometimes easier to read with hand-formatted lists. Org-mode supports 667 sometimes easier to read with hand-formatted lists. Org-mode supports
632 @kindex @key{TAB} 700 @kindex @key{TAB}
633 @item @key{TAB} 701 @item @key{TAB}
634 Items can be folded just like headline levels if you set the variable 702 Items can be folded just like headline levels if you set the variable
635 @code{org-cycle-include-plain-lists}. The level of an item is then 703 @code{org-cycle-include-plain-lists}. The level of an item is then
636 given by the indentation of the bullet/number. However, items are 704 given by the indentation of the bullet/number. However, items are
637 always subortinate to real headlines, the hierarchies remain 705 always subordinate to real headlines, the hierarchies remain
638 completely separated. 706 completely separated.
639 @kindex M-@key{RET} 707 @kindex M-@key{RET}
640 @item M-@key{RET} 708 @item M-@key{RET}
641 Insert new item at current level. With prefix arg, for a new heading. 709 Insert new item at current level. With prefix arg, for a new heading.
642 @kindex M-S-@key{up} 710 @kindex M-S-@key{up}
643 @kindex M-S-@key{down} 711 @kindex M-S-@key{down}
644 @item M-S-@key{up} 712 @item M-S-@key{up}
645 @itemx M-S-@key{down} 713 @itemx M-S-@key{down}
646 Move the item including subitems up/down (swap with previous/next item 714 Move the item including subitems up/down (swap with previous/next item
647 of same intentation). If the list is ordered, renumbering is 715 of same indentation). If the list is ordered, renumbering is
648 automatic. 716 automatic.
649 @kindex M-S-@key{left} 717 @kindex M-S-@key{left}
650 @kindex M-S-@key{right} 718 @kindex M-S-@key{right}
651 @item M-S-@key{left} 719 @item M-S-@key{left}
652 @itemx M-S-@key{right} 720 @itemx M-S-@key{right}
662 @end table 730 @end table
663 731
664 @node Tables, Hyperlinks, Document Structure, Top 732 @node Tables, Hyperlinks, Document Structure, Top
665 @chapter Tables 733 @chapter Tables
666 @cindex tables 734 @cindex tables
735 @cindex editing tables
667 736
668 Org-mode has a very fast and intuitive table editor built-in. 737 Org-mode has a very fast and intuitive table editor built-in.
669 Spreadsheet-like calculations are supported in connection with the 738 Spreadsheet-like calculations are supported in connection with the
670 Emacs @file{calc} package. 739 Emacs @file{calc} package.
671 740
909 @kbd{C-c C-c} to do a manual re-align. 978 @kbd{C-c C-c} to do a manual re-align.
910 979
911 @node Table calculations, orgtbl-mode, Built-in table editor, Tables 980 @node Table calculations, orgtbl-mode, Built-in table editor, Tables
912 @section Calculations in tables 981 @section Calculations in tables
913 @cindex calculations, in tables 982 @cindex calculations, in tables
983 @cindex spreadsheet capabilities
984 @cindex @file{calc} package
914 985
915 The table editor makes use of the Emacs @file{calc} package to 986 The table editor makes use of the Emacs @file{calc} package to
916 implement spreadsheet-like capabilities. Org-mode has two levels of 987 implement spreadsheet-like capabilities. Org-mode has two levels of
917 complexity for table calculations. On the basic level, tables do only 988 complexity for table calculations. On the basic level, tables do only
918 horizontal computations, so a field can be computed from other fields 989 horizontal computations, so a field can be computed from other fields
932 * Appetizer:: Taste the power of calc 1003 * Appetizer:: Taste the power of calc
933 @end menu 1004 @end menu
934 1005
935 @node Formula syntax, Column formulas, Table calculations, Table calculations 1006 @node Formula syntax, Column formulas, Table calculations, Table calculations
936 @subsection Formula syntax 1007 @subsection Formula syntax
1008 @cindex formula syntax
1009 @cindex syntax, of formulas
937 1010
938 A formula can be any algebraic expression understood by the Emacs 1011 A formula can be any algebraic expression understood by the Emacs
939 @file{calc} package. Before evaluation by @code{calc-eval} 1012 @file{calc} package. Before evaluation by @code{calc-eval}
940 (@pxref{Calling Calc from Your Lisp Programs,calc-eval,Calling calc 1013 (@pxref{Calling Calc from Your Lisp Programs,calc-eval,Calling calc
941 from Your Lisp Programs,calc,GNU Emacs Calc Manual}), variable 1014 from Your Lisp Programs,calc,GNU Emacs Calc Manual}), variable
951 &III-II @r{vector of fields between 2nd and 3rd hline above} 1024 &III-II @r{vector of fields between 2nd and 3rd hline above}
952 &III @r{vector of fields between third hline above and current field} 1025 &III @r{vector of fields between third hline above and current field}
953 $name @r{a named field, parameter or constant} 1026 $name @r{a named field, parameter or constant}
954 @end example 1027 @end example
955 1028
1029 @cindex vectors, in table calculations
956 The range vectors can be directly fed into the calc vector functions 1030 The range vectors can be directly fed into the calc vector functions
957 like @samp{vmean} and @samp{vsum}. 1031 like @samp{vmean} and @samp{vsum}.
958 1032
1033 @cindex name, of column or field
1034 @cindex constants, in calculations
959 @samp{$name} is interpreted as the name of a column, parameter or 1035 @samp{$name} is interpreted as the name of a column, parameter or
960 constant. Constants are defined globally through the variable 1036 constant. Constants are defined globally through the variable
961 @code{org-table-formula-constants}. If you have the 1037 @code{org-table-formula-constants}. If you have the
962 @file{constants.el} package, it will also be used to resolve 1038 @file{constants.el} package, it will also be used to resolve
963 constants, including natural constants like @samp{$h} for Planck's 1039 constants, including natural constants like @samp{$h} for Planck's
964 constant, units like @samp{$km} for kilometers. Column names and 1040 constant, units like @samp{$km} for kilometers. Column names and
965 parameters can be specified in special table lines. These are 1041 parameters can be specified in special table lines. These are
966 described below, see @ref{Advanced features}. 1042 described below, see @ref{Advanced features}.
967 1043
1044 @cindex format specifier
1045 @cindex mode, for @file{calc}
968 A formula can contain an optional mode string after a semicolon. This 1046 A formula can contain an optional mode string after a semicolon. This
969 string consists of flags to influence calc's modes@footnote{By 1047 string consists of flags to influence calc's modes@footnote{By
970 default, Org-mode uses the standard calc modes (precision 12, angular 1048 default, Org-mode uses the standard calc modes (precision 12, angular
971 units degrees, fraction and symbolic modes off). However, the display 1049 units degrees, fraction and symbolic modes off). However, the display
972 format has been changed to @code{(float 5)} to keep tables compact. 1050 format has been changed to @code{(float 5)} to keep tables compact.
992 taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} 1070 taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree}
993 @end example 1071 @end example
994 1072
995 @node Column formulas, Advanced features, Formula syntax, Table calculations 1073 @node Column formulas, Advanced features, Formula syntax, Table calculations
996 @subsection Column formulas 1074 @subsection Column formulas
1075 @cindex column formula
1076 @cindex formula, for table column
997 1077
998 To apply a formula to a field, type it directly into the field, 1078 To apply a formula to a field, type it directly into the field,
999 preceded by an equal sign, like @samp{=$1+$2}. When you press 1079 preceded by an equal sign, like @samp{=$1+$2}. When you press
1000 @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the 1080 @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the
1001 field, the formula will be stored as the formula for the current 1081 field, the formula will be stored as the formula for the current
1015 command @kbd{C-c =}. It prompts for a formula (with default taken 1095 command @kbd{C-c =}. It prompts for a formula (with default taken
1016 from the @samp{#+TBLFM:} line) and applies it to the current field. A 1096 from the @samp{#+TBLFM:} line) and applies it to the current field. A
1017 numerical prefix (e.g. @kbd{C-5 C-c =}) will apply it to that many 1097 numerical prefix (e.g. @kbd{C-5 C-c =}) will apply it to that many
1018 subsequent fields in the current column. 1098 subsequent fields in the current column.
1019 1099
1100 @cindex recomputing table fields
1020 To recompute all the fields in a line, use the command @kbd{C-c *}. 1101 To recompute all the fields in a line, use the command @kbd{C-c *}.
1021 It re-applies all stored equations to the current row, from left to 1102 It re-applies all stored equations to the current row, from left to
1022 right. With a @kbd{C-u} prefix, this will be done to every line in 1103 right. With a @kbd{C-u} prefix, this will be done to every line in
1023 the table, so use this command it you want to make sure the entire 1104 the table, so use this command it you want to make sure the entire
1024 table is up-to-date. @kbd{C-u C-c C-c} is another way to update the 1105 table is up-to-date. @kbd{C-u C-c C-c} is another way to update the
1059 @noindent @b{Important}: Please note that for these special tables, 1140 @noindent @b{Important}: Please note that for these special tables,
1060 recalculating the table with @kbd{C-u C-c *} does only affect rows 1141 recalculating the table with @kbd{C-u C-c *} does only affect rows
1061 which are marked @samp{#} or @samp{*}, and named fields. The column 1142 which are marked @samp{#} or @samp{*}, and named fields. The column
1062 formulas are not applied in rows with empty first field. 1143 formulas are not applied in rows with empty first field.
1063 1144
1145 @cindex marking characters, tables
1064 The marking characters have the following meaning: 1146 The marking characters have the following meaning:
1065 @table @samp 1147 @table @samp
1066 @item ! 1148 @item !
1067 The fields in this line define names for the columns, so that you may 1149 The fields in this line define names for the columns, so that you may
1068 refer to a column as @samp{$Tot} instead of @samp{$6}. 1150 refer to a column as @samp{$Tot} instead of @samp{$6}.
1096 or @samp{*}. 1178 or @samp{*}.
1097 @end table 1179 @end table
1098 1180
1099 @node Named-field formulas, Editing/debugging formulas, Advanced features, Table calculations 1181 @node Named-field formulas, Editing/debugging formulas, Advanced features, Table calculations
1100 @subsection Named-field formulas 1182 @subsection Named-field formulas
1183 @cindex named field formula
1184 @cindex formula, for named table field
1101 1185
1102 A named field can have its own formula associated with it. In the 1186 A named field can have its own formula associated with it. In the
1103 example above, this is used for the @samp{at} field that contains 1187 example above, this is used for the @samp{at} field that contains
1104 the average result of the students. To enter a formula for a named 1188 the average result of the students. To enter a formula for a named
1105 field, just type it onto the buffer, preceded by @samp{:=}. Or use 1189 field, just type it onto the buffer, preceded by @samp{:=}. Or use
1108 requested for the current line) will also update all named field 1192 requested for the current line) will also update all named field
1109 formulas. 1193 formulas.
1110 1194
1111 @node Editing/debugging formulas, Appetizer, Named-field formulas, Table calculations 1195 @node Editing/debugging formulas, Appetizer, Named-field formulas, Table calculations
1112 @subsection Editing and debugging formulas 1196 @subsection Editing and debugging formulas
1197 @cindex formula editing
1198 @cindex editing, of table formulas
1113 1199
1114 To edit a column or field formula, you can use the commands @kbd{C-c 1200 To edit a column or field formula, you can use the commands @kbd{C-c
1115 =} and @kbd{C-u C-c =}, respectively. The currently active expression 1201 =} and @kbd{C-u C-c =}, respectively. The currently active expression
1116 is then presented as default in the minibuffer, were it may be edited. 1202 is then presented as default in the minibuffer, were it may be edited.
1117 1203
1243 a comment line. For example 1329 a comment line. For example
1244 @example 1330 @example
1245 # <<MyTarget>> 1331 # <<MyTarget>>
1246 @end example 1332 @end example
1247 1333
1248 Each occurence of @samp{MyTarget} in the file is an active link that 1334 Each occurrence of @samp{MyTarget} in the file is an active link that
1249 can be followed with @kbd{C-c C-o} or with a mouse click 1335 can be followed with @kbd{C-c C-o} or with a mouse click
1250 (@pxref{Managing links}). If no dedicated target exists, org-mode will 1336 (@pxref{Managing links}). If no dedicated target exists, org-mode will
1251 search for the words in the link separated by white space, in the 1337 search for the words in the link separated by white space, in the
1252 above example for @samp{my target}. If the link starts with a star 1338 above example for @samp{my target}. If the link starts with a star
1253 like @samp{*MyTarget}, the search is restricted to headlines. 1339 like @samp{*MyTarget}, the search is restricted to headlines.
1273 offered as completions. @xref{Managing links}, for more commands 1359 offered as completions. @xref{Managing links}, for more commands
1274 creating links. 1360 creating links.
1275 1361
1276 @node External Links, Managing links, Internal Links, Hyperlinks 1362 @node External Links, Managing links, Internal Links, Hyperlinks
1277 @section External Links 1363 @section External Links
1278 @cindex links 1364 @cindex links, external
1279 @cindex external links 1365 @cindex external links
1280 @cindex links, external 1366 @cindex links, external
1281 @cindex GNUS links 1367 @cindex GNUS links
1282 @cindex BBDB links 1368 @cindex BBDB links
1283 @cindex URL links 1369 @cindex URL links
1341 selected words will form the basis of the search string. The key 1427 selected words will form the basis of the search string. The key
1342 binding @kbd{C-c l} is only a suggestion - see @ref{Installation and 1428 binding @kbd{C-c l} is only a suggestion - see @ref{Installation and
1343 Activation}. 1429 Activation}.
1344 1430
1345 @kindex C-c C-l 1431 @kindex C-c C-l
1432 @cindex link completion
1433 @cindex file name completion
1346 @cindex completion, of links 1434 @cindex completion, of links
1347 @cindex completion, of file names 1435 @cindex completion, of file names
1436 @cindex inserting links
1348 @item C-c C-l 1437 @item C-c C-l
1349 Insert a link. This prompts for a link to be inserted into the 1438 Insert a link. This prompts for a link to be inserted into the
1350 buffer. You can just type a link, using one of the link type prefixes 1439 buffer. You can just type a link, using one of the link type prefixes
1351 mentioned in the examples above. Through completion, all links stored 1440 mentioned in the examples above. Through completion, all links stored
1352 during the current session can be accessed. When called with prefix 1441 during the current session can be accessed. When called with prefix
1354 will be formatted as given in the variable @code{org-link-format} and 1443 will be formatted as given in the variable @code{org-link-format} and
1355 inserted into the buffer. Note that you don't have to use this 1444 inserted into the buffer. Note that you don't have to use this
1356 command to insert a link. Links in Org-mode are plain text, and you 1445 command to insert a link. Links in Org-mode are plain text, and you
1357 can type or paste them straight into the buffer. 1446 can type or paste them straight into the buffer.
1358 1447
1359 @cindex inserting links 1448 @cindex following links
1360 @kindex C-c C-o 1449 @kindex C-c C-o
1450 @kindex mouse-2
1361 @item C-c C-o 1451 @item C-c C-o
1452 @itemx mouse-2
1362 Open link at point. This will launch a web browser for URLs (using 1453 Open link at point. This will launch a web browser for URLs (using
1363 @command{browse-url-at-point}), run vm/gnus/bbdb for the corresponding 1454 @command{browse-url-at-point}), run vm/gnus/bbdb for the corresponding
1364 links, execute the command in a shell link, visit text files with 1455 links, and execute the command in a shell link. When the cursor is on
1365 Emacs and select a suitable application for non-text files. 1456 a CamelCase link, this commands runs the corresponding search. When
1366 Classification of files is based on file extension only. See option 1457 the cursor is on a TAGS list in a headline, it creates the
1367 @code{org-file-apps}. If there is no link at point, the current 1458 corresponding TAGS view. Furthermore, it will visit text files in
1368 subtree will be searched for one. If you want to override the default 1459 @samp{file:} links with Emacs and select a suitable application for
1369 application and visit the file with Emacs, use a @kbd{C-u} prefix. 1460 non-text files. Classification of files is based on file extension
1370 If the cursor is on a time stamp, compiles the agenda for that date. 1461 only. See option @code{org-file-apps}. If there is no link at point,
1462 the current subtree will be searched for one. If you want to override
1463 the default application and visit the file with Emacs, use a @kbd{C-u}
1464 prefix. If the cursor is on a time stamp, compiles the agenda for
1465 that date.
1371 1466
1372 @strong{IMPORTANT}: Be careful not to use any dangerous commands in a 1467 @strong{IMPORTANT}: Be careful not to use any dangerous commands in a
1373 shell link. 1468 shell link.
1374 1469
1375 @kindex mouse-2 1470 @kindex mouse-2
1382 @end table 1477 @end table
1383 1478
1384 1479
1385 @node Search Options, Remember, Managing links, Hyperlinks 1480 @node Search Options, Remember, Managing links, Hyperlinks
1386 @section Search options in file links 1481 @section Search options in file links
1482 @cindex search option in file links
1483 @cindex file links, searching
1387 1484
1388 File links can contain additional information to make Emacs jump to a 1485 File links can contain additional information to make Emacs jump to a
1389 particular location in the file when following a link. This can be a 1486 particular location in the file when following a link. This can be a
1390 line number or a search option after a double@footnote{For backward 1487 line number or a search option after a double@footnote{For backward
1391 compatibility, line numbers can also follow a single colon.} colon. 1488 compatibility, line numbers can also follow a single colon.} colon.
1516 @noindent 1613 @noindent
1517 The most important commands to work with TODO entries are: 1614 The most important commands to work with TODO entries are:
1518 1615
1519 @table @kbd 1616 @table @kbd
1520 @kindex C-c C-t 1617 @kindex C-c C-t
1618 @cindex cycling, of TODO states
1521 @item C-c C-t 1619 @item C-c C-t
1522 Rotate the TODO state of the current item between 1620 Rotate the TODO state of the current item between
1523 @example 1621 @example
1524 ,-> (unmarked) -> TODO -> DONE --. 1622 ,-> (unmarked) -> TODO -> DONE --.
1525 '--------------------------------' 1623 '--------------------------------'
1532 View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds 1630 View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds
1533 the entire buffer, but shows all TODO items and the headings hierarchy 1631 the entire buffer, but shows all TODO items and the headings hierarchy
1534 above them. With prefix arg, show also the DONE entries. With 1632 above them. With prefix arg, show also the DONE entries. With
1535 numerical prefix N, show the tree for the Nth keyword in the variable 1633 numerical prefix N, show the tree for the Nth keyword in the variable
1536 @code{org-todo-keywords}. 1634 @code{org-todo-keywords}.
1537 @kindex C-c t 1635 @kindex C-c a t
1538 @item C-c t 1636 @item C-c a t
1539 Show the global TODO list. This collects the TODO items from all 1637 Show the global TODO list. This collects the TODO items from all
1540 agenda files (@pxref{Agenda}) into a single buffer. The buffer is in 1638 agenda files (@pxref{Agenda}) into a single buffer. The buffer is in
1541 @code{agenda-mode}, so there are commands to examine and manipulate 1639 @code{agenda-mode}, so there are commands to examine and manipulate
1542 the TODO entries directly from that buffer (@pxref{Agenda commands}). 1640 the TODO entries directly from that buffer (@pxref{Agenda commands}).
1543 A prefix argument can be used to collect only TODO entries of a 1641 @xref{Global TODO list}, for more information.
1544 particular type. With a C-u prefix you are prompted for a keyword. 1642 @item @code{org-agenda-include-all-todo}
1545 With a numeric prefix, the Nth keyword in @code{org-todo-keywords} is 1643 If you would like to have all your TODO items listed as part of your
1546 selected. 1644 agenda, customize the variable @code{org-agenda-include-all-todo}.
1547 @kindex r
1548 The @kbd{r} key in the agenda buffer regenerates it, and you can give
1549 a prefix argument to this command to change the selected TODO keyword,
1550 for example @kbd{3 r}. The key binding @kbd{C-c t} is only a
1551 suggestion - see @ref{Installation and Activation}.
1552 @kindex C-u C-c a
1553 @item C-u C-c a
1554 A @kbd{C-u} argument to the @code{org-agenda command} (@pxref{Agenda})
1555 includes all unfinished TODO items at the beginning of todays agenda.
1556 See also the variable @code{org-agenda-include-all-todo} to get this
1557 by default.
1558 @end table 1645 @end table
1559 1646
1560 @node Progress Logging, TODO extensions, TODO basics, TODO items 1647 @node Progress Logging, TODO extensions, TODO basics, TODO items
1561 @section Progress Logging 1648 @section Progress Logging
1562 @cindex progress logging 1649 @cindex progress logging
1566 @lisp 1653 @lisp
1567 (setq org-log-done t) 1654 (setq org-log-done t)
1568 @end lisp 1655 @end lisp
1569 @noindent 1656 @noindent
1570 Then each time you turn a TODO entry into DONE using either @kbd{C-c 1657 Then each time you turn a TODO entry into DONE using either @kbd{C-c
1571 C-v} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line 1658 C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line
1572 @samp{CLOSED: [timestamp]} will be inserted just after the headline. 1659 @samp{CLOSED: [timestamp]} will be inserted just after the headline.
1573 If you turn the entry back into a TODO item again thorugh further 1660 If you turn the entry back into a TODO item again through further
1574 state cycling, that line will be removed again. In the timeline 1661 state cycling, that line will be removed again. In the timeline
1575 (@pxref{Timeline}) and in the agenda (@pxref{Agenda}), you can then 1662 (@pxref{Timeline}) and in the agenda (@pxref{Agenda}), you can then
1576 use the @kbd{L} key to display the TODO items closed on each day, 1663 use the @kbd{L} key to display the TODO items closed on each day,
1577 giving you an overview of what has been done on a day. 1664 giving you an overview of what has been done on a day.
1578 1665
1731 also used to modify time stamps (@pxref{Creating timestamps}). 1818 also used to modify time stamps (@pxref{Creating timestamps}).
1732 Furthermore, these keys are also used by CUA-mode 1819 Furthermore, these keys are also used by CUA-mode
1733 (@pxref{Interaction}). 1820 (@pxref{Interaction}).
1734 @end table 1821 @end table
1735 1822
1736 @node Timestamps, Timeline and Agenda, TODO items, Top 1823 @node Timestamps, Agenda Views, TODO items, Top
1737 @chapter Timestamps 1824 @chapter Timestamps
1738 1825
1739 Items can be labeled with timestamps to make them useful for project 1826 Items can be labeled with timestamps to make them useful for project
1740 planning. 1827 planning.
1741 1828
1746 1833
1747 1834
1748 @node Time stamps, Creating timestamps, Timestamps, Timestamps 1835 @node Time stamps, Creating timestamps, Timestamps, Timestamps
1749 @section Time stamps, deadlines and scheduling 1836 @section Time stamps, deadlines and scheduling
1750 @cindex time stamps 1837 @cindex time stamps
1838 @cindex ranges, time
1839 @cindex date stamps
1751 @cindex deadlines 1840 @cindex deadlines
1752 @cindex scheduling 1841 @cindex scheduling
1753 1842
1754 A time stamp is a specification of a date (possibly with time) in a 1843 A time stamp is a specification of a date (possibly with time) in a
1755 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 1844 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16
1802 @end table 1891 @end table
1803 1892
1804 @node Creating timestamps, , Time stamps, Timestamps 1893 @node Creating timestamps, , Time stamps, Timestamps
1805 @section Creating timestamps 1894 @section Creating timestamps
1806 @cindex creating timestamps 1895 @cindex creating timestamps
1896 @cindex timestamps, creating
1807 1897
1808 For Org-mode to recognize time stamps, they need to be in the specific 1898 For Org-mode to recognize time stamps, they need to be in the specific
1809 format. All commands listed below produce time stamps in the correct 1899 format. All commands listed below produce time stamps in the correct
1810 format. 1900 format.
1811 1901
1924 @kindex @key{RET} 2014 @kindex @key{RET}
1925 @item @key{RET} 2015 @item @key{RET}
1926 Choose date in calendar (only if nothing typed into minibuffer). 2016 Choose date in calendar (only if nothing typed into minibuffer).
1927 @end table 2017 @end table
1928 2018
1929 @node Timeline and Agenda, Exporting, Timestamps, Top 2019 @node Agenda Views, Exporting, Timestamps, Top
1930 @chapter Timeline and Agenda 2020 @chapter Agenda Views
1931 @cindex agenda 2021 @cindex agenda views
1932 2022
2023 @ignore
1933 We have already described three commands to filter important 2024 We have already described three commands to filter important
1934 information in an org file into a sparse tree (@pxref{Sparse trees}): 2025 information in an org file into a sparse tree (@pxref{Sparse trees}):
1935 2026
1936 @cindex sparse trees 2027 @cindex sparse trees
1937 @itemize @bullet 2028 @itemize @bullet
1942 @item 2033 @item
1943 Checking upcoming deadlines with @kbd{C-c C-w}, see @ref{Creating 2034 Checking upcoming deadlines with @kbd{C-c C-w}, see @ref{Creating
1944 timestamps}. 2035 timestamps}.
1945 @end itemize 2036 @end itemize
1946 @noindent 2037 @noindent
1947 2038 @end ignore
1948 Instead of using the sparse trees, Org-mode can also collect and 2039
1949 time-sort the important items into a separate buffer, which we call 2040 Org-mode can collect and sort selected items into a separate buffer.
1950 the @emph{timeline} of the org file. It can also collect information 2041 The information to be listed is collected from all @emph{agenda
1951 from a @emph{list of files} and in this way provide an @emph{agenda} 2042 files}, the files listed in the variable @code{org-agenda-files}.
1952 which covers all of your current projects, action items and 2043 Thus even if you only work with a single Org-mode file, this file must
1953 appointments. 2044 be put into that list@footnote{When using the dispatcher pressing
1954 2045 @kbd{1} before selecting a command will actually limit the command to
1955 @menu 2046 the current file, and ignore @code{org-agenda-files} until the next
1956 * Timeline:: Time-sorted view for single file 2047 dispatcher command.}. You can customize this variable, but the easiest
1957 * Agenda:: Your weekly planner 2048 way to maintain it is through the following commands
1958 * Agenda commands:: Remote editing of org trees
1959 * Calendar/Diary integration:: Integrating Anniversaries and more
1960 @end menu
1961
1962 @node Timeline, Agenda, Timeline and Agenda, Timeline and Agenda
1963 @section Timeline for a single file
1964 @cindex single file summary
1965 @cindex agenda, for single file
1966 @cindex timeline, single file
1967 @cindex time-sorted view
1968
1969 The timeline shows all time-stamped items in a single Org-mode file,
1970 in @emph{time-sorted view}. The main purpose of this command is to
1971 give an overview over events in a project.
1972
1973 @table @kbd
1974 @kindex C-c C-r
1975 @item C-c C-r
1976 Show a time-sorted view of the org file, with all time-stamped items
1977 of today or later. When called with a @kbd{C-u} prefix, past dates
1978 will be included as well. When called with two @kbd{C-u C-u}
1979 prefixes, all unfinished TODO entries (scheduled or not) are also
1980 listed under the current date.
1981 @end table
1982 @noindent
1983
1984 The timeline is shown in a temporary buffer @file{*Org Agenda*}. The
1985 commands available in the Agenda buffer are listed in @ref{Agenda
1986 commands}.
1987
1988 @node Agenda, Agenda commands, Timeline, Timeline and Agenda
1989 @section Agenda
1990 @cindex agenda
1991
1992 An agenda can be compiled from one or more org files. The main
1993 purpose of this command is to act like a paper agenda, showing you all
1994 the tasks for the current day or week.
1995
1996 The Org-mode files to be processed in order to generate the agenda are
1997 listed in the variable @code{org-agenda-files}. You can customize
1998 this variable, but the easiest way to maintain it is through the
1999 following commands
2000 2049
2001 @cindex files, adding to agenda list 2050 @cindex files, adding to agenda list
2002 @table @kbd 2051 @table @kbd
2003 @kindex C-c [ 2052 @kindex C-c [
2004 @item C-c [ 2053 @item C-c [
2011 @kindex C-, 2060 @kindex C-,
2012 @item C-, 2061 @item C-,
2013 Cycle through agenda file list. 2062 Cycle through agenda file list.
2014 @end table 2063 @end table
2015 @noindent 2064 @noindent
2016 The Org menu contains the list of all files and can be used to quickly 2065 The Org menu always contains the current list of files and can be used
2017 visit any of them. 2066 to quickly visit any of them.
2018 2067
2019 The global command @command{org-agenda} compiles the agenda from all 2068 Org-mode provides three different views on the information in these
2020 listed files. 2069 files:
2070 @itemize @bullet
2071 @item
2072 an @emph{agenda} that is like a calendar and shows information
2073 for specific dates
2074 @item
2075 a @emph{TODO list} that covers all unfinished
2076 action items, and
2077 @item
2078 a @emph{tags view} that show information based on
2079 the tags associated with headlines in the outline tree.
2080 @end itemize
2081 @noindent
2082 The extracted information is displayed in a special @emph{agenda
2083 buffer}. This buffer is read-only, but provides commands to visit the
2084 corresponding locations in the original Org-mode files, and even to
2085 edit these files remotely.
2086
2087 The views are created through a dispatcher that should be bound to a
2088 global key, for example @kbd{C-c a} (@pxref{Installation and
2089 Activation}). In the following we will assume that @kbd{C-c a} is
2090 indeed how the dispatcher is accessed and list keyboard access to
2091 commands accordingly.
2092
2093 @menu
2094 * Agenda:: Your weekly planner
2095 * Global TODO list:: Overview over all things to do
2096 * Matching headline tags:: Select information based on tags
2097 * Timeline:: Time-sorted view for single file
2098 * Agenda commands:: Remote editing of org trees
2099 * Calendar/Diary integration:: Integrating Anniversaries and more
2100 @end menu
2101
2102 @node Agenda, Global TODO list, Agenda Views, Agenda Views
2103 @section Agenda
2104 @cindex agenda
2105
2106 The purpose of the @emph{agenda} is to act like a week/day page of a
2107 paper agenda, showing you all the tasks for the current week or day.
2021 2108
2022 @table @kbd 2109 @table @kbd
2023 @cindex org-agenda, command 2110 @cindex org-agenda, command
2024 @kindex C-c a 2111 @kindex C-c a a
2025 @item C-c a 2112 @item C-c a a
2026 Compile an agenda for the current week from a list of org files. The 2113 Compile an agenda for the current week from a list of org files. The
2027 agenda shows the entries for each day. With a @kbd{C-u} prefix (or 2114 agenda shows the entries for each day. With a @kbd{C-u} prefix (or
2028 when the variable @code{org-agenda-include-all-todo} is @code{t}), all 2115 when the variable @code{org-agenda-include-all-todo} is @code{t}), all
2029 unfinished TODO items (also those without a date) are also listed at 2116 unfinished TODO items (also those without a date) are also listed at
2030 the beginning of the buffer, before the first date.@* 2117 the beginning of the buffer, before the first date.@*
2031 The key binding @kbd{C-c a} is only a suggestion - see 2118 The key binding @kbd{C-c a a} is only a suggestion - see
2032 @ref{Installation and Activation}. 2119 @ref{Installation and Activation}.
2033 @end table 2120 @end table
2034 2121
2035 The commands available in the Agenda buffer are listed in 2122 Remote editing from the agenda buffer means for example that you can
2036 @ref{Agenda commands}. 2123 change the dates of deadlines and appointments from the agenda buffer.
2124 The commands available in the Agenda buffer are listed in @ref{Agenda
2125 commands}.
2126
2037 2127
2038 @subsection Categories 2128 @subsection Categories
2039 2129
2040 @cindex category 2130 @cindex category
2041 In the agenda buffer, each entry is preceded by a @emph{category}, 2131 In the agenda buffer, each entry is preceded by a @emph{category},
2110 plus additional increments for overdue scheduled or deadline items. 2200 plus additional increments for overdue scheduled or deadline items.
2111 2201
2112 Sorting can be customized using the variable 2202 Sorting can be customized using the variable
2113 @code{org-agenda-sorting-strategy}. 2203 @code{org-agenda-sorting-strategy}.
2114 2204
2115 @node Agenda commands, Calendar/Diary integration, Agenda, Timeline and Agenda 2205 @node Global TODO list, Matching headline tags, Agenda, Agenda Views
2206 @section The global TODO list
2207 @cindex global TODO list
2208 @cindex TODO list, global
2209
2210 The global TODO list contains all unfinished TODO items, formatted and
2211 collected into a single place.
2212
2213 @table @kbd
2214 @kindex C-c a t
2215 @item C-c a t
2216 Show the global TODO list. This collects the TODO items from all
2217 agenda files (@pxref{Agenda}) into a single buffer. The buffer is in
2218 @code{agenda-mode}, so there are commands to examine and manipulate
2219 the TODO entries directly from that buffer (@pxref{Agenda commands}).
2220 @xref{Global TODO list}, for more information.
2221 @kindex C-c a T
2222 @item C-c a T
2223 Like the above, but allow to select a specific TODO keyword. You can
2224 also do this by specifying a prefix argument. With a @kbd{C-u} prefix
2225 you are prompted for a keyword. With a numeric prefix, the Nth
2226 keyword in @code{org-todo-keywords} is selected.
2227 @kindex r
2228 The @kbd{r} key in the agenda buffer regenerates it, and you can give
2229 a prefix argument to this command to change the selected TODO keyword,
2230 for example @kbd{3 r}.
2231 @end table
2232
2233 Remote editing of TDOD items means that you can change the state of a
2234 TODO entry with a single key press. The commands available in the
2235 TODO list are described in @ref{Agenda commands}.
2236
2237 @node Matching headline tags, Timeline, Global TODO list, Agenda Views
2238 @section Matching headline tags
2239 @cindex matching, of tags
2240 @cindex tags view
2241
2242 If headlines in the agenda files are marked with @emph{tags}
2243 (@pxref{Tags}), you can select headlines based on the tags that apply
2244 to them and collect them into an ageenda buffer.
2245
2246 @table @kbd
2247 @kindex C-c a m
2248 @item C-c a m
2249 Produce a list of all headlines that match a given set of tags. The
2250 command prompts for a selection criterion, which is a simple list of
2251 TAGS with positive and negative selection, like
2252 @samp{+WORK+URGENT-WITHBOSS}.
2253 @kindex C-c a M
2254 @item C-c a M
2255 Like @kbd{C-c a m}, but only select headlines that are also TODO
2256 items.
2257 @end table
2258
2259 The commands available in the tags list are described in @ref{Agenda
2260 commands}.
2261
2262 @node Timeline, Agenda commands, Matching headline tags, Agenda Views
2263 @section Timeline for a single file
2264 @cindex single file summary
2265 @cindex agenda, for single file
2266 @cindex timeline, single file
2267 @cindex time-sorted view
2268
2269 The timeline is not really an agenda view, because it only summarizes
2270 items from a single Org-mode file. But it also uses the agenda buffer
2271 and provides similar commands, so we discuss it here. The timeline
2272 shows all time-stamped items in a single Org-mode file (or the
2273 selected part of it), in @emph{time-sorted view}. The main purpose of
2274 this command is to give an overview over events in a project.
2275
2276 @table @kbd
2277 @kindex C-c C-r
2278 @item C-c C-r
2279 Show a time-sorted view of the org file, with all time-stamped items.
2280 When called with a @kbd{C-u} prefix, all unfinished TODO entries
2281 (scheduled or not) are also listed under the current date.
2282 @end table
2283 @noindent
2284
2285 The commands available in the timeline buffer are listed in
2286 @ref{Agenda commands}.
2287
2288 @node Agenda commands, Calendar/Diary integration, Timeline, Agenda Views
2116 @section Commands in the agenda buffer 2289 @section Commands in the agenda buffer
2290 @cindex commands, in agenda buffer
2117 2291
2118 Entries in the agenda buffer are linked back to the org file or diary 2292 Entries in the agenda buffer are linked back to the org file or diary
2119 file where they originate. You are not allowed to edit the agenda 2293 file where they originate. You are not allowed to edit the agenda
2120 buffer itself, but commands are provided to show and jump to the 2294 buffer itself, but commands are provided to show and jump to the
2121 original entry location, and to edit the org-files ``remotely'' from 2295 original entry location, and to edit the org-files ``remotely'' from
2140 @kindex @key{SPC} 2314 @kindex @key{SPC}
2141 @item mouse-3 2315 @item mouse-3
2142 @itemx @key{SPC} 2316 @itemx @key{SPC}
2143 Display the original location of the item in another window. 2317 Display the original location of the item in another window.
2144 2318
2145 @kindex l 2319 @kindex L
2146 @item l 2320 @item L
2147 Display original location and recenter that window. 2321 Display original location and recenter that window.
2148 2322
2149 @kindex mouse-2 2323 @kindex mouse-2
2150 @kindex @key{TAB} 2324 @kindex @key{TAB}
2151 @item mouse-2 2325 @item mouse-2
2160 @item f 2334 @item f
2161 Toggle Follow mode. In Follow mode, as you move the cursor through 2335 Toggle Follow mode. In Follow mode, as you move the cursor through
2162 the agenda buffer, the other window always shows the corresponding 2336 the agenda buffer, the other window always shows the corresponding
2163 location in the org file. 2337 location in the org file.
2164 2338
2165 @kindex L 2339 @kindex l
2166 @item L 2340 @item l
2167 Toggle Logbook mode. In Logbook mode, entries that where marked DONE while 2341 Toggle Logbook mode. In Logbook mode, entries that where marked DONE while
2168 logging was on (variable @code{org-log-done}) are shown in the agenda. 2342 logging was on (variable @code{org-log-done}) are shown in the agenda.
2169 2343
2170 @tsubheading{Change display} 2344 @tsubheading{Change display}
2171 @kindex o 2345 @kindex o
2318 for the compilation of the agenda. Buffers created by the user to 2492 for the compilation of the agenda. Buffers created by the user to
2319 visit org files will not be removed. 2493 visit org files will not be removed.
2320 2494
2321 @end table 2495 @end table
2322 2496
2323 @node Calendar/Diary integration, , Agenda commands, Timeline and Agenda 2497 @node Calendar/Diary integration, , Agenda commands, Agenda Views
2324 @section Calendar/Diary integration 2498 @section Calendar/Diary integration
2325 @cindex calendar integration 2499 @cindex calendar integration
2326 @cindex diary integration 2500 @cindex diary integration
2327 2501
2328 Emacs contains the calendar and diary by Edward M. Reingold. The 2502 Emacs contains the calendar and diary by Edward M. Reingold. The
2366 calendars, respectively. @kbd{c} can be used to switch back and forth 2540 calendars, respectively. @kbd{c} can be used to switch back and forth
2367 between calendar and agenda. 2541 between calendar and agenda.
2368 2542
2369 @node Agenda to diary, , Diary to agenda, Calendar/Diary integration 2543 @node Agenda to diary, , Diary to agenda, Calendar/Diary integration
2370 @subsection Including the agenda into the diary 2544 @subsection Including the agenda into the diary
2545 @cindex agenda to diary
2371 2546
2372 If you prefer to use the Emacs diary as your main instrument and if 2547 If you prefer to use the Emacs diary as your main instrument and if
2373 you wish to include the Org-mode agenda into it, the following steps 2548 you wish to include the Org-mode agenda into it, the following steps
2374 are necessary: Autoload the function @command{org-diary} as shown 2549 are necessary: Autoload the function @command{org-diary} as shown
2375 above under @ref{Installation and Activation}. You also need to use 2550 above under @ref{Installation and Activation}. You also need to use
2399 or deadline referring to the selected date will be listed. Just like 2574 or deadline referring to the selected date will be listed. Just like
2400 in Org-mode's agenda view, the diary for @emph{today} contains 2575 in Org-mode's agenda view, the diary for @emph{today} contains
2401 additional entries for overdue deadlines and scheduled items. See 2576 additional entries for overdue deadlines and scheduled items. See
2402 also the documentation of the @command{org-diary} function. 2577 also the documentation of the @command{org-diary} function.
2403 2578
2404 @node Exporting, Miscellaneous, Timeline and Agenda, Top 2579 @node Exporting, Miscellaneous, Agenda Views, Top
2405 @chapter Exporting 2580 @chapter Exporting
2406 @cindex exporting 2581 @cindex exporting
2407 2582
2408 For printing and sharing of notes, Org-mode documents can be exported 2583 For printing and sharing of notes, Org-mode documents can be exported
2409 as ASCII or HTML files. To incorporate entries with associated times 2584 as ASCII or HTML files. To incorporate entries with associated times
2631 Toggle the COMMENT keyword at the beginning of an entry. 2806 Toggle the COMMENT keyword at the beginning of an entry.
2632 @end table 2807 @end table
2633 2808
2634 @node iCalendar export, , HTML export, Exporting 2809 @node iCalendar export, , HTML export, Exporting
2635 @section iCalendar export 2810 @section iCalendar export
2811 @cindex iCalendar export
2636 2812
2637 Some people like to use Org-mode for keeping track of projects, but 2813 Some people like to use Org-mode for keeping track of projects, but
2638 still prefer a standard calendar application for anniversaries and 2814 still prefer a standard calendar application for anniversaries and
2639 appointments. In this case it can be useful to have deadlines and 2815 appointments. In this case it can be useful to have deadlines and
2640 other time-stamped items in Org-mode files show up in the calendar 2816 other time-stamped items in Org-mode files show up in the calendar
2667 overwrite the corresponding file 2843 overwrite the corresponding file
2668 @file{~/Library/Calendars/OrgMode.ics}. You may even use AppleScript 2844 @file{~/Library/Calendars/OrgMode.ics}. You may even use AppleScript
2669 to make iCal re-read the calendar files each time a new version of 2845 to make iCal re-read the calendar files each time a new version of
2670 @file{OrgMode.ics} is produced. Here is the setup needed for this: 2846 @file{OrgMode.ics} is produced. Here is the setup needed for this:
2671 2847
2848 @cindex applescript, for calendar update
2672 @lisp 2849 @lisp
2673 (setq org-combined-agenda-icalendar-file 2850 (setq org-combined-agenda-icalendar-file
2674 "~/Library/Calendars/OrgMode.ics") 2851 "~/Library/Calendars/OrgMode.ics")
2675 (add-hook 'org-after-save-iCalendar-file-hook 2852 (add-hook 'org-after-save-iCalendar-file-hook
2676 (lambda () 2853 (lambda ()
2696 @cindex completion, of @TeX{} symbols 2873 @cindex completion, of @TeX{} symbols
2697 @cindex completion, of TODO keywords 2874 @cindex completion, of TODO keywords
2698 @cindex completion, of dictionary words 2875 @cindex completion, of dictionary words
2699 @cindex completion, of option keywords 2876 @cindex completion, of option keywords
2700 @cindex completion, of CamelCase links 2877 @cindex completion, of CamelCase links
2878 @cindex completion, of tags
2879 @cindex @TeX{} symbol completion
2880 @cindex TODO keywords completion
2881 @cindex dictionary word completion
2882 @cindex option keyword completion
2883 @cindex CamelCase link completion
2884 @cindex tag completion
2701 2885
2702 Org-mode supports in-buffer completion. This type of completion does 2886 Org-mode supports in-buffer completion. This type of completion does
2703 not make use of the minibuffer. You simply type a few letters into 2887 not make use of the minibuffer. You simply type a few letters into
2704 the buffer and use the key to complete text right there. 2888 the buffer and use the key to complete text right there.
2705 2889
2714 After @samp{\}, complete @TeX{} symbols supported by the exporter. 2898 After @samp{\}, complete @TeX{} symbols supported by the exporter.
2715 @item 2899 @item
2716 After @samp{*}, complete CamelCase versions of all headlines in the 2900 After @samp{*}, complete CamelCase versions of all headlines in the
2717 buffer. 2901 buffer.
2718 @item 2902 @item
2903 After @samp{:}, complete tags used elswhere in the buffer.
2904 @item
2719 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or 2905 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
2720 @samp{OPTIONS} which set file-specific options for Org-mode. When the 2906 @samp{OPTIONS} which set file-specific options for Org-mode. When the
2721 option keyword is already complete, pressing @kbd{M-@key{TAB}} again 2907 option keyword is already complete, pressing @kbd{M-@key{TAB}} again
2722 will insert example settings for this keyword. 2908 will insert example settings for this keyword.
2723 @item 2909 @item
2737 variables, use @kbd{M-x org-customize}. Or select @code{Browse Org 2923 variables, use @kbd{M-x org-customize}. Or select @code{Browse Org
2738 Group} from the @code{Org->Customization} menu. 2924 Group} from the @code{Org->Customization} menu.
2739 2925
2740 @node FAQ, Interaction, Customization, Miscellaneous 2926 @node FAQ, Interaction, Customization, Miscellaneous
2741 @section Frequently asked questions 2927 @section Frequently asked questions
2928 @cindex FAQ
2742 2929
2743 @enumerate 2930 @enumerate
2744 @item @b{Org-mode seems to be a useful default mode for the various 2931 @item @b{Org-mode seems to be a useful default mode for the various
2745 @file{README} files I have scattered through my directories. How do I 2932 @file{README} files I have scattered through my directories. How do I
2746 turn it on for all @file{README} files?} 2933 turn it on for all @file{README} files?}
2886 on the diary support of planner. 3073 on the diary support of planner.
2887 @end table 3074 @end table
2888 3075
2889 @node TTY keys, Bugs, Interaction, Miscellaneous 3076 @node TTY keys, Bugs, Interaction, Miscellaneous
2890 @section Using org-mode on a tty 3077 @section Using org-mode on a tty
3078 @cindex tty keybindings
2891 3079
2892 Org-mode uses a number of keys that are not accessible on a tty. This 3080 Org-mode uses a number of keys that are not accessible on a tty. This
2893 applies to most special keys like cursor keys, @key{TAB} and 3081 applies to most special keys like cursor keys, @key{TAB} and
2894 @key{RET}, when these are combined with modifier keys like @key{Meta} 3082 @key{RET}, when these are combined with modifier keys like @key{Meta}
2895 and/or @key{Shift}. Org-mode uses these bindings because it needs to 3083 and/or @key{Shift}. Org-mode uses these bindings because it needs to
2973 @page 3161 @page
2974 3162
2975 @node Acknowledgments, , Bugs, Miscellaneous 3163 @node Acknowledgments, , Bugs, Miscellaneous
2976 @section Acknowledgments 3164 @section Acknowledgments
2977 @cindex acknowledgments 3165 @cindex acknowledgments
3166 @cindex thanks
2978 3167
2979 Org-mode was written by Carsten Dominik, who still maintains it at the 3168 Org-mode was written by Carsten Dominik, who still maintains it at the
2980 Org-mode homepage @uref{http://www.astro.uva.nl/~dominik/Tools/org/}. 3169 Org-mode homepage @uref{http://www.astro.uva.nl/~dominik/Tools/org/}.
2981 The following people have helped the development along with ideas, 3170 The following people have helped the development along with ideas,
2982 suggestions and patches. 3171 suggestions and patches.
3027 conflict with other packages. 3216 conflict with other packages.
3028 @item 3217 @item
3029 Roland Winkler pointed out that additional keybindings are needed to 3218 Roland Winkler pointed out that additional keybindings are needed to
3030 use Org-mode on a tty. 3219 use Org-mode on a tty.
3031 @item 3220 @item
3032 Tim O'Callaghan suggested in-file links, and search options for 3221 Tim O'Callaghan suggested in-file links, search options for
3033 general file links. 3222 general file links, and TAGS.
3034 @c @item 3223 @c @item
3035 @c Nic Ferrier and Christian Egli implemented XML export. 3224 @c Nic Ferrier and Christian Egli implemented XML export.
3036 @end itemize 3225 @end itemize
3037 3226
3038 @node Index, Key Index, Miscellaneous, Top 3227 @node Index, Key Index, Miscellaneous, Top