Mercurial > emacs
comparison man/org.texi @ 68033:59e35f6b8ff4
(Agenda Views): Chapter reorganized.
author | Carsten Dominik <dominik@science.uva.nl> |
---|---|
date | Thu, 05 Jan 2006 08:06:36 +0000 |
parents | fb1d73360521 |
children | b76904a36e7e |
comparison
equal
deleted
inserted
replaced
68032:f3a9c72833ec | 68033:59e35f6b8ff4 |
---|---|
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 4.01 | 7 @set VERSION 4.02 |
8 @set DATE December 2005 | 8 @set DATE January 2006 |
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 |
33 @end macro | 34 @end macro |
34 | 35 |
35 @copying | 36 @copying |
36 This manual is for Org-mode (version @value{VERSION}). | 37 This manual is for Org-mode (version @value{VERSION}). |
37 | 38 |
38 Copyright @copyright{} 2004, 2005 Free Software Foundation | 39 Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation |
39 | 40 |
40 @quotation | 41 @quotation |
41 Permission is granted to copy, distribute and/or modify this document | 42 Permission is granted to copy, distribute and/or modify this document |
42 under the terms of the GNU Free Documentation License, Version 1.1 or | 43 under the terms of the GNU Free Documentation License, Version 1.1 or |
43 any later version published by the Free Software Foundation; with no | 44 any later version published by the Free Software Foundation; with no |
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 |
108 * Tags:: | 109 * Tags:: Tagging headlines and matching sets of tags |
109 * Plain Lists:: Editing hand-formatted lists | 110 * Plain Lists:: Editing hand-formatted lists |
110 | 111 |
111 Tables | 112 Tables |
112 | 113 |
113 * Built-in table editor:: Simple tables | 114 * Built-in table editor:: Simple tables |
150 * Time stamps:: Assigning a time to a tree entry | 151 * Time stamps:: Assigning a time to a tree entry |
151 * Creating timestamps:: Commands which insert timestamps | 152 * Creating timestamps:: Commands which insert timestamps |
152 | 153 |
153 Agenda Views | 154 Agenda Views |
154 | 155 |
155 * Agenda:: Your weekly planner | 156 * Agenda files:: Files being searched for agenda information |
156 * Global TODO list:: Overview over all things to do | 157 * Agenda dispatcher:: Keyboard access to agenda views |
157 * Matching headline tags:: Select information based on tags | 158 * Weekly/Daily Agenda:: The calendar page with current tasks |
159 * Global TODO list:: All infinished action items | |
160 * Matching headline tags:: Structured information with fine-tuned search | |
158 * Timeline:: Time-sorted view for single file | 161 * Timeline:: Time-sorted view for single file |
159 * Agenda commands:: Remote editing of org trees | 162 * Agenda commands:: Remote editing of org trees |
163 | |
164 Weekly/Daily Agenda | |
165 | |
166 * Categories:: Not all tasks are equal | |
167 * Time-of-day specifications:: How the agenda knows the time | |
160 * Calendar/Diary integration:: Integrating Anniversaries and more | 168 * Calendar/Diary integration:: Integrating Anniversaries and more |
161 | 169 * Sorting of agenda items:: The order of things |
162 Calendar/Diary integration | |
163 | |
164 * Diary to agenda:: Agenda incorporates the diary | |
165 * Agenda to diary:: Diary incorporates the agenda | |
166 | 170 |
167 Exporting | 171 Exporting |
168 | 172 |
169 * ASCII export:: Export as a structured ASCII file | 173 * ASCII export:: Export as a structured ASCII file |
170 * HTML export:: Export as an HTML file | 174 * HTML export:: Export as an HTML file |
331 * Visibility cycling:: Show and hide, much simplified | 335 * Visibility cycling:: Show and hide, much simplified |
332 * Motion:: Jumping to other headlines | 336 * Motion:: Jumping to other headlines |
333 * Structure editing:: Changing sequence and level of headlines | 337 * Structure editing:: Changing sequence and level of headlines |
334 * Archiving:: Move done task trees to a different place | 338 * Archiving:: Move done task trees to a different place |
335 * Sparse trees:: Matches embedded in context | 339 * Sparse trees:: Matches embedded in context |
336 * Tags:: | 340 * Tags:: Tagging headlines and matching sets of tags |
337 * Plain Lists:: Editing hand-formatted lists | 341 * Plain Lists:: Editing hand-formatted lists |
338 @end menu | 342 @end menu |
339 | 343 |
340 @node Outlines, Headlines, Document Structure, Document Structure | 344 @node Outlines, Headlines, Document Structure, Document Structure |
341 @section Outlines | 345 @section Outlines |
561 | 565 |
562 An important feature of Org-mode is the ability to construct | 566 An important feature of Org-mode is the ability to construct |
563 @emph{sparse trees} for selected information in an outline tree. A | 567 @emph{sparse trees} for selected information in an outline tree. A |
564 sparse tree means that the entire document is folded as much as | 568 sparse tree means that the entire document is folded as much as |
565 possible, but the selected information is made visible along with the | 569 possible, but the selected information is made visible along with the |
566 headline structure above it@footnote{See also the variable | 570 headline structure above it@footnote{See also the variables |
571 @code{org-show-hierarchy-above} and | |
567 @code{org-show-following-heading}.}. Just try it out and you will see | 572 @code{org-show-following-heading}.}. Just try it out and you will see |
568 immediately how it works. | 573 immediately how it works. |
569 | 574 |
570 Org-mode contains several commands creating such trees. The most | 575 Org-mode contains several commands creating such trees. The most |
571 basic one is @command{org-occur}: | 576 basic one is @command{org-occur}: |
579 In order to provide minimal context, also the full hierarchy of | 584 In order to provide minimal context, also the full hierarchy of |
580 headlines above the match is shown, as well as the headline following | 585 headlines above the match is shown, as well as the headline following |
581 the match. Each match is also highlighted, the highlights disappear | 586 the match. Each match is also highlighted, the highlights disappear |
582 when the buffer is changed with an editing command. | 587 when the buffer is changed with an editing command. |
583 @end table | 588 @end table |
584 | 589 @noindent |
585 Other commands are using this feature as well. For example @kbd{C-c | 590 For frequently used sparse trees of specific search strings, you can |
591 use the variable @code{org-agenda-custom-commands} to define fast | |
592 keyboard access to specific sparse trees. These commands will then be | |
593 accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). | |
594 For example | |
595 @lisp | |
596 (setq org-agenda-custom-commands | |
597 '(("f" occur-tree "FIXME"))) | |
598 @end lisp | |
599 @noindent will define the key @kbd{C-c a f} as a shortcut for creating | |
600 a sparse tree matching the string @samp{FIXME}. | |
601 | |
602 Other commands are using sparse trees as well. For example @kbd{C-c | |
586 C-v} creates a sparse TODO tree (@pxref{TODO basics}). | 603 C-v} creates a sparse TODO tree (@pxref{TODO basics}). |
587 | 604 |
588 @kindex C-c C-x v | 605 @kindex C-c C-x v |
589 @cindex printing sparse trees | 606 @cindex printing sparse trees |
590 @cindex visible text, printing | 607 @cindex visible text, printing |
653 Create a sparse tree with all headlines matching a tags search. | 670 Create a sparse tree with all headlines matching a tags search. |
654 @kindex C-c a m | 671 @kindex C-c a m |
655 @item C-c a m | 672 @item C-c a m |
656 Create a global list of tag matches from all agenda files. | 673 Create a global list of tag matches from all agenda files. |
657 @xref{Matching headline tags}. | 674 @xref{Matching headline tags}. |
675 @kindex C-c a M | |
676 @item C-c a M | |
677 Create a global list of tag matches from all agenda files, but check | |
678 only TODO items and force checking subitems (see variable | |
679 @code{org-tags-match-list-sublevels}). | |
658 @end table | 680 @end table |
659 | 681 |
660 A tags search string can use Boolean operators @samp{&} for AND and | 682 A tags search string can use Boolean operators @samp{&} for AND and |
661 @samp{|} for OR. @samp{&} binds more strongly than | 683 @samp{|} for OR. @samp{&} binds more strongly than |
662 @samp{|}. Parenthesis are currently no implemented. A tag may also be | 684 @samp{|}. Parenthesis are currently no implemented. A tag may also be |
1648 numerical prefix N, show the tree for the Nth keyword in the variable | 1670 numerical prefix N, show the tree for the Nth keyword in the variable |
1649 @code{org-todo-keywords}. | 1671 @code{org-todo-keywords}. |
1650 @kindex C-c a t | 1672 @kindex C-c a t |
1651 @item C-c a t | 1673 @item C-c a t |
1652 Show the global TODO list. This collects the TODO items from all | 1674 Show the global TODO list. This collects the TODO items from all |
1653 agenda files (@pxref{Agenda}) into a single buffer. The buffer is in | 1675 agenda files (@pxref{Agenda Views}) into a single buffer. The buffer is in |
1654 @code{agenda-mode}, so there are commands to examine and manipulate | 1676 @code{agenda-mode}, so there are commands to examine and manipulate |
1655 the TODO entries directly from that buffer (@pxref{Agenda commands}). | 1677 the TODO entries directly from that buffer (@pxref{Agenda commands}). |
1656 @xref{Global TODO list}, for more information. | 1678 @xref{Global TODO list}, for more information. |
1657 @item @code{org-agenda-include-all-todo} | 1679 @item @code{org-agenda-include-all-todo} |
1658 If you would like to have all your TODO items listed as part of your | 1680 If you would like to have all your TODO items listed as part of your |
1672 Then each time you turn a TODO entry into DONE using either @kbd{C-c | 1694 Then each time you turn a TODO entry into DONE using either @kbd{C-c |
1673 C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line | 1695 C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line |
1674 @samp{CLOSED: [timestamp]} will be inserted just after the headline. | 1696 @samp{CLOSED: [timestamp]} will be inserted just after the headline. |
1675 If you turn the entry back into a TODO item again through further | 1697 If you turn the entry back into a TODO item again through further |
1676 state cycling, that line will be removed again. In the timeline | 1698 state cycling, that line will be removed again. In the timeline |
1677 (@pxref{Timeline}) and in the agenda (@pxref{Agenda}), you can then | 1699 (@pxref{Timeline}) and in the agenda (@pxref{Weekly/Daily Agenda}), |
1678 use the @kbd{L} key to display the TODO items closed on each day, | 1700 you can then use the @kbd{L} key to display the TODO items closed on |
1679 giving you an overview of what has been done on a day. | 1701 each day, giving you an overview of what has been done on a day. |
1680 | 1702 |
1681 @node TODO extensions, Priorities, Progress Logging, TODO items | 1703 @node TODO extensions, Priorities, Progress Logging, TODO items |
1682 @section Extended use of TODO keywords | 1704 @section Extended use of TODO keywords |
1683 @cindex extended TODO keywords | 1705 @cindex extended TODO keywords |
1684 | 1706 |
1812 | 1834 |
1813 @noindent | 1835 @noindent |
1814 With its standard setup, Org-mode supports priorities @samp{A}, | 1836 With its standard setup, Org-mode supports priorities @samp{A}, |
1815 @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry | 1837 @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry |
1816 without a cookie is treated as priority @samp{B}. Priorities make a | 1838 without a cookie is treated as priority @samp{B}. Priorities make a |
1817 difference only in the agenda (@pxref{Agenda}). | 1839 difference only in the agenda (@pxref{Weekly/Daily Agenda}). |
1818 | 1840 |
1819 @table @kbd | 1841 @table @kbd |
1820 @kindex @kbd{C-c ,} | 1842 @kindex @kbd{C-c ,} |
1821 @item @kbd{C-c ,} | 1843 @item @kbd{C-c ,} |
1822 Set the priority of the current item. The command prompts for a | 1844 Set the priority of the current item. The command prompts for a |
1857 | 1879 |
1858 A time stamp is a specification of a date (possibly with time) in a | 1880 A time stamp is a specification of a date (possibly with time) in a |
1859 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 | 1881 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 |
1860 Tue 09:39>}. A time stamp can appear anywhere in the headline or body | 1882 Tue 09:39>}. A time stamp can appear anywhere in the headline or body |
1861 of an org-tree entry. Its presence allows to show entries on specific | 1883 of an org-tree entry. Its presence allows to show entries on specific |
1862 dates in the agenda (@pxref{Agenda}). We distinguish: | 1884 dates in the agenda (@pxref{Weekly/Daily Agenda}). We distinguish: |
1863 | 1885 |
1864 @table @var | 1886 @table @var |
1865 @cindex timestamp | 1887 @cindex timestamp |
1866 @item TIMESTAMP | 1888 @item TIMESTAMP |
1867 A simple time stamp just assigns a date/time to an item. In the | 1889 A simple time stamp just assigns a date/time to an item. In the |
1942 instead. | 1964 instead. |
1943 | 1965 |
1944 @kindex C-c C-o | 1966 @kindex C-c C-o |
1945 @item C-c C-o | 1967 @item C-c C-o |
1946 Access the agenda for the date given by the time stamp at point | 1968 Access the agenda for the date given by the time stamp at point |
1947 (@pxref{Agenda}). | 1969 (@pxref{Weekly/Daily Agenda}). |
1948 | 1970 |
1949 @kindex C-c C-d | 1971 @kindex C-c C-d |
1950 @item C-c C-d | 1972 @item C-c C-d |
1951 Insert @samp{DEADLINE} keyword along with a stamp. | 1973 Insert @samp{DEADLINE} keyword along with a stamp. |
1952 @kindex C-c C-w | 1974 @kindex C-c C-w |
2033 | 2055 |
2034 @node Agenda Views, Exporting, Timestamps, Top | 2056 @node Agenda Views, Exporting, Timestamps, Top |
2035 @chapter Agenda Views | 2057 @chapter Agenda Views |
2036 @cindex agenda views | 2058 @cindex agenda views |
2037 | 2059 |
2038 Org-mode can select items based of various criteria, and display them | 2060 Due to the way Org-mode works, TODO items and time-stamped items can |
2039 in a separate buffer. The information to be shown is collected from | 2061 be scattered throughout a file or even a number of files. To get an |
2040 all @emph{agenda files}, the files listed in the variable | 2062 overview over open action items, or over events that are important for |
2041 @code{org-agenda-files}. Thus even if you only work with a single | 2063 a particular date, this information must be collected, sorted and |
2042 Org-mode file, this file must be put into that list@footnote{When | 2064 displayed in an organized way. |
2043 using the dispatcher pressing @kbd{1} before selecting a command will | 2065 |
2044 actually limit the command to the current file, and ignore | 2066 Org-mode can select items based on various criteria, and display them |
2045 @code{org-agenda-files} until the next dispatcher command.}. You can | 2067 in a separate buffer. Three different views are provided: |
2046 customize @code{org-agenda-files}, but the easiest way to maintain it | 2068 @itemize @bullet |
2047 is through the following commands | 2069 @item |
2070 an @emph{agenda} that is like a calendar and shows information | |
2071 for specific dates | |
2072 @item | |
2073 a @emph{TODO list} that covers all unfinished | |
2074 action items, and | |
2075 @item | |
2076 a @emph{tags view} that shows information based on | |
2077 the tags associated with headlines in the outline tree. | |
2078 @end itemize | |
2079 @noindent | |
2080 The extracted information is displayed in a special @emph{agenda | |
2081 buffer}. This buffer is read-only, but provides commands to visit the | |
2082 corresponding locations in the original Org-mode files, and even to | |
2083 edit these files remotely. | |
2084 | |
2085 @menu | |
2086 * Agenda files:: Files being searched for agenda information | |
2087 * Agenda dispatcher:: Keyboard access to agenda views | |
2088 * Weekly/Daily Agenda:: The calendar page with current tasks | |
2089 * Global TODO list:: All unfinished action items | |
2090 * Matching headline tags:: Structured information with fine-tuned search | |
2091 * Timeline:: Time-sorted view for single file | |
2092 * Agenda commands:: Remote editing of org trees | |
2093 @end menu | |
2094 | |
2095 @node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views | |
2096 @section Agenda files | |
2097 | |
2098 The information to be shown is collected from all @emph{agenda files}, | |
2099 the files listed in the variable @code{org-agenda-files}. Thus even | |
2100 if you only work with a single Org-mode file, this file should be put | |
2101 into that list@footnote{When using the dispatcher pressing @kbd{1} | |
2102 before selecting a command will actually limit the command to the | |
2103 current file, and ignore @code{org-agenda-files} until the next | |
2104 dispatcher command.}. You can customize @code{org-agenda-files}, but | |
2105 the easiest way to maintain it is through the following commands | |
2048 | 2106 |
2049 @cindex files, adding to agenda list | 2107 @cindex files, adding to agenda list |
2050 @table @kbd | 2108 @table @kbd |
2051 @kindex C-c [ | 2109 @kindex C-c [ |
2052 @item C-c [ | 2110 @item C-c [ |
2059 @kindex C-, | 2117 @kindex C-, |
2060 @item C-, | 2118 @item C-, |
2061 Cycle through agenda file list. | 2119 Cycle through agenda file list. |
2062 @end table | 2120 @end table |
2063 @noindent | 2121 @noindent |
2064 The Org menu always contains the current list of files and can be used | 2122 The Org menu contains the current list of files and can be used |
2065 to quickly visit any of them. | 2123 to visit any of them. |
2066 | 2124 |
2067 Org-mode provides three different views on the information in these | 2125 @node Agenda dispatcher, Weekly/Daily Agenda, Agenda files, Agenda Views |
2068 files: | 2126 @section The agenda dispatcher |
2069 @itemize @bullet | 2127 @cindex agenda dispatcher |
2070 @item | 2128 @cindex dispatching agenda commands |
2071 an @emph{agenda} that is like a calendar and shows information | |
2072 for specific dates | |
2073 @item | |
2074 a @emph{TODO list} that covers all unfinished | |
2075 action items, and | |
2076 @item | |
2077 a @emph{tags view} that show information based on | |
2078 the tags associated with headlines in the outline tree. | |
2079 @end itemize | |
2080 @noindent | |
2081 The extracted information is displayed in a special @emph{agenda | |
2082 buffer}. This buffer is read-only, but provides commands to visit the | |
2083 corresponding locations in the original Org-mode files, and even to | |
2084 edit these files remotely. | |
2085 | |
2086 @cindex custom agenda commands | 2129 @cindex custom agenda commands |
2087 @cindex agenda commands, custom | 2130 @cindex agenda commands, custom |
2088 The views are created through a dispatcher that should be bound to a | 2131 The views are created through a dispatcher that should be bound to a |
2089 global key, for example @kbd{C-c a} (@pxref{Installation and | 2132 global key, for example @kbd{C-c a} (@pxref{Installation and |
2090 Activation}). In the following we will assume that @kbd{C-c a} is | 2133 Activation}). In the following we will assume that @kbd{C-c a} is |
2091 indeed how the dispatcher is accessed and list keyboard access to | 2134 indeed how the dispatcher is accessed and list keyboard access to |
2092 commands accordingly. The dispatcher offers a number of default | 2135 commands accordingly. After pressing @kbd{C-c a}, an additional |
2093 commands, for example to create a TODO list or a the calendar-like | 2136 letter is required to execute a command. The dispatcher offers the |
2094 agenda. You can also define a number of custom searches for tags and | 2137 following default commands: |
2095 specific TODO keywords through the variable | 2138 @table @kbd |
2096 @code{org-agenda-custom-commands}. | 2139 @item a |
2140 Create the calendar-like agenda (@pxref{Weekly/Daily Agenda}). | |
2141 @item t / T | |
2142 Create a list of all TODO items (@pxref{Global TODO list}). | |
2143 @item m / M | |
2144 Create a list of headline matching a TAGS expression (@pxref{Matching | |
2145 headline tags}). | |
2146 @end table | |
2147 | |
2148 You can also define custom commands that will be accessible through | |
2149 the dispatcher, just like the default commands. Custom commands are | |
2150 global searches for tags and specific TODO keywords, or a variety of | |
2151 sparse tree creating commands (@pxref{Sparse trees}). As sparse trees | |
2152 are only defined for a single org-mode file, these latter commands act | |
2153 on the current buffer instead of the list of agenda files. | |
2154 | |
2097 @kindex C-c a C | 2155 @kindex C-c a C |
2098 These commands will be offered by the dispatcher just like the default | 2156 Custom commands are configured in the variable |
2099 commands. If you press @kbd{C-c a C}, you will get a customization | 2157 @code{org-agenda-custom-commands}. You can customize this variable, |
2100 buffer for this variable. | 2158 for example by pressing @kbd{C-c a C}. You can also directly set it |
2101 | 2159 with Emacs Lisp in @file{.emacs}. For example: |
2102 @menu | 2160 @lisp |
2103 * Agenda:: Your weekly planner | 2161 (setq org-agenda-custom-commands |
2104 * Global TODO list:: Overview over all things to do | 2162 '(("w" todo "WAITING") |
2105 * Matching headline tags:: Select information based on tags | 2163 ("u" tags "+BOSS-URGENT") |
2106 * Timeline:: Time-sorted view for single file | 2164 ("U" tags-tree "+BOSS-URGENT") |
2107 * Agenda commands:: Remote editing of org trees | 2165 ("f" occur-tree "\\<FIXME\\>"))) |
2108 * Calendar/Diary integration:: Integrating Anniversaries and more | 2166 @end lisp |
2109 @end menu | 2167 @noindent will define @kbd{C-c a w} as a global search for |
2110 | 2168 TODO entries with @samp{WAITING} as todo keyword, @kbd{C-c a u} as a |
2111 @node Agenda, Global TODO list, Agenda Views, Agenda Views | 2169 global tags search for headlines marked @samp{:BOSS:} but not |
2112 @section Agenda | 2170 @samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the |
2171 current buffer and display the result as a sparse tree, and @kbd{C-c a | |
2172 f} to create a sparse tree with all entries containing the word | |
2173 @samp{FIXME}. For more information, look at the documentation string | |
2174 of the variable @code{org-agenda-custom-commands}. | |
2175 | |
2176 @node Weekly/Daily Agenda, Global TODO list, Agenda dispatcher, Agenda Views | |
2177 @section The weekly/daily agenda | |
2113 @cindex agenda | 2178 @cindex agenda |
2114 | 2179 |
2115 The purpose of the @emph{agenda} is to act like a week/day page of a | 2180 The purpose of the weekly/daily @emph{agenda} is to act like a page of |
2116 paper agenda, showing you all the tasks for the current week or day. | 2181 a paper agenda, showing all the tasks for the current week or day. |
2117 | 2182 |
2118 @table @kbd | 2183 @table @kbd |
2119 @cindex org-agenda, command | 2184 @cindex org-agenda, command |
2120 @kindex C-c a a | 2185 @kindex C-c a a |
2121 @item C-c a a | 2186 @item C-c a a |
2122 Compile an agenda for the current week from a list of org files. The | 2187 Compile an agenda for the current week from a list of org files. The |
2123 agenda shows the entries for each day. With a @kbd{C-u} prefix (or | 2188 agenda shows the entries for each day. With a @kbd{C-u} prefix (or |
2124 when the variable @code{org-agenda-include-all-todo} is @code{t}), all | 2189 when the variable @code{org-agenda-include-all-todo} is @code{t}), all |
2125 unfinished TODO items (also those without a date) are also listed at | 2190 unfinished TODO items (also those without a date) are also listed at |
2126 the beginning of the buffer, before the first date.@* | 2191 the beginning of the buffer, before the first date.@* |
2127 The key binding @kbd{C-c a a} is only a suggestion - see | |
2128 @ref{Installation and Activation}. | |
2129 @end table | 2192 @end table |
2130 | 2193 |
2131 Remote editing from the agenda buffer means for example that you can | 2194 Remote editing from the agenda buffer means for example that you can |
2132 change the dates of deadlines and appointments from the agenda buffer. | 2195 change the dates of deadlines and appointments from the agenda buffer. |
2133 The commands available in the Agenda buffer are listed in @ref{Agenda | 2196 The commands available in the Agenda buffer are listed in @ref{Agenda |
2134 commands}. | 2197 commands}. |
2135 | 2198 |
2136 | 2199 @menu |
2200 * Categories:: Not all tasks are equal | |
2201 * Time-of-day specifications:: How the agenda knows the time | |
2202 * Calendar/Diary integration:: Integrating Anniversaries and more | |
2203 * Sorting of agenda items:: The order of things | |
2204 @end menu | |
2205 | |
2206 @node Categories, Time-of-day specifications, Weekly/Daily Agenda, Weekly/Daily Agenda | |
2137 @subsection Categories | 2207 @subsection Categories |
2138 | 2208 |
2139 @cindex category | 2209 @cindex category |
2140 In the agenda buffer, each entry is preceded by a @emph{category}, | 2210 In the agenda buffer, each entry is preceded by a @emph{category}, |
2141 which is derived from the file name. The category can also be set | 2211 which is derived from the file name. The category can also be set |
2145 @end example | 2215 @end example |
2146 If there are several such lines in a file, each specifies the category | 2216 If there are several such lines in a file, each specifies the category |
2147 for the text below it. The display in the agenda buffer looks best if | 2217 for the text below it. The display in the agenda buffer looks best if |
2148 the category is not longer than 10 characters. | 2218 the category is not longer than 10 characters. |
2149 | 2219 |
2220 @node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda | |
2150 @subsection Time-of-Day Specifications | 2221 @subsection Time-of-Day Specifications |
2151 | 2222 |
2152 Org-mode checks each agenda item for a time-of-day specification. The | 2223 Org-mode checks each agenda item for a time-of-day specification. The |
2153 time can be part of the time stamp that triggered inclusion into the | 2224 time can be part of the time stamp that triggered inclusion into the |
2154 agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time | 2225 agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time |
2192 The time grid can be turned on and off with the variable | 2263 The time grid can be turned on and off with the variable |
2193 @code{org-agenda-use-time-grid}, and can be configured with | 2264 @code{org-agenda-use-time-grid}, and can be configured with |
2194 @code{org-agenda-time-grid}. | 2265 @code{org-agenda-time-grid}. |
2195 | 2266 |
2196 | 2267 |
2268 @node Calendar/Diary integration, Sorting of agenda items, Time-of-day specifications, Weekly/Daily Agenda | |
2269 @subsection Calendar/Diary integration | |
2270 @cindex calendar integration | |
2271 @cindex diary integration | |
2272 | |
2273 Emacs contains the calendar and diary by Edward M. Reingold. The | |
2274 calendar displays a three-month calendar with holidays from different | |
2275 countries and cultures. The diary allows to keep track of | |
2276 anniversaries, lunar phases, sunrise/set, recurrent appointments | |
2277 (weekly, monthly) and more. In this way, it is quite complementary to | |
2278 Org-mode. It can be very useful to combine output from Org-mode with | |
2279 the diary. | |
2280 | |
2281 In order to include entries from the Emacs diary into Org-mode's | |
2282 agenda, you only need to customize the variable | |
2283 | |
2284 @lisp | |
2285 (setq org-agenda-include-diary t) | |
2286 @end lisp | |
2287 @noindent | |
2288 | |
2289 @noindent After that, everything will happen automatically. All diary | |
2290 entries including holidays, anniversaries etc will be included in the | |
2291 agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | |
2292 @key{RET} can be used from the agenda buffer to jump to the diary | |
2293 file, in order to edit existing diary entries. The @kbd{i} command to | |
2294 insert new entries for the current date works in the agenda buffer, as | |
2295 well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display | |
2296 Sunrise/Sunset times, show lunar phases and to convert to other | |
2297 calendars, respectively. @kbd{c} can be used to switch back and forth | |
2298 between calendar and agenda. | |
2299 | |
2300 @node Sorting of agenda items, , Calendar/Diary integration, Weekly/Daily Agenda | |
2197 @subsection Sorting of agenda items | 2301 @subsection Sorting of agenda items |
2198 @cindex sorting, of agenda items | 2302 @cindex sorting, of agenda items |
2199 @cindex priorities, of agenda items | 2303 @cindex priorities, of agenda items |
2200 The entries for each day are sorted. The default order is to first | 2304 The entries for each day are sorted. The default order is to first |
2201 collect all items containing an explicit time-of-day specification. | 2305 collect all items containing an explicit time-of-day specification. |
2209 plus additional increments for overdue scheduled or deadline items. | 2313 plus additional increments for overdue scheduled or deadline items. |
2210 | 2314 |
2211 Sorting can be customized using the variable | 2315 Sorting can be customized using the variable |
2212 @code{org-agenda-sorting-strategy}. | 2316 @code{org-agenda-sorting-strategy}. |
2213 | 2317 |
2214 @node Global TODO list, Matching headline tags, Agenda, Agenda Views | 2318 |
2319 @node Global TODO list, Matching headline tags, Weekly/Daily Agenda, Agenda Views | |
2215 @section The global TODO list | 2320 @section The global TODO list |
2216 @cindex global TODO list | 2321 @cindex global TODO list |
2217 @cindex TODO list, global | 2322 @cindex TODO list, global |
2218 | 2323 |
2219 The global TODO list contains all unfinished TODO items, formatted and | 2324 The global TODO list contains all unfinished TODO items, formatted and |
2221 | 2326 |
2222 @table @kbd | 2327 @table @kbd |
2223 @kindex C-c a t | 2328 @kindex C-c a t |
2224 @item C-c a t | 2329 @item C-c a t |
2225 Show the global TODO list. This collects the TODO items from all | 2330 Show the global TODO list. This collects the TODO items from all |
2226 agenda files (@pxref{Agenda}) into a single buffer. The buffer is in | 2331 agenda files (@pxref{Agenda Views}) into a single buffer. The buffer is in |
2227 @code{agenda-mode}, so there are commands to examine and manipulate | 2332 @code{agenda-mode}, so there are commands to examine and manipulate |
2228 the TODO entries directly from that buffer (@pxref{Agenda commands}). | 2333 the TODO entries directly from that buffer (@pxref{Agenda commands}). |
2229 @xref{Global TODO list}, for more information. | 2334 @xref{Global TODO list}, for more information. |
2230 @kindex C-c a T | 2335 @kindex C-c a T |
2231 @item C-c a T | 2336 @item C-c a T |
2232 Like the above, but allow to select a specific TODO keyword. You can | 2337 Like the above, but allow to select a specific TODO keyword. You can |
2233 also do this by specifying a prefix argument. With a @kbd{C-u} prefix | 2338 also do this by specifying a prefix argument to @kbd{C-c a t}. With a |
2234 you are prompted for a keyword. With a numeric prefix, the Nth | 2339 @kbd{C-u} prefix you are prompted for a keyword. With a numeric |
2235 keyword in @code{org-todo-keywords} is selected. | 2340 prefix, the Nth keyword in @code{org-todo-keywords} is selected. |
2236 @kindex r | 2341 @kindex r |
2237 The @kbd{r} key in the agenda buffer regenerates it, and you can give | 2342 The @kbd{r} key in the agenda buffer regenerates it, and you can give |
2238 a prefix argument to this command to change the selected TODO keyword, | 2343 a prefix argument to this command to change the selected TODO keyword, |
2239 for example @kbd{3 r}. | 2344 for example @kbd{3 r}. If you often need a search for a specific |
2345 keyword, define a custom command for it (@pxref{Agenda dispatcher}). | |
2240 @end table | 2346 @end table |
2241 | 2347 |
2242 Remote editing of TODO items means that you can change the state of a | 2348 Remote editing of TODO items means that you can change the state of a |
2243 TODO entry with a single key press. The commands available in the | 2349 TODO entry with a single key press. The commands available in the |
2244 TODO list are described in @ref{Agenda commands}. | 2350 TODO list are described in @ref{Agenda commands}. |
2256 @kindex C-c a m | 2362 @kindex C-c a m |
2257 @item C-c a m | 2363 @item C-c a m |
2258 Produce a list of all headlines that match a given set of tags. The | 2364 Produce a list of all headlines that match a given set of tags. The |
2259 command prompts for a selection criterion, which is a boolean logic | 2365 command prompts for a selection criterion, which is a boolean logic |
2260 expression with tags, like @samp{+WORK+URGENT-WITHBOSS} or | 2366 expression with tags, like @samp{+WORK+URGENT-WITHBOSS} or |
2261 @samp{WORK|HOME} (@pxref{Tags}). | 2367 @samp{WORK|HOME} (@pxref{Tags}). If you often need a specific search, |
2368 define a custom command for it (@pxref{Agenda dispatcher}). | |
2262 @kindex C-c a M | 2369 @kindex C-c a M |
2263 @item C-c a M | 2370 @item C-c a M |
2264 Like @kbd{C-c a m}, but only select headlines that are also TODO | 2371 Like @kbd{C-c a m}, but only select headlines that are also TODO items |
2265 items. | 2372 and force checking subitems (see variable |
2373 @code{org-tags-match-list-sublevels}. | |
2266 @end table | 2374 @end table |
2267 | 2375 |
2268 The commands available in the tags list are described in @ref{Agenda | 2376 The commands available in the tags list are described in @ref{Agenda |
2269 commands}. | 2377 commands}. |
2270 | 2378 |
2292 @noindent | 2400 @noindent |
2293 | 2401 |
2294 The commands available in the timeline buffer are listed in | 2402 The commands available in the timeline buffer are listed in |
2295 @ref{Agenda commands}. | 2403 @ref{Agenda commands}. |
2296 | 2404 |
2297 @node Agenda commands, Calendar/Diary integration, Timeline, Agenda Views | 2405 @node Agenda commands, , Timeline, Agenda Views |
2298 @section Commands in the agenda buffer | 2406 @section Commands in the agenda buffer |
2299 @cindex commands, in agenda buffer | 2407 @cindex commands, in agenda buffer |
2300 | 2408 |
2301 Entries in the agenda buffer are linked back to the org file or diary | 2409 Entries in the agenda buffer are linked back to the org file or diary |
2302 file where they originate. You are not allowed to edit the agenda | 2410 file where they originate. You are not allowed to edit the agenda |
2304 original entry location, and to edit the org-files ``remotely'' from | 2412 original entry location, and to edit the org-files ``remotely'' from |
2305 the agenda buffer. In this way, all information is stored only once, | 2413 the agenda buffer. In this way, all information is stored only once, |
2306 and you don't risk that your agenda and note files diverge. | 2414 and you don't risk that your agenda and note files diverge. |
2307 | 2415 |
2308 Some commands can be executed with mouse clicks on agenda lines. For | 2416 Some commands can be executed with mouse clicks on agenda lines. For |
2309 the other commands, the cursor needs to be in the desired line. Most | 2417 the other commands, the cursor needs to be in the desired line. |
2310 commands are available for both timelines and the agenda. The | |
2311 exceptions are marked. | |
2312 | 2418 |
2313 @table @kbd | 2419 @table @kbd |
2314 @tsubheading{Motion} | 2420 @tsubheading{Motion} |
2315 @kindex n | 2421 @kindex n |
2316 @item n | 2422 @item n |
2382 | 2488 |
2383 @kindex @key{right} | 2489 @kindex @key{right} |
2384 @item @key{right} | 2490 @item @key{right} |
2385 Display the following @code{org-agenda-ndays} days. For example, if | 2491 Display the following @code{org-agenda-ndays} days. For example, if |
2386 the display covers a week, switch to the following week. With prefix | 2492 the display covers a week, switch to the following week. With prefix |
2387 arg, go forward that many times @code{org-agenda-ndays} days. Not | 2493 arg, go forward that many times @code{org-agenda-ndays} days. |
2388 available in timelines. | |
2389 | 2494 |
2390 @kindex @key{left} | 2495 @kindex @key{left} |
2391 @item @key{left} | 2496 @item @key{left} |
2392 Display the previous dates. Not available in timelines. | 2497 Display the previous dates. |
2393 | 2498 |
2394 @kindex . | 2499 @kindex . |
2395 @item . | 2500 @item . |
2396 Goto today. | 2501 Goto today. |
2397 | 2502 |
2489 Show holidays for three month around the cursor date. | 2594 Show holidays for three month around the cursor date. |
2490 | 2595 |
2491 @kindex C-c C-x C-c | 2596 @kindex C-c C-x C-c |
2492 @item C-c C-x C-c | 2597 @item C-c C-x C-c |
2493 Export a single iCalendar file containing entries from all agenda files. | 2598 Export a single iCalendar file containing entries from all agenda files. |
2494 Not available in timelines. | |
2495 | 2599 |
2496 @tsubheading{Quit and Exit} | 2600 @tsubheading{Quit and Exit} |
2497 @kindex q | 2601 @kindex q |
2498 @item q | 2602 @item q |
2499 Quit Agenda, remove the agenda buffer. | 2603 Quit Agenda, remove the agenda buffer. |
2504 Exit agenda, remove the agenda buffer and all buffers loaded by Emacs | 2608 Exit agenda, remove the agenda buffer and all buffers loaded by Emacs |
2505 for the compilation of the agenda. Buffers created by the user to | 2609 for the compilation of the agenda. Buffers created by the user to |
2506 visit org files will not be removed. | 2610 visit org files will not be removed. |
2507 | 2611 |
2508 @end table | 2612 @end table |
2509 | |
2510 @node Calendar/Diary integration, , Agenda commands, Agenda Views | |
2511 @section Calendar/Diary integration | |
2512 @cindex calendar integration | |
2513 @cindex diary integration | |
2514 | |
2515 Emacs contains the calendar and diary by Edward M. Reingold. The | |
2516 calendar displays a three-month calendar with holidays from different | |
2517 countries and cultures. The diary allows to keep track of | |
2518 anniversaries, lunar phases, sunrise/set, recurrent appointments | |
2519 (weekly, monthly) and more. In this way, it is quite complementary to | |
2520 Org-mode. It can be very useful to combine output from Org-mode with | |
2521 the diary. | |
2522 | |
2523 The interaction between Org-mode and diary works both ways: You can | |
2524 list entries from the diary in the Org-mode agenda, from which many | |
2525 calendar and diary commands are directly accessible. Or you can | |
2526 display entries from the org agenda in the Emacs diary. | |
2527 | |
2528 @menu | |
2529 * Diary to agenda:: Agenda incorporates the diary | |
2530 * Agenda to diary:: Diary incorporates the agenda | |
2531 @end menu | |
2532 | |
2533 @node Diary to agenda, Agenda to diary, Calendar/Diary integration, Calendar/Diary integration | |
2534 @subsection Including the diary into the agenda | |
2535 @cindex diary to agenda | |
2536 | |
2537 In order to include entries from the Emacs diary into Org-mode's | |
2538 agenda, you only need to customize the variable | |
2539 | |
2540 @lisp | |
2541 (setq org-agenda-include-diary t) | |
2542 @end lisp | |
2543 @noindent | |
2544 | |
2545 @noindent After that, everything will happen automatically. All diary | |
2546 entries including holidays, anniversaries etc will be included in the | |
2547 agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | |
2548 @key{RET} can be used from the agenda buffer to jump to the diary | |
2549 file, in order to edit existing diary entries. The @kbd{i} command to | |
2550 insert new entries for the current date works in the agenda buffer, as | |
2551 well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display | |
2552 Sunrise/Sunset times, show lunar phases and to convert to other | |
2553 calendars, respectively. @kbd{c} can be used to switch back and forth | |
2554 between calendar and agenda. | |
2555 | |
2556 @node Agenda to diary, , Diary to agenda, Calendar/Diary integration | |
2557 @subsection Including the agenda into the diary | |
2558 @cindex agenda to diary | |
2559 | |
2560 If you prefer to use the Emacs diary as your main instrument and if | |
2561 you wish to include the Org-mode agenda into it, the following steps | |
2562 are necessary: Autoload the function @command{org-diary} as shown | |
2563 above under @ref{Installation and Activation}. You also need to use | |
2564 @emph{fancy diary display} by setting in @file{.emacs}: | |
2565 | |
2566 @lisp | |
2567 (add-hook 'diary-display-hook 'fancy-diary-display) | |
2568 @end lisp | |
2569 | |
2570 Then include the following line into your @file{~/diary} file, in | |
2571 order to get the entries from all files listed in the variable | |
2572 @code{org-agenda-files}: | |
2573 | |
2574 @example | |
2575 &%%(org-diary) | |
2576 @end example | |
2577 @noindent | |
2578 You may also select specific files with | |
2579 | |
2580 @example | |
2581 &%%(org-diary) ~/path/to/some/org-file.org | |
2582 &%%(org-diary) ~/path/to/another/org-file.org | |
2583 @end example | |
2584 | |
2585 If you now launch the calendar and press @kbd{d} to display a diary, | |
2586 the headlines of entries containing a timestamp, date range, schedule, | |
2587 or deadline referring to the selected date will be listed. Just like | |
2588 in Org-mode's agenda view, the diary for @emph{today} contains | |
2589 additional entries for overdue deadlines and scheduled items. See | |
2590 also the documentation of the @command{org-diary} function. | |
2591 | 2613 |
2592 @node Exporting, Miscellaneous, Agenda Views, Top | 2614 @node Exporting, Miscellaneous, Agenda Views, Top |
2593 @chapter Exporting | 2615 @chapter Exporting |
2594 @cindex exporting | 2616 @cindex exporting |
2595 | 2617 |
3018 @item @b{How can I change the indentation of an entire table without | 3040 @item @b{How can I change the indentation of an entire table without |
3019 fixing every line by hand?}@* | 3041 fixing every line by hand?}@* |
3020 @cindex indentation, of tables | 3042 @cindex indentation, of tables |
3021 The indentation of a table is set by the first line. So just fix the | 3043 The indentation of a table is set by the first line. So just fix the |
3022 indentation of the first line and realign with @key{TAB}. | 3044 indentation of the first line and realign with @key{TAB}. |
3045 | |
3046 @item @b{Is it possible to include entries from org-mode files into my | |
3047 emacs diary?}@* | |
3048 Since the org-mode agenda is much more powerful and can contain the | |
3049 diary (@pxref{Calendar/Diary integration}), you should think twice | |
3050 before deciding to do this. Inegrating org-mode information into the | |
3051 diary is, however, possible. The following steps are necessary: | |
3052 Autoload the function @command{org-diary} as shown above under | |
3053 @ref{Installation and Activation}. You also need to use @emph{fancy | |
3054 diary display} by setting in @file{.emacs}: | |
3055 | |
3056 @lisp | |
3057 (add-hook 'diary-display-hook 'fancy-diary-display) | |
3058 @end lisp | |
3059 | |
3060 Then include the following line into your @file{~/diary} file, in | |
3061 order to get the entries from all files listed in the variable | |
3062 @code{org-agenda-files}: | |
3063 | |
3064 @example | |
3065 &%%(org-diary) | |
3066 @end example | |
3067 @noindent | |
3068 You may also select specific files with | |
3069 | |
3070 @example | |
3071 &%%(org-diary) ~/path/to/some/org-file.org | |
3072 &%%(org-diary) ~/path/to/another/org-file.org | |
3073 @end example | |
3074 | |
3075 If you now launch the calendar and press @kbd{d} to display a diary, | |
3076 the headlines of entries containing a timestamp, date range, schedule, | |
3077 or deadline referring to the selected date will be listed. Just like | |
3078 in Org-mode's agenda view, the diary for @emph{today} contains | |
3079 additional entries for overdue deadlines and scheduled items. See | |
3080 also the documentation of the @command{org-diary} function. | |
3023 | 3081 |
3024 @end enumerate | 3082 @end enumerate |
3025 | 3083 |
3026 | 3084 |
3027 @node Interaction, TTY keys, FAQ, Miscellaneous | 3085 @node Interaction, TTY keys, FAQ, Miscellaneous |