aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Dominik2006-04-11 08:36:35 +0000
committerCarsten Dominik2006-04-11 08:36:35 +0000
commit26ca33edc321e8987e2dfa8c4d6c55ec30bc0a6f (patch)
tree8f8726f208c695e7147c766c76dc1400fdd9900b
parentdb926d809113fbb185dfc9e400bdf3216a687762 (diff)
downloademacs-26ca33edc321e8987e2dfa8c4d6c55ec30bc0a6f.tar.gz
emacs-26ca33edc321e8987e2dfa8c4d6c55ec30bc0a6f.zip
(Link format): New section, emphasis on bracket links.
(External links): Document bracket links. (FAQ): Expanded to cover shell links and the new link format.
-rw-r--r--man/org.texi1084
1 files changed, 687 insertions, 397 deletions
diff --git a/man/org.texi b/man/org.texi
index 2c7a4ef8289..19c0f222c57 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -4,8 +4,8 @@
4@setfilename ../info/org 4@setfilename ../info/org
5@settitle Org Mode Manual 5@settitle Org Mode Manual
6 6
7@set VERSION 4.10 7@set VERSION 4.21
8@set DATE March 2006 8@set DATE April 2006
9 9
10@dircategory Emacs 10@dircategory Emacs
11@direntry 11@direntry
@@ -82,6 +82,7 @@ Software Foundation raise funds for GNU development.''
82* Hyperlinks:: Notes in context 82* Hyperlinks:: Notes in context
83* TODO items:: Every tree branch can be a TODO item 83* TODO items:: Every tree branch can be a TODO item
84* Timestamps:: Assign date and time to items 84* Timestamps:: Assign date and time to items
85* Tags:: Tagging headlines and matching sets of tags
85* Agenda Views:: Collecting information into views 86* Agenda Views:: Collecting information into views
86* Exporting:: Sharing and publishing of notes 87* Exporting:: Sharing and publishing of notes
87* Miscellaneous:: All the rest which did not fit elsewhere 88* Miscellaneous:: All the rest which did not fit elsewhere
@@ -94,7 +95,7 @@ Software Foundation raise funds for GNU development.''
94Introduction 95Introduction
95 96
96* Summary:: Brief summary of what Org-mode does 97* Summary:: Brief summary of what Org-mode does
97* Installation and Activation:: How to install Org-mode 98* Installation and activation:: How to install Org-mode
98* Feedback:: Bug reports, ideas, patches etc. 99* Feedback:: Bug reports, ideas, patches etc.
99 100
100Document Structure 101Document Structure
@@ -106,12 +107,12 @@ Document Structure
106* Structure editing:: Changing sequence and level of headlines 107* Structure editing:: Changing sequence and level of headlines
107* Archiving:: Move done task trees to a different place 108* Archiving:: Move done task trees to a different place
108* Sparse trees:: Matches embedded in context 109* Sparse trees:: Matches embedded in context
109* Tags:: Tagging headlines and matching sets of tags
110* Plain Lists:: Editing hand-formatted lists 110* Plain Lists:: Editing hand-formatted lists
111 111
112Tables 112Tables
113 113
114* Built-in table editor:: Simple tables 114* Built-in table editor:: Simple tables
115* Narrow columns:: Stop wasting space in tables
115* Table calculations:: Compute a field from other fields 116* Table calculations:: Compute a field from other fields
116* orgtbl-mode:: The table editor as minor mode 117* orgtbl-mode:: The table editor as minor mode
117* table.el:: Complex tables 118* table.el:: Complex tables
@@ -127,13 +128,14 @@ Calculations in tables
127 128
128Hyperlinks 129Hyperlinks
129 130
130* Internal Links:: Links to other places in the current file 131* Link format:: How links in Org-mode are formatted
131* External Links:: URL-like links to the world 132* Internal links:: Links to other places in the current file
133* External links:: URL-like links to the world
132* Managing links:: Creating, inserting and following 134* Managing links:: Creating, inserting and following
133* Search Options:: Linking to a specific location 135* Search Options:: Linking to a specific location
134* Remember:: Org-trees store quick notes 136* Remember:: Org-trees store quick notes
135 137
136Internal Links 138Internal links
137 139
138* Radio targets:: Make targets trigger links in plain text. 140* Radio targets:: Make targets trigger links in plain text.
139* CamelCase links:: Activating CamelCase words as links 141* CamelCase links:: Activating CamelCase words as links
@@ -141,7 +143,7 @@ Internal Links
141TODO items 143TODO items
142 144
143* TODO basics:: Marking and displaying TODO entries 145* TODO basics:: Marking and displaying TODO entries
144* Progress Logging:: Document your productivity 146* Progress logging:: Document your productivity
145* TODO extensions:: Workflow and assignments 147* TODO extensions:: Workflow and assignments
146* Priorities:: Some things are more important than others 148* Priorities:: Some things are more important than others
147 149
@@ -156,6 +158,12 @@ Timestamps
156* Time stamps:: Assigning a time to a tree entry 158* Time stamps:: Assigning a time to a tree entry
157* Creating timestamps:: Commands which insert timestamps 159* Creating timestamps:: Commands which insert timestamps
158 160
161Tags
162
163* Tag inheritance:: Tags use the tree structure of the outline
164* Setting tags:: How to assign tags to a headline
165* Tag searches:: Searching for combinations of tags
166
159Agenda Views 167Agenda Views
160 168
161* Agenda files:: Files being searched for agenda information 169* Agenda files:: Files being searched for agenda information
@@ -189,6 +197,7 @@ Miscellaneous
189 197
190* Completion:: M-TAB knows what you need 198* Completion:: M-TAB knows what you need
191* Customization:: Adapting Org-mode to your taste 199* Customization:: Adapting Org-mode to your taste
200* Updating settings:: How to tell Org-mode that settings have changed
192* Clean view:: Getting rid of leading stars in the outline 201* Clean view:: Getting rid of leading stars in the outline
193* TTY keys:: Using Org-mode on a tty 202* TTY keys:: Using Org-mode on a tty
194* FAQ:: Frequently asked questions 203* FAQ:: Frequently asked questions
@@ -205,11 +214,11 @@ Miscellaneous
205 214
206@menu 215@menu
207* Summary:: Brief summary of what Org-mode does 216* Summary:: Brief summary of what Org-mode does
208* Installation and Activation:: How to install Org-mode 217* Installation and activation:: How to install Org-mode
209* Feedback:: Bug reports, ideas, patches etc. 218* Feedback:: Bug reports, ideas, patches etc.
210@end menu 219@end menu
211 220
212@node Summary, Installation and Activation, Introduction, Introduction 221@node Summary, Installation and activation, Introduction, Introduction
213@section Summary 222@section Summary
214@cindex summary 223@cindex summary
215 224
@@ -234,7 +243,7 @@ Org-mode keeps simple things simple. When first fired up, it should
234feel like a simple but easy to use outliner. Complexity is not 243feel like a simple but easy to use outliner. Complexity is not
235imposed, but a large amount of functionality is available when you 244imposed, but a large amount of functionality is available when you
236need it. Org-mode can be used on different levels and in different 245need it. Org-mode can be used on different levels and in different
237ways, for example 246ways, for example:
238 247
239@example 248@example
240@r{@bullet{} as an outline extension with visibility cycling and structure editing} 249@r{@bullet{} as an outline extension with visibility cycling and structure editing}
@@ -255,7 +264,7 @@ and example files. This page is located at
255 264
256@page 265@page
257 266
258@node Installation and Activation, Feedback, Summary, Introduction 267@node Installation and activation, Feedback, Summary, Introduction
259@section Installation and Activation 268@section Installation and Activation
260@cindex installation 269@cindex installation
261@cindex autoload 270@cindex autoload
@@ -301,9 +310,9 @@ MY PROJECTS -*- mode: org; -*-
301 310
302@noindent which will select Org-mode for this buffer no matter what 311@noindent which will select Org-mode for this buffer no matter what
303the file's name is. See also the variable 312the file's name is. See also the variable
304@code{org-insert-mode-line-in-empty-file'}. 313@code{org-insert-mode-line-in-empty-file}.
305 314
306@node Feedback, , Installation and Activation, Introduction 315@node Feedback, , Installation and activation, Introduction
307@section Feedback 316@section Feedback
308@cindex feedback 317@cindex feedback
309@cindex bug reports 318@cindex bug reports
@@ -316,16 +325,17 @@ or ideas about it, please contact the maintainer Carsten Dominik at
316 325
317For bug reports, please provide as much information as possible, 326For bug reports, please provide as much information as possible,
318including the version information of Emacs (@kbd{C-h v emacs-version 327including the version information of Emacs (@kbd{C-h v emacs-version
319@key{RET}}) and Org-mode (@kbd{M-x org-version}), as well as the 328@key{RET}}) and Org-mode (@kbd{C-h v org-version @key{RET}}), as well as
320Org-mode related setup in @file{.emacs}. If an error occurs, a 329the Org-mode related setup in @file{.emacs}. If an error occurs, a
321traceback can be very useful. Often a small example file helps, along 330traceback can be very useful. Often a small example file helps, along
322with clear information about: 331with clear information about:
332
323@enumerate 333@enumerate
324@item What exactly did you do? 334@item What exactly did you do?
325@item What did you expect to happen? 335@item What did you expect to happen?
326@item What happened instead? 336@item What happened instead?
327@end enumerate 337@end enumerate
328@noindent Thanks for helping to improve this mode. 338@noindent Thank you for helping to improve this mode.
329 339
330@node Document Structure, Tables, Introduction, Top 340@node Document Structure, Tables, Introduction, Top
331@chapter Document Structure 341@chapter Document Structure
@@ -343,7 +353,6 @@ edit the structure of the document.
343* Structure editing:: Changing sequence and level of headlines 353* Structure editing:: Changing sequence and level of headlines
344* Archiving:: Move done task trees to a different place 354* Archiving:: Move done task trees to a different place
345* Sparse trees:: Matches embedded in context 355* Sparse trees:: Matches embedded in context
346* Tags:: Tagging headlines and matching sets of tags
347* Plain Lists:: Editing hand-formatted lists 356* Plain Lists:: Editing hand-formatted lists
348@end menu 357@end menu
349 358
@@ -367,9 +376,9 @@ key.
367@cindex headlines 376@cindex headlines
368@cindex outline tree 377@cindex outline tree
369 378
370Headlines define the structure of an outline tree. The Headlines in 379Headlines define the structure of an outline tree. The headlines in
371Org-mode start with one or more stars, on the left margin. For 380Org-mode start with one or more stars, on the left margin. For
372example 381example:
373 382
374@example 383@example
375* Top level headline 384* Top level headline
@@ -380,6 +389,7 @@ example
380 more text 389 more text
381* Another top level headline 390* Another top level headline
382@end example 391@end example
392
383@noindent Some people find the many stars too noisy and would prefer an 393@noindent Some people find the many stars too noisy and would prefer an
384outline that has whitespace followed by a single star as headline 394outline that has whitespace followed by a single star as headline
385starters. @ref{Clean view} describes a setup to realize this. 395starters. @ref{Clean view} describes a setup to realize this.
@@ -404,10 +414,12 @@ the visibility in the buffer.
404@kindex @key{TAB} 414@kindex @key{TAB}
405@item @key{TAB} 415@item @key{TAB}
406Rotate current subtree between the states 416Rotate current subtree between the states
417
407@example 418@example
408,-> FOLDED -> CHILDREN -> SUBTREE --. 419,-> FOLDED -> CHILDREN -> SUBTREE --.
409'-----------------------------------' 420'-----------------------------------'
410@end example 421@end example
422
411At the beginning of the buffer (or when called with @kbd{C-u}), this does 423At the beginning of the buffer (or when called with @kbd{C-u}), this does
412the same as the command @kbd{S-@key{TAB}} below. 424the same as the command @kbd{S-@key{TAB}} below.
413 425
@@ -418,10 +430,12 @@ the same as the command @kbd{S-@key{TAB}} below.
418@kindex S-@key{TAB} 430@kindex S-@key{TAB}
419@item S-@key{TAB} 431@item S-@key{TAB}
420Rotate the entire buffer between the states 432Rotate the entire buffer between the states
433
421@example 434@example
422,-> OVERVIEW -> CONTENTS -> SHOW ALL --. 435,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
423'--------------------------------------' 436'--------------------------------------'
424@end example 437@end example
438
425Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. 439Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field.
426 440
427@cindex show all, command 441@cindex show all, command
@@ -499,23 +513,23 @@ beginning of the next line.
499Insert new TODO entry with same level as current heading. 513Insert new TODO entry with same level as current heading.
500@kindex M-@key{left} 514@kindex M-@key{left}
501@item M-@key{left} 515@item M-@key{left}
502Promote current heading by one level 516Promote current heading by one level.
503@kindex M-@key{right} 517@kindex M-@key{right}
504@item M-@key{right} 518@item M-@key{right}
505Demote current heading by one level 519Demote current heading by one level.
506@kindex M-S-@key{left} 520@kindex M-S-@key{left}
507@item M-S-@key{left} 521@item M-S-@key{left}
508Promote the current subtree by one level 522Promote the current subtree by one level.
509@kindex M-S-@key{right} 523@kindex M-S-@key{right}
510@item M-S-@key{right} 524@item M-S-@key{right}
511Demote the current subtree by one level 525Demote the current subtree by one level.
512@kindex M-S-@key{up} 526@kindex M-S-@key{up}
513@item M-S-@key{up} 527@item M-S-@key{up}
514Move subtree up (swap with previous subtree of same 528Move subtree up (swap with previous subtree of same
515level) 529level).
516@kindex M-S-@key{down} 530@kindex M-S-@key{down}
517@item M-S-@key{down} 531@item M-S-@key{down}
518Move subtree down (swap with next subtree of same level) 532Move subtree down (swap with next subtree of same level).
519@kindex C-c C-x C-w 533@kindex C-c C-x C-w
520@kindex C-c C-x C-k 534@kindex C-c C-x C-k
521@item C-c C-x C-w 535@item C-c C-x C-w
@@ -567,7 +581,7 @@ this, see the documentation string of the variable
567agenda, archiving to a different file is a good way to keep archived 581agenda, archiving to a different file is a good way to keep archived
568trees from contributing agenda items. 582trees from contributing agenda items.
569 583
570@node Sparse trees, Tags, Archiving, Document Structure 584@node Sparse trees, Plain Lists, Archiving, Document Structure
571@section Sparse trees 585@section Sparse trees
572@cindex sparse trees 586@cindex sparse trees
573@cindex trees, sparse 587@cindex trees, sparse
@@ -602,11 +616,13 @@ For frequently used sparse trees of specific search strings, you can
602use the variable @code{org-agenda-custom-commands} to define fast 616use the variable @code{org-agenda-custom-commands} to define fast
603keyboard access to specific sparse trees. These commands will then be 617keyboard access to specific sparse trees. These commands will then be
604accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). 618accessible through the agenda dispatcher (@pxref{Agenda dispatcher}).
605For example 619For example:
620
606@lisp 621@lisp
607(setq org-agenda-custom-commands 622(setq org-agenda-custom-commands
608 '(("f" occur-tree "FIXME"))) 623 '(("f" occur-tree "FIXME")))
609@end lisp 624@end lisp
625
610@noindent will define the key @kbd{C-c a f} as a shortcut for creating 626@noindent will define the key @kbd{C-c a f} as a shortcut for creating
611a sparse tree matching the string @samp{FIXME}. 627a sparse tree matching the string @samp{FIXME}.
612 628
@@ -621,97 +637,20 @@ To print a sparse tree, you can use the Emacs command
621of the document @footnote{This does not work under XEmacs, because 637of the document @footnote{This does not work under XEmacs, because
622XEmacs uses selective display for outlining, not text properties}. 638XEmacs uses selective display for outlining, not text properties}.
623Or you can use the command @kbd{C-c C-x v} to copy the visible part of 639Or you can use the command @kbd{C-c C-x v} to copy the visible part of
624the document to another file (extension @file{.txt}) which then can be 640the document to another file (extension @file{.txt}) which can then be
625printed in any desired way. 641printed in any desired way.
626 642
627@node Tags, Plain Lists, Sparse trees, Document Structure
628@section Tags
629@cindex tags
630@cindex headline tagging
631@cindex matching, tags
632@cindex sparse tree, tag based
633
634If you wish to implement a tag system to cross-correlate information,
635this can be done as well in Org-mode. Every headline can contain a
636list of tags, at the end of the headline. Tags are normal words
637containing letters, numbers, @samp{_}, and @samp{@@}. Tags must be
638preceded and followed by a single colon; like @samp{:WORK:}. Several
639tags can be specified like @samp{:WORK:URGENT:}.
640
641@cindex inheritance, of tags
642Tags make use of the hierarchical structure of outline trees. If a
643heading has a certain tag, all subheadings will inherit the tag as
644well. For example, in the list
645
646@example
647* Meeting with the French group :WORK:
648** Summary by Frank :BOSS:NOTES:
649*** TODO Prepare slides for him :ACTION:
650@end example
651@noindent
652the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:},
653@samp{:NOTES:}, and @samp{:ACTION:}. When executing tag searches and
654Org-mode finds that a certain headline matches the search criterion,
655it will not check any sublevel headline, assuming that these likely
656also match, and that the list of matches can become very long. You
657can influence inheritance and searching using the variables
658@code{org-use-tag-inheritance} and
659@code{org-tags-match-list-sublevels}.
660
661@kindex M-@key{TAB}
662Tags can simply be typed into the buffer. After a colon,
663@kbd{M-@key{TAB}} offers completion on all tags being used in the
664current buffer. There are also special commands for inserting tags,
665and for executing searches based on tags.
666
667@table @kbd
668@kindex C-c C-c
669@item C-c C-c
670@cindex completion, of tags
671Enter new tags for the current headline. The minibuffer will prompt
672for a list of tags and offer completion with respect to all other tags
673used in the current buffer. Several tags, separated by colons, may be
674specified at the prompt. After pressing @key{RET}, the tags will
675be inserted and aligned to @code{org-tags-column}. When called with a
676@kbd{C-u} prefix, align all tags in the current buffer to that column,
677just to make things look nice. TAGS are automatically realigned after
678promotion, demotion, and TODO state changes (@pxref{TODO basics}).
679@kindex C-c \
680@item C-c \
681Create a sparse tree with all headlines matching a tags search.
682@kindex C-c a m
683@item C-c a m
684Create a global list of tag matches from all agenda files.
685@xref{Matching headline tags}.
686@kindex C-c a M
687@item C-c a M
688Create a global list of tag matches from all agenda files, but check
689only TODO items and force checking subitems (see variable
690@code{org-tags-match-list-sublevels}).
691@end table
692
693A tags search string can use Boolean operators @samp{&} for AND and
694@samp{|} for OR. @samp{&} binds more strongly than
695@samp{|}. Parenthesis are currently no implemented. A tag may also be
696preceded by @samp{-}, to select against it, and @samp{+} is syntactic
697sugar for positive selection. The AND operator @samp{&} is optional
698when @samp{+} or @samp{-} is present. For example, @samp{+WORK-BOSS}
699would select all headlines that are tagged @samp{:WORK:}, but discard
700those also tagged @samp{:BOSS:}. The search string @samp{WORK|LAPTOP}
701selects all lines tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string
702@samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are
703also tagged @samp{NIGHT}.
704 643
705@node Plain Lists, , Tags, Document Structure 644@node Plain Lists, , Sparse trees, Document Structure
706@section Plain Lists 645@section Plain Lists
707@cindex plain lists 646@cindex plain lists
708@cindex lists, plain 647@cindex lists, plain
709@cindex lists, ordered 648@cindex lists, ordered
710@cindex ordered lists 649@cindex ordered lists
711 650
712Headlines define the structure of the Org-mode file, and also lists 651Headlines define both the structure of the Org-mode file, and also lists
713(for example TODO items (@pxref{TODO items}) should be created using 652(for example, TODO items (@pxref{TODO items}) should be created using
714headline levels. However, when taking notes, the plain text is 653headline levels). However, when taking notes, the plain text is
715sometimes easier to read with hand-formatted lists. Org-mode supports 654sometimes easier to read with hand-formatted lists. Org-mode supports
716editing such lists, and the HTML exporter (@pxref{Exporting}) does 655editing such lists, and the HTML exporter (@pxref{Exporting}) does
717parse and format them. 656parse and format them.
@@ -721,11 +660,11 @@ with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a
721bullet, lines must be indented or they will be seen as top-level 660bullet, lines must be indented or they will be seen as top-level
722headlines. Also, when you are hiding leading stars to get a clean 661headlines. Also, when you are hiding leading stars to get a clean
723outline view, plain list items starting with a star are visually 662outline view, plain list items starting with a star are visually
724indistinguishable from true headlines. In short: Even though @samp{*} 663indistinguishable from true headlines. In short: even though @samp{*}
725is supported, it may be better to not use it for plain list items} as 664is supported, it may be better to not use it for plain list items} as
726bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items 665bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items
727belonging to the same list must have the same indentation on the first 666belonging to the same list must have the same indentation on the first
728line. In particular, if an ordered list reaches number @samp{10.}, also 667line. In particular, if an ordered list reaches number @samp{10.}, then
729the 2--digit numbers must be written left-aligned with the other numbers 668the 2--digit numbers must be written left-aligned with the other numbers
730in the list. Indentation also determines the end of a list item. It 669in the list. Indentation also determines the end of a list item. It
731ends before the next line that is indented like the bullet/number, or 670ends before the next line that is indented like the bullet/number, or
@@ -792,12 +731,13 @@ Emacs @file{calc} package.
792 731
793@menu 732@menu
794* Built-in table editor:: Simple tables 733* Built-in table editor:: Simple tables
734* Narrow columns:: Stop wasting space in tables
795* Table calculations:: Compute a field from other fields 735* Table calculations:: Compute a field from other fields
796* orgtbl-mode:: The table editor as minor mode 736* orgtbl-mode:: The table editor as minor mode
797* table.el:: Complex tables 737* table.el:: Complex tables
798@end menu 738@end menu
799 739
800@node Built-in table editor, Table calculations, Tables, Tables 740@node Built-in table editor, Narrow columns, Tables, Tables
801@section The built-in table editor 741@section The built-in table editor
802@cindex table editor, builtin 742@cindex table editor, builtin
803 743
@@ -826,6 +766,7 @@ create the above table, you would only type
826|Name|Phone|Age 766|Name|Phone|Age
827|- 767|-
828@end example 768@end example
769
829@noindent and then press @key{TAB} to align the table and start filling in 770@noindent and then press @key{TAB} to align the table and start filling in
830fields. 771fields.
831 772
@@ -840,18 +781,16 @@ unpredictable for you, configure the variables
840 781
841@table @kbd 782@table @kbd
842@tsubheading{Creation and conversion} 783@tsubheading{Creation and conversion}
843@item M-x org-table-create 784@kindex C-c |
844Creates an empty Org-mode table. However, it is much easier to just 785@item C-c |
845start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}} 786Convert the active region to table. If every line contains at least one
846 787TAB character, the function assumes that the material is tab separated.
847@kindex C-c C-c 788If not, lines are split at whitespace into fields. You can use a prefix
848@item C-c C-c 789argument to indicate the minimum number of consequtive spaces required
849Convert region to table. Works when the cursor is not in an existing 790to indentify a field separator (default: just one).@*
850table, and when there is a region defined. If every line contains at 791If there is no active region, this command creates an empty Org-mode
851least one TAB character, the function assumes that the material is tab 792table. However, it's easier to just start typing, like
852separated. If not, lines are split at whitespace into fields. You 793@kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}.
853can use a prefix argument to indicate how many consecutive spaces are
854at least required to indicate a field separator (default: just one).
855 794
856@tsubheading{Re-aligning and field motion} 795@tsubheading{Re-aligning and field motion}
857@kindex C-c C-c 796@kindex C-c C-c
@@ -878,7 +817,7 @@ NEWLINE, so it can be used to split a table.
878@kindex M-@key{right} 817@kindex M-@key{right}
879@item M-@key{left} 818@item M-@key{left}
880@itemx M-@key{right} 819@itemx M-@key{right}
881Move the current column left/right 820Move the current column left/right.
882 821
883@kindex M-S-@key{left} 822@kindex M-S-@key{left}
884@item M-S-@key{left} 823@item M-S-@key{left}
@@ -892,7 +831,7 @@ Insert a new column to the left of the cursor position.
892@kindex M-@key{down} 831@kindex M-@key{down}
893@item M-@key{up} 832@item M-@key{up}
894@itemx M-@key{down} 833@itemx M-@key{down}
895Move the current row up/down 834Move the current row up/down.
896 835
897@kindex M-S-@key{up} 836@kindex M-S-@key{up}
898@item M-S-@key{up} 837@item M-S-@key{up}
@@ -940,7 +879,7 @@ prefix ARG may be used to change the number of desired lines. If there
940is no region, the current field is split at the cursor position and the 879is no region, the current field is split at the cursor position and the
941text fragment to the right of the cursor is prepended to the field one 880text fragment to the right of the cursor is prepended to the field one
942line down. If there is no region, but you specify a prefix ARG, the 881line down. If there is no region, but you specify a prefix ARG, the
943current field gets blank, and the content is appended to the field 882current field is made blank, and the content is appended to the field
944above. 883above.
945 884
946@tsubheading{Calculations} 885@tsubheading{Calculations}
@@ -1000,36 +939,87 @@ incremented during copy. This key is also used by CUA-mode
1000(@pxref{Interaction}). 939(@pxref{Interaction}).
1001 940
1002@tsubheading{Miscellaneous} 941@tsubheading{Miscellaneous}
1003@kindex C-c | 942@kindex C-c `
1004@item C-c | 943@item C-c `
1005Toggle the visibility of vertical lines in tables. The lines are 944Edit the current field in a separate window. This is useful for fields
1006still there, only made invisible with a text property. Any @samp{|} 945that are not fully visible (@pxref{Narrow columns}). When called with a
1007added by hand will become invisible on the next align. 946@kbd{C-u} prefix, just make the full field visible, so that it can be
947edited in place.
948
949@kindex C-c @key{TAB}
950@item C-c @key{TAB}
951This is an alias for @kbd{C-u C-c `} to make the current field fully
952visible.
1008 953
1009@item M-x org-table-import 954@item M-x org-table-import
1010Import a file as a table. The table should be TAB- or whitespace 955Import a file as a table. The table should be TAB- or whitespace
1011separated. Useful for example to import an Excel table or data from a 956separated. Useful, for example, to import an Excel table or data from a
1012database, because these programs generally can write TAB-separated text 957database, because these programs generally can write TAB-separated text
1013files. This command works by inserting the file into the buffer and 958files. This command works by inserting the file into the buffer and
1014then converting the region to a table. Any prefix argument is passed on 959then converting the region to a table. Any prefix argument is passed on
1015to the converter, which uses it to determine the separator. 960to the converter, which uses it to determine the separator.
1016 961
1017@item M-x org-table-export 962@item M-x org-table-export
1018Export the table as a TAB-separated file. Useful for data exchange with 963Export the table as a TAB-separated file. Useful for data exchange with,
1019for example Excel or database programs. 964for example, Excel or database programs.
1020 965
1021@end table 966@end table
1022 967
1023If you don't like the automatic table editor because it gets into your 968If you don't like the automatic table editor because it gets in your
1024way in lines which you would like to start with @samp{|}, you can turn 969way on lines which you would like to start with @samp{|}, you can turn
1025it off with 970it off with
971
1026@lisp 972@lisp
1027(setq org-enable-table-editor nil) 973(setq org-enable-table-editor nil)
1028@end lisp 974@end lisp
975
1029@noindent The only table command which then still works is 976@noindent The only table command which then still works is
1030@kbd{C-c C-c} to do a manual re-align. 977@kbd{C-c C-c} to do a manual re-align.
1031 978
1032@node Table calculations, orgtbl-mode, Built-in table editor, Tables 979@node Narrow columns, Table calculations, Built-in table editor, Tables
980@section Narrow columns
981@cindex narrow columns in tables
982
983The width of columns is automatically determined by the table editor.
984Sometimes a single field or a few fields need to carry more text,
985leading to unconveniently wide columns. To limit@footnote{This feature
986does not work on XEmacs.} the width of a column, one field anywhere in
987the column must carry the string @samp{<N>} where @samp{N} is an integer
988specifying the width of the column in characters. The next re-align
989will then set the width of this column to no more than this value.
990
991@example
992|---+------------------------------| |---+--------|
993| | | | | <6> |
994| 1 | one | | 1 | one |
995| 2 | two | ----\ | 2 | two |
996| 3 | This is a long chunk of text | ----/ | 3 | This=> |
997| 4 | four | | 4 | four |
998|---+------------------------------| |---+--------|
999@end example
1000
1001@noindent
1002Fields that are wider become clipped and end in the string @samp{=>}.
1003Note that the full text is still in the buffer, it is only invisible.
1004To see the full text, hold the mouse over the field - a tooltip window
1005will show the full content. To edit such a field, use the command
1006@kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will
1007open a new window with the full field. Edit it and finish with @kbd{C-c
1008C-c}.
1009
1010When visiting a file containing a table with narrowed columns, the
1011necessary character hiding has not yet happened, and the table needs to
1012be aligned before it looks nice. Setting the option
1013@code{org-startup-align-all-tables} will realign all tables in a file
1014upon visiting, but also slow down startup. You can also set this option
1015on a per-file basis with:
1016
1017@example
1018#+STARTUP: align
1019#+STARTUP: noalign
1020@end example
1021
1022@node Table calculations, orgtbl-mode, Narrow columns, Tables
1033@section Calculations in tables 1023@section Calculations in tables
1034@cindex calculations, in tables 1024@cindex calculations, in tables
1035@cindex spreadsheet capabilities 1025@cindex spreadsheet capabilities
@@ -1062,9 +1052,9 @@ recalculation can be automated.
1062 1052
1063A formula can be any algebraic expression understood by the Emacs 1053A formula can be any algebraic expression understood by the Emacs
1064@file{calc} package. Note that @file{calc} has the slightly 1054@file{calc} package. Note that @file{calc} has the slightly
1065non-standard conversion that @samp{/} has lower precedence than 1055non-standard convention that @samp{/} has lower precedence than
1066@samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}. Before 1056@samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}. Before
1067evaluation by @code{calc-eval} (@pxref{Calling Calc from Your 1057evaluation by @code{calc-eval} (@pxref{Calling Calc from Your Lisp
1068Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU Emacs 1058Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU Emacs
1069Calc Manual}), variable substitution takes place: 1059Calc Manual}), variable substitution takes place:
1070 1060
@@ -1091,7 +1081,7 @@ constant. Constants are defined globally through the variable
1091@code{org-table-formula-constants}. If you have the 1081@code{org-table-formula-constants}. If you have the
1092@file{constants.el} package, it will also be used to resolve 1082@file{constants.el} package, it will also be used to resolve
1093constants, including natural constants like @samp{$h} for Planck's 1083constants, including natural constants like @samp{$h} for Planck's
1094constant, units like @samp{$km} for kilometers. Column names and 1084constant, and units like @samp{$km} for kilometers. Column names and
1095parameters can be specified in special table lines. These are 1085parameters can be specified in special table lines. These are
1096described below, see @ref{Advanced features}. 1086described below, see @ref{Advanced features}.
1097 1087
@@ -1106,10 +1096,11 @@ The default settings can be configured using the variable
1106@code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to 1096@code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to
1107switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, 1097switch the internal precision to 20 digits, @samp{n3}, @samp{s3},
1108@samp{e2} or @samp{f4} to switch to normal, scientific, engineering, 1098@samp{e2} or @samp{f4} to switch to normal, scientific, engineering,
1109or fix display format, respectively, and @samp{D}, @samp{R}, @samp{F}, 1099or fixed display format, respectively, and @samp{D}, @samp{R}, @samp{F},
1110and @samp{S} to turn on degrees, radians, fraction and symbolic modes, 1100and @samp{S} to turn on degrees, radians, fraction and symbolic modes,
1111respectively. In addition, you may provide a @code{printf} format 1101respectively. In addition, you may provide a @code{printf} format
1112specifier to reformat the final result. A few examples: 1102specifier to reformat the final result. A few examples:
1103
1113@example 1104@example
1114 $1+$2 @r{Sum of first and second field} 1105 $1+$2 @r{Sum of first and second field}
1115 $1+$2;%.2f @r{Same, format result to two decimals} 1106 $1+$2;%.2f @r{Same, format result to two decimals}
@@ -1120,7 +1111,7 @@ specifier to reformat the final result. A few examples:
1120 tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} 1111 tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1}
1121 sin($1);Dp3%.1e @r{Same, but use printf specifier for display} 1112 sin($1);Dp3%.1e @r{Same, but use printf specifier for display}
1122 vmean($2..$7) @r{Compute column range mean, using vector function} 1113 vmean($2..$7) @r{Compute column range mean, using vector function}
1123 vsum(&III) @r{Sum numbers from 3rd hline above to here} 1114 vsum(&III) @r{Sum numbers from 3rd hline above, up to here}
1124 taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} 1115 taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree}
1125@end example 1116@end example
1126 1117
@@ -1164,12 +1155,13 @@ header.
1164@node Advanced features, Named-field formulas, Column formulas, Table calculations 1155@node Advanced features, Named-field formulas, Column formulas, Table calculations
1165@subsection Advanced features 1156@subsection Advanced features
1166 1157
1167If you want want the recalculation of fields to happen automatically, 1158If you want the recalculation of fields to happen automatically,
1168or if you want to be able to assign a formula to an individual field 1159or if you want to be able to assign a formula to an individual field
1169(instead of an entire column) you need to reserve the first column of 1160(instead of an entire column) you need to reserve the first column of
1170the table for special marking characters. Here is an example of a 1161the table for special marking characters. Here is an example of a
1171table that collects exam results of students and makes use of these 1162table that collects exam results of students and makes use of these
1172features: 1163features:
1164
1173@example 1165@example
1174@group 1166@group
1175|---+---------+--------+--------+--------+-------+------| 1167|---+---------+--------+--------+--------+-------+------|
@@ -1192,7 +1184,7 @@ features:
1192@end example 1184@end example
1193 1185
1194@noindent @b{Important}: Please note that for these special tables, 1186@noindent @b{Important}: Please note that for these special tables,
1195recalculating the table with @kbd{C-u C-c *} does only affect rows 1187recalculating the table with @kbd{C-u C-c *} will only affect rows
1196which are marked @samp{#} or @samp{*}, and named fields. The column 1188which are marked @samp{#} or @samp{*}, and named fields. The column
1197formulas are not applied in rows with empty first field. 1189formulas are not applied in rows with empty first field.
1198 1190
@@ -1209,7 +1201,7 @@ the value @samp{10}. Also, named fields can have their own formula
1209associated with them. 1201associated with them.
1210@item _ 1202@item _
1211Similar to @samp{^}, but defines names for the fields in the row 1203Similar to @samp{^}, but defines names for the fields in the row
1212@emph{below}. 1204@emph{below}.
1213@item $ 1205@item $
1214Fields in this row can define @emph{parameters} for formulas. For 1206Fields in this row can define @emph{parameters} for formulas. For
1215example, if a field in a @samp{$} row contains @samp{max=50}, then 1207example, if a field in a @samp{$} row contains @samp{max=50}, then
@@ -1226,8 +1218,8 @@ lines will be left alone by this command.
1226Selects this line for global recalculation with @kbd{C-u C-c *}, but 1218Selects this line for global recalculation with @kbd{C-u C-c *}, but
1227not for automatic recalculation. Use this when automatic 1219not for automatic recalculation. Use this when automatic
1228recalculation slows down editing too much. 1220recalculation slows down editing too much.
1229@item 1221@item
1230Unmarked lines are exempted from recalculation with @kbd{C-u C-c *}. 1222Unmarked lines are exempt from recalculation with @kbd{C-u C-c *}.
1231All lines that should be recalculated should be marked with @samp{#} 1223All lines that should be recalculated should be marked with @samp{#}
1232or @samp{*}. 1224or @samp{*}.
1233@end table 1225@end table
@@ -1240,7 +1232,7 @@ or @samp{*}.
1240A named field can have its own formula associated with it. In the 1232A named field can have its own formula associated with it. In the
1241example above, this is used for the @samp{at} field that contains 1233example above, this is used for the @samp{at} field that contains
1242the average result of the students. To enter a formula for a named 1234the average result of the students. To enter a formula for a named
1243field, just type it onto the buffer, preceded by @samp{:=}. Or use 1235field, just type it into the buffer, preceded by @samp{:=}. Or use
1244@kbd{C-u C-c =}. This equation will be stored below the table like 1236@kbd{C-u C-c =}. This equation will be stored below the table like
1245@samp{$name=...}. Any recalculation in the table (even if only 1237@samp{$name=...}. Any recalculation in the table (even if only
1246requested for the current line) will also update all named field 1238requested for the current line) will also update all named field
@@ -1251,9 +1243,9 @@ formulas.
1251@cindex formula editing 1243@cindex formula editing
1252@cindex editing, of table formulas 1244@cindex editing, of table formulas
1253 1245
1254To edit a column or field formula, you can use the commands @kbd{C-c 1246To edit a column or field formula, use the commands @kbd{C-c
1255=} and @kbd{C-u C-c =}, respectively. The currently active expression 1247=} and @kbd{C-u C-c =}, respectively. The currently active expression
1256is then presented as default in the minibuffer, were it may be edited. 1248is then presented as default in the minibuffer, where it may be edited.
1257 1249
1258Note that making a table field blank does not remove the formula 1250Note that making a table field blank does not remove the formula
1259associated with the field - during the next recalculation the field 1251associated with the field - during the next recalculation the field
@@ -1264,7 +1256,7 @@ give an empty reply when prompted for the formula, or to edit the
1264@kindex C-c C-c 1256@kindex C-c C-c
1265You may edit the @samp{#+TBLFM} directly and re-apply 1257You may edit the @samp{#+TBLFM} directly and re-apply
1266the changed equations with @kbd{C-c C-c} in that line, or with the 1258the changed equations with @kbd{C-c C-c} in that line, or with the
1267normal recalculation commands in the table. 1259normal recalculation commands in the table.
1268 1260
1269@kindex C-c ' 1261@kindex C-c '
1270@kindex C-c C-c 1262@kindex C-c C-c
@@ -1283,8 +1275,8 @@ installing the changes.
1283When the evaluation of a formula leads to an error, the field content 1275When the evaluation of a formula leads to an error, the field content
1284becomes the string @samp{#ERROR}. If you would like see what is going 1276becomes the string @samp{#ERROR}. If you would like see what is going
1285on during variable substitution and calculation in order to find a 1277on during variable substitution and calculation in order to find a
1286bug, turn on formula debugging in the menu and repeat the calculation 1278bug, turn on formula debugging in the menu and repeat the calculation,
1287by pressing, for example by pressing @kbd{C-c = @key{RET}} in a field. 1279for example by pressing @kbd{C-c = @key{RET}} in a field.
1288Detailed information will be displayed. 1280Detailed information will be displayed.
1289 1281
1290@node Appetizer, , Editing/debugging formulas, Table calculations 1282@node Appetizer, , Editing/debugging formulas, Table calculations
@@ -1320,6 +1312,7 @@ might want to use it also in other modes like text-mode or mail-mode.
1320The minor mode Orgtbl-mode makes this possible. You can always toggle 1312The minor mode Orgtbl-mode makes this possible. You can always toggle
1321the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for 1313the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for
1322example in mail mode, use 1314example in mail mode, use
1315
1323@lisp 1316@lisp
1324(add-hook 'mail-mode-hook 'turn-on-orgtbl) 1317(add-hook 'mail-mode-hook 'turn-on-orgtbl)
1325@end lisp 1318@end lisp
@@ -1362,46 +1355,81 @@ Just like HMTL, Org-mode provides links inside a file, and external
1362links to other files, Usenet articles, emails and much more. 1355links to other files, Usenet articles, emails and much more.
1363 1356
1364@menu 1357@menu
1365* Internal Links:: Links to other places in the current file 1358* Link format:: How links in Org-mode are formatted
1366* External Links:: URL-like links to the world 1359* Internal links:: Links to other places in the current file
1360* External links:: URL-like links to the world
1367* Managing links:: Creating, inserting and following 1361* Managing links:: Creating, inserting and following
1368* Search Options:: Linking to a specific location 1362* Search Options:: Linking to a specific location
1369* Remember:: Org-trees store quick notes 1363* Remember:: Org-trees store quick notes
1370@end menu 1364@end menu
1371 1365
1372@node Internal Links, External Links, Hyperlinks, Hyperlinks 1366@node Link format, Internal links, Hyperlinks, Hyperlinks
1373@section Internal Links 1367@section Link format
1368@cindex link format
1369@cindex format, of links
1370
1371Org-mode will recognize plain URL-like links and activate them as
1372clickable links. However, the general link format looks like this:
1373
1374@example
1375[[link][description]] @r{or alternatively} [[link]]
1376@end example
1377
1378Once a link in the buffer is complete (all brackets present), Org-mode
1379will change the display so that @samp{description} is displayed instead
1380of @samp{[[link][description]]} and @samp{link} is displayed instead of
1381@samp{[[link]]}. Links will be highlighted in the face @code{org-link},
1382which by default is an underlined face. You can directly edit the
1383visible part of a link. Note that this can be either the @samp{link}
1384part (if there is not description) or the @samp{description} part. To
1385edit also the invisible @samp{link} part, use @kbd{C-c C-l} with the
1386cursor on the link.
1387
1388If you place the cursor at the beginning or just behind the end of the
1389displayed text and press @key{BACKSPACE}, you will remove the
1390(invisible) bracket at that location. This makes the link incomplete
1391and the internals are again displayed as plain text. Inserting the
1392missing bracket does hide the link internals again. To show the
1393internal structure of all links, use the menu entry
1394@code{Org->Hyperlinks->Literal links}.
1395
1396@node Internal links, External links, Link format, Hyperlinks
1397@section Internal links
1374@cindex internal links 1398@cindex internal links
1375@cindex links, internal 1399@cindex links, internal
1376@cindex CamelCase links 1400@cindex CamelCase links
1377 1401
1378Strings inside double brackets like @samp{[[My Target]]} are links 1402If the link text does not look like a URL, links are considered to be
1379that lead to a text search in the current file. The link can be 1403internal in the current file. Links such as @samp{[[My Target]]} or
1380followed with @kbd{C-c C-o} or with a mouse click (@pxref{Managing 1404@samp{[[My Target][Find my target]]} lead to a text search in the
1381links}). The preferred match for such a link is a dedicated target: 1405current file. The link can be followed with @kbd{C-c C-o} when the
1382The same string in double angular brackets. Targets may be located 1406cursor is on the link, or with a mouse click (@pxref{Managing links}).
1383anywhere, often it is convenient to put them into a comment line, for 1407The preferred match for such a link is a dedicated target: The same
1384example 1408string in double angular brackets. Targets may be located anywhere,
1409often it is convenient to put them into a comment line, for example
1410
1385@example 1411@example
1386# <<My Target>> 1412# <<My Target>>
1387@end example 1413@end example
1388 1414
1389If no dedicated target exists, Org-mode will search for the words in 1415If no dedicated target exists, Org-mode will search for the words in the
1390the link, in the above example for @samp{my target}. Links starting 1416link, often removing the need for a dedicated target. In the above
1391with a star like @samp{*My Target} restrict the search to headlines. 1417example the search would be for @samp{my target}. Links starting with a
1392When searching, Org-mode will first try an exact match, but then move 1418star like @samp{*My Target} restrict the search to headlines. When
1393on to more and more lenient searches. For example, the link 1419searching, Org-mode will first try an exact match, but then move on to
1394@samp{[[*My Targets]]} will find any of the following 1420more and more lenient searches. For example, the link @samp{[[*My
1421Targets]]} will find any of the following:
1422
1395@example 1423@example
1396** My targets 1424** My targets
1397** TODO my targets are bright 1425** TODO my targets are bright
1398** my 20 targets are 1426** my 20 targets are
1399@end example 1427@end example
1400It is therefore often not necessary to set a dedicated target. To 1428
1401insert a link targeting a headline, in-buffer completion can be used. 1429To insert a link targeting a headline, in-buffer completion can be used.
1402Just type a star followed by a few optional letters into the buffer 1430Just type a star followed by a few optional letters into the buffer and
1403and press @kbd{M-@key{TAB}}. All headlines in the current buffer will 1431press @kbd{M-@key{TAB}}. All headlines in the current buffer will be
1404be offered as completions. @xref{Managing links}, for more commands 1432offered as completions. @xref{Managing links}, for more commands
1405creating links. 1433creating links.
1406 1434
1407Following a link pushes a mark onto Org-mode's own mark ring. You can 1435Following a link pushes a mark onto Org-mode's own mark ring. You can
@@ -1414,7 +1442,7 @@ earlier.
1414* CamelCase links:: Activating CamelCase words as links 1442* CamelCase links:: Activating CamelCase words as links
1415@end menu 1443@end menu
1416 1444
1417@node Radio targets, CamelCase links, Internal Links, Internal Links 1445@node Radio targets, CamelCase links, Internal links, Internal links
1418@subsection Radio targets 1446@subsection Radio targets
1419 1447
1420You can configure Org-mode to link any occurrences of certain target 1448You can configure Org-mode to link any occurrences of certain target
@@ -1427,24 +1455,20 @@ scanned automatically for radio targets only when the file is first
1427loaded into Emacs. To update the target list during editing, press 1455loaded into Emacs. To update the target list during editing, press
1428@kbd{C-c C-c} with the cursor on or at a target. 1456@kbd{C-c C-c} with the cursor on or at a target.
1429 1457
1430@node CamelCase links, , Radio targets, Internal Links 1458@node CamelCase links, , Radio targets, Internal links
1431@subsection CamelCase words as links 1459@subsection CamelCase words as links
1432@cindex completion, of CamelCase links 1460@cindex completion, of CamelCase links
1433@cindex CamelCase links, completion of 1461@cindex CamelCase links, completion of
1434 1462
1435As an alternative to @samp{[[...]]} links, Org-mode also supports 1463Org-mode also supports CamelCase words as links. This feature is not
1436CamelCase words as links. This feature is not turned on by default 1464turned on by default because of the inconsistencies this system suffers
1437because of the occasional inconsistencies this system suffers from. 1465from. To activate CamelCase words as links, you need to customize
1438To activate CamelCase words as links, and to make headline completion 1466the option @code{org-activate-links}. A CamelCase word then leads to a
1439offer CamelCase version of headlines, the following customization is 1467text search such that @samp{CamelCaseLink} is equivalent to
1440needed: 1468@samp{[[camel case link]]}.
1441@lisp
1442(setq org-activate-camels t
1443 org-file-link-context-use-camel-case t)
1444@end lisp
1445 1469
1446@node External Links, Managing links, Internal Links, Hyperlinks 1470@node External links, Managing links, Internal links, Hyperlinks
1447@section External Links 1471@section External links
1448@cindex links, external 1472@cindex links, external
1449@cindex external links 1473@cindex external links
1450@cindex links, external 1474@cindex links, external
@@ -1460,39 +1484,46 @@ needed:
1460@cindex SHELL links 1484@cindex SHELL links
1461 1485
1462Org-mode supports links to files, websites, Usenet and email messages; 1486Org-mode supports links to files, websites, Usenet and email messages;
1463and BBDB database entries. Links are just plain-text URL-like 1487and BBDB database entries. External links are URL-like locators. The
1464locators, optionally enclosed by angular brackets. The following list 1488following list shows examples for each link type.
1465shows examples for each link type.
1466 1489
1467@example 1490@example
1468<http://www.astro.uva.nl/~dominik> @r{on the web} 1491http://www.astro.uva.nl/~dominik @r{on the web}
1469<file:/home/dominik/images/jupiter.jpg> @r{file, absolute path} 1492file:/home/dominik/images/jupiter.jpg @r{file, absolute path}
1470<file:papers/last.pdf> @r{file, relative path} 1493file:papers/last.pdf @r{file, relative path}
1471<news:comp.emacs> @r{Usenet link} 1494news:comp.emacs @r{Usenet link}
1472<mailto:adent@@galaxy.net> @r{Mail link} 1495mailto:adent@@galaxy.net @r{Mail link}
1473<vm:folder> @r{VM folder link} 1496vm:folder @r{VM folder link}
1474<vm:folder#id> @r{VM message link} 1497vm:folder#id @r{VM message link}
1475<vm://myself@@some.where.org/folder#id> @r{VM on remote machine} 1498vm://myself@@some.where.org/folder#id @r{VM on remote machine}
1476<wl:folder> @r{WANDERLUST folder link} 1499wl:folder @r{WANDERLUST folder link}
1477<wl:folder#id> @r{WANDERLUST message link} 1500wl:folder#id @r{WANDERLUST message link}
1478<mhe:folder> @r{MH-E folder link} 1501mhe:folder @r{MH-E folder link}
1479<mhe:folder#id> @r{MH-E message link} 1502mhe:folder#id @r{MH-E message link}
1480<rmail:folder> @r{RMAIL folder link} 1503rmail:folder @r{RMAIL folder link}
1481<rmail:folder#id> @r{RMAIL message link} 1504rmail:folder#id @r{RMAIL message link}
1482<gnus:group> @r{GNUS group link} 1505gnus:group @r{GNUS group link}
1483<gnus:group#id> @r{GNUS article link} 1506gnus:group#id @r{GNUS article link}
1484<bbdb:Richard Stallman> @r{BBDB link} 1507bbdb:Richard Stallman @r{BBDB link}
1485<shell:ls *.org>@footnote{Note that @samp{<} and @samp{>} cannot be part of a link, and therefore of a shell command. If you need redirection, use @@@{ and @@@} instead.} @r{A shell command} 1508shell:ls *.org @r{A shell command}
1486@end example 1509@end example
1487 1510
1488A link may contain space characters and is terminated by @samp{>} or by 1511A link should be enclosed in double brackets and may contain a
1489the end of a line. In tables, the end of a table field also terminates 1512descriptive text to be displayed instead of the url (@pxref{Link
1490a link. Angle brackets around a link are not required, but are 1513format}), for example:
1491recommended to avoid problems with punctuation and other text following 1514
1492the link. See also the variable @code{org-allow-space-in-links}. 1515@example
1516[[http://www.gnu.org/software/emacs/][GNU Emacs]]
1517@end example
1493 1518
1519@cindex angular brackets, around links
1520@cindex plain text external links
1521Org-mode also finds external links in the normal text and activates them
1522as links. If spaces must be part of the link (for example in
1523@samp{bbdb:Richard Stallman}) or to remove ambiguities about the end of
1524the link, enclose them in angular brackets.
1494 1525
1495@node Managing links, Search Options, External Links, Hyperlinks 1526@node Managing links, Search Options, External links, Hyperlinks
1496@section Managing links 1527@section Managing links
1497 1528
1498Org-mode provides methods to create a link in the correct syntax, to 1529Org-mode provides methods to create a link in the correct syntax, to
@@ -1504,53 +1535,63 @@ insert it into an org-mode file, and to follow the link.
1504@item C-c l 1535@item C-c l
1505Store a link to the current location. This is a @emph{global} command 1536Store a link to the current location. This is a @emph{global} command
1506which can be used in any buffer to create a link. The link will be 1537which can be used in any buffer to create a link. The link will be
1507stored for later insertion into an Org-mode buffer (see below). For 1538stored for later insertion into an Org-mode buffer (see below). For VM,
1508VM, RMAIL, WANDERLUST, GNUS and BBDB buffers, the link will point to 1539RMAIL, WANDERLUST, MH-E, GNUS and BBDB buffers, the link will point to
1509the current article/entry. For W3 and W3M buffer, the link goes to 1540the current article/entry. For W3 and W3M buffers, the link goes to the
1510the current URL. For Org-mode files, the current headline is 1541current URL. For Org-mode files, the current headline is targeted. For
1511targeted. For any other files, the link will point to the file, with 1542any other files, the link will point to the file, with a search string
1512a search string (@pxref{Search Options}) pointing to the 1543(@pxref{Search Options}) pointing to the contents of the current line.
1513contents of the current line. If there is an active region, the 1544If there is an active region, the selected words will form the basis of
1514selected words will form the basis of the search string. The key 1545the search string. The key binding @kbd{C-c l} is only a suggestion -
1515binding @kbd{C-c l} is only a suggestion - see @ref{Installation and 1546see @ref{Installation and activation}.
1516Activation}.
1517 1547
1518@kindex C-c C-l 1548@kindex C-c C-l
1519@cindex link completion 1549@cindex link completion
1520@cindex file name completion
1521@cindex completion, of links 1550@cindex completion, of links
1522@cindex completion, of file names
1523@cindex inserting links 1551@cindex inserting links
1524@item C-c C-l 1552@item C-c C-l
1525Insert a link. This prompts for a link to be inserted into the 1553Insert a link. This prompts for a link to be inserted into the buffer.
1526buffer. You can just type a link, using one of the link type prefixes 1554You can just type a link, using text for an internal link, or one of the
1527mentioned in the examples above. Through completion, all links stored 1555link type prefixes mentioned in the examples above. Through completion,
1528during the current session can be accessed. When called with prefix 1556all links stored during the current session can be accessed. The link
1529arg, you can use file name completion to enter a file link. The link
1530will be formatted as given in the variable @code{org-link-format} and 1557will be formatted as given in the variable @code{org-link-format} and
1531inserted into the buffer. Note that you don't have to use this 1558inserted into the buffer, along with a descriptive text. Note that you
1532command to insert a link. Links in Org-mode are plain text, and you 1559don't have to use this command to insert a link. Links in Org-mode are
1533can type or paste them straight into the buffer. 1560plain text, and you can type or paste them straight into the buffer.
1561By using this command, the links are automatically enclosed in double
1562brackets, and you will be asked for the optional descriptive text.
1563
1564@kindex C-u C-c C-l
1565@cindex file name completion
1566@cindex completion, of file names
1567@item C-u C-c C-l
1568When @kbd{C-c C-l} is called with a @kbd{C-u} prefix argument, a link to
1569a file will be inserted and you may use file name completion to select
1570the name of the file. The path to the file is inserted relative to the
1571directory of the current org file, if the linked file is in the current
1572directory or in a subdirectory of it. Otherwise an absolute path, if
1573possible with @samp{~/} for your home directory is used. You can force
1574an absolute path with two @kbd{C-u} prefixes.
1575
1576@item C-c C-l @r{with cursor on existing link}
1577When the cursor is on an existing link, @kbd{C-c C-l} allows to edit the
1578link and description parts of the link.
1534 1579
1535@cindex following links 1580@cindex following links
1536@kindex C-c C-o 1581@kindex C-c C-o
1537@item C-c C-o 1582@item C-c C-o
1538Open link at point. This will launch a web browser for URLs (using 1583Open link at point. This will launch a web browser for URLs (using
1539@command{browse-url-at-point}), run vm/gnus/bbdb for the corresponding 1584@command{browse-url-at-point}), run vm/mh-e/wanderlust/rmail/gnus/bbdb
1540links, and execute the command in a shell link. When the cursor is on 1585for the corresponding links, and execute the command in a shell link.
1541a CamelCase link, this commands runs the corresponding search. When 1586When the cursor is on an internal link, this commands runs the
1542the cursor is on a TAGS list in a headline, it creates the 1587corresponding search. When the cursor is on a TAGS list in a headline,
1543corresponding TAGS view. Furthermore, it will visit text files in 1588it creates the corresponding TAGS view. If the cursor is on a time
1544@samp{file:} links with Emacs and select a suitable application for 1589stamp, it compiles the agenda for that date. Furthermore, it will visit
1545non-text files. Classification of files is based on file extension 1590text files in @samp{file:} links with Emacs and select a suitable
1546only. See option @code{org-file-apps}. If there is no link at point, 1591application for non-text files. Classification of files is based on
1547the current subtree will be searched for one. If you want to override 1592file extension only. See option @code{org-file-apps}. If you want to
1548the default application and visit the file with Emacs, use a @kbd{C-u} 1593override the default application and visit the file with Emacs, use a
1549prefix. If the cursor is on a time stamp, compiles the agenda for 1594@kbd{C-u} prefix.
1550that date.
1551
1552@strong{IMPORTANT}: Be careful not to use any dangerous commands in a
1553shell link.
1554 1595
1555@kindex mouse-2 1596@kindex mouse-2
1556@kindex mouse-1 1597@kindex mouse-1
@@ -1589,12 +1630,14 @@ particular location in the file when following a link. This can be a
1589line number or a search option after a double@footnote{For backward 1630line number or a search option after a double@footnote{For backward
1590compatibility, line numbers can also follow a single colon.} colon. 1631compatibility, line numbers can also follow a single colon.} colon.
1591For example: 1632For example:
1633
1592@example 1634@example
1593<file:~/code/main.c::255> 1635[[file:~/code/main.c::255]]
1594<file:~/xx.org::My Target> 1636[[file:~/xx.org::My Target]]
1595<file:~/xx.org::*My Target> 1637[[file:~/xx.org::*My Target]]
1596<file:~/xx.org::/regexp/> 1638[[file:~/xx.org::/regexp/]]
1597@end example 1639@end example
1640
1598@noindent Here is what these options do. 1641@noindent Here is what these options do.
1599 1642
1600@table @code 1643@table @code
@@ -1603,7 +1646,7 @@ Jump to line 255.
1603@item My Target 1646@item My Target
1604Search for a link target @samp{<<My Target>>}, or do a text search for 1647Search for a link target @samp{<<My Target>>}, or do a text search for
1605@samp{my target}, similar to the search in internal links, see 1648@samp{my target}, similar to the search in internal links, see
1606@ref{Internal Links}. 1649@ref{Internal links}.
1607@item *My Target 1650@item *My Target
1608In an Org-mode file, restrict search to headlines. 1651In an Org-mode file, restrict search to headlines.
1609@item /regexp/ 1652@item /regexp/
@@ -1632,29 +1675,65 @@ information. The notes produced by @emph{Remember} can be stored in
1632different ways, and Org-mode files are a good target. Org-mode allows 1675different ways, and Org-mode files are a good target. Org-mode allows
1633to file away notes either to a default file, or directly to the 1676to file away notes either to a default file, or directly to the
1634correct location in your Org-mode outline tree. The following 1677correct location in your Org-mode outline tree. The following
1635customization@footnote{The two autoload forms are only necessary if 1678customization@footnote{The three autoload forms are only necessary if
1636@file{org.el} is not part of the Emacs distribution or an XEmacs 1679@file{org.el} is not part of the Emacs distribution or an XEmacs
1637package.} will tell @emph{Remember} to use org files as target, and to 1680package.} will tell @emph{Remember} to use org files as target, and to
1638create annotations compatible with Org-mode links. 1681create annotations compatible with Org-mode links.
1639 1682
1640@example 1683@example
1641(autoload 'org-remember-annotation "org")
1642(autoload 'org-remember-handler "org")
1643(setq org-directory "~/path/to/my/orgfiles/") 1684(setq org-directory "~/path/to/my/orgfiles/")
1644(setq org-default-notes-file "~/.notes") 1685(setq org-default-notes-file "~/.notes")
1686(autoload 'org-remember-annotation "org")
1687(autoload 'org-remember-apply-template "org")
1688(autoload 'org-remember-handler "org")
1645(setq remember-annotation-functions '(org-remember-annotation)) 1689(setq remember-annotation-functions '(org-remember-annotation))
1646(setq remember-handler-functions '(org-remember-handler)) 1690(setq remember-handler-functions '(org-remember-handler))
1691(add-hook 'remember-mode-hook 'org-remember-apply-template)
1692@end example
1693
1694@cindex templates, for remember
1695In combination with Org-mode, you can use templates to generate
1696different types of remember notes. For example, if you would like to
1697use one template to create general TODO entries, and another one for
1698journal entries, you could use:
1699
1700@example
1701(setq org-remember-templates
1702 '((?t "* TODO %?\n %i\n %a" "~/org/TODO.org")
1703 (?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org")))
1647@end example 1704@end example
1648 1705
1649When you compose a note with remember, you have to press @kbd{C-c C-c} 1706@noindent In these entries, the character specifies how to select the
1650to exit remember-mode and to file away the note. The handler first 1707template, the first string specifies the template, and the (optional)
1651prompts for a target file - if you press @key{RET}, the value of 1708second string specifies a default file (overruling
1709@code{org-default-notes-file}) as a target for this note.
1710
1711When you call @kbd{M-x remember} to remember something, org will prompt
1712for a key to select the template and then prepare the buffer like
1713@example
1714* TODO
1715 <file:link to where you called remember>
1716@end example
1717
1718@noindent or
1719
1720@example
1721* [2006-03-21 Tue 15:37]
1722
1723 <file:link to where you called remember>
1724@end example
1725
1726@noindent See the variable @code{org-remember-templates} for more details.
1727
1728When you are finished composing a note with remember, you have to press
1729@kbd{C-c C-c} to file the note away. The handler first prompts for a
1730target file - if you press @key{RET}, the value of
1652@code{org-default-notes-file} is used. Then the command offers the 1731@code{org-default-notes-file} is used. Then the command offers the
1653headings tree of the selected file. You can either immediately press 1732headings tree of the selected file. You can either immediately press
1654@key{RET} to get the note appended to the file. Or you can use 1733@key{RET} to get the note appended to the file. Or you can use vertical
1655vertical cursor motion (@key{up} and @key{down}) and visibility 1734cursor motion (@key{up} and @key{down}) and visibility cycling
1656cycling (@key{TAB}) to find a better place. Pressing @key{RET} or 1735(@key{TAB}) to find a better place. Pressing @key{RET} or @key{left} or
1657@key{left} or @key{right} leads to the following result. 1736@key{right} leads to the following result.
1658 1737
1659@multitable @columnfractions 0.2 0.1 0.7 1738@multitable @columnfractions 0.2 0.1 0.7
1660@item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted} 1739@item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted}
@@ -1680,6 +1759,7 @@ additional data. If the variable @code{org-adapt-indentation} is
1680non-nil, the entire text is also indented so that it starts in the 1759non-nil, the entire text is also indented so that it starts in the
1681same column as the headline (after the asterisks). 1760same column as the headline (after the asterisks).
1682 1761
1762
1683@node TODO items, Timestamps, Hyperlinks, Top 1763@node TODO items, Timestamps, Hyperlinks, Top
1684@chapter TODO items 1764@chapter TODO items
1685@cindex TODO items 1765@cindex TODO items
@@ -1697,16 +1777,16 @@ things you have to do.
1697 1777
1698@menu 1778@menu
1699* TODO basics:: Marking and displaying TODO entries 1779* TODO basics:: Marking and displaying TODO entries
1700* Progress Logging:: Document your productivity 1780* Progress logging:: Document your productivity
1701* TODO extensions:: Workflow and assignments 1781* TODO extensions:: Workflow and assignments
1702* Priorities:: Some things are more important than others 1782* Priorities:: Some things are more important than others
1703@end menu 1783@end menu
1704 1784
1705@node TODO basics, Progress Logging, TODO items, TODO items 1785@node TODO basics, Progress logging, TODO items, TODO items
1706@section Basic TODO functionality 1786@section Basic TODO functionality
1707 1787
1708Any headline can become a TODO item by starting it with the word TODO, 1788Any headline can become a TODO item by starting it with the word TODO,
1709for example 1789for example:
1710 1790
1711@example 1791@example
1712*** TODO Write letter to Sam Fortune 1792*** TODO Write letter to Sam Fortune
@@ -1720,10 +1800,12 @@ The most important commands to work with TODO entries are:
1720@cindex cycling, of TODO states 1800@cindex cycling, of TODO states
1721@item C-c C-t 1801@item C-c C-t
1722Rotate the TODO state of the current item between 1802Rotate the TODO state of the current item between
1803
1723@example 1804@example
1724,-> (unmarked) -> TODO -> DONE --. 1805,-> (unmarked) -> TODO -> DONE --.
1725'--------------------------------' 1806'--------------------------------'
1726@end example 1807@end example
1808
1727The same rotation can also be done ``remotely'' from the timeline and 1809The same rotation can also be done ``remotely'' from the timeline and
1728agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). 1810agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}).
1729@kindex C-c C-v 1811@kindex C-c C-v
@@ -1746,15 +1828,17 @@ If you would like to have all your TODO items listed as part of your
1746agenda, customize the variable @code{org-agenda-include-all-todo}. 1828agenda, customize the variable @code{org-agenda-include-all-todo}.
1747@end table 1829@end table
1748 1830
1749@node Progress Logging, TODO extensions, TODO basics, TODO items 1831@node Progress logging, TODO extensions, TODO basics, TODO items
1750@section Progress Logging 1832@section Progress Logging
1751@cindex progress logging 1833@cindex progress logging
1752@cindex logging, of progress 1834@cindex logging, of progress
1753If you want to keep track of @emph{when} a certain TODO item was 1835If you want to keep track of @emph{when} a certain TODO item was
1754finished, turn on logging with 1836finished, turn on logging with
1837
1755@lisp 1838@lisp
1756(setq org-log-done t) 1839(setq org-log-done t)
1757@end lisp 1840@end lisp
1841
1758@noindent 1842@noindent
1759Then each time you turn a TODO entry into DONE using either @kbd{C-c 1843Then each time you turn a TODO entry into DONE using either @kbd{C-c
1760C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line 1844C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line
@@ -1765,16 +1849,18 @@ state cycling, that line will be removed again. In the timeline
1765you can then use the @kbd{L} key to display the TODO items closed on 1849you can then use the @kbd{L} key to display the TODO items closed on
1766each day, giving you an overview of what has been done on a day. 1850each day, giving you an overview of what has been done on a day.
1767 1851
1768@node TODO extensions, Priorities, Progress Logging, TODO items 1852@node TODO extensions, Priorities, Progress logging, TODO items
1769@section Extended use of TODO keywords 1853@section Extended use of TODO keywords
1770@cindex extended TODO keywords 1854@cindex extended TODO keywords
1771 1855
1772The default implementation of TODO entries is just two states: TODO 1856The default implementation of TODO entries is just two states: TODO and
1773and DONE. You can, however, use the TODO feature for more 1857DONE. You can, however, use the TODO feature for more complicated
1774complicated things by configuring the variables 1858things by configuring the variables @code{org-todo-keywords} and
1775@code{org-todo-keywords} and @code{org-todo-interpretation}. Using 1859@code{org-todo-interpretation}. Using special setup, you can even use
1776special setup, you can even use TODO keywords in different ways in 1860TODO keywords in different ways in different org files.
1777different org files. 1861
1862Note that @i{tags} are another way to classify headlines in general and
1863TODO items in particular (@pxref{Tags}).
1778 1864
1779@menu 1865@menu
1780* Workflow states:: From TODO to DONE in steps 1866* Workflow states:: From TODO to DONE in steps
@@ -1788,7 +1874,7 @@ different org files.
1788@cindex workflow states as TODO keywords 1874@cindex workflow states as TODO keywords
1789 1875
1790You can use TODO keywords to indicate different states in the process 1876You can use TODO keywords to indicate different states in the process
1791of working on an item, for example 1877of working on an item, for example:
1792 1878
1793@lisp 1879@lisp
1794(setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE") 1880(setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE")
@@ -1836,7 +1922,7 @@ Use prefix arguments or completion to quickly select a specific name.
1836You can also review the items of a specific TODO type in a sparse tree 1922You can also review the items of a specific TODO type in a sparse tree
1837by using a numeric prefix to @kbd{C-c C-v}. For example, to see all 1923by using a numeric prefix to @kbd{C-c C-v}. For example, to see all
1838things Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect 1924things Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect
1839collect Lucy's items from all agenda files into a single buffer, you 1925Lucy's items from all agenda files into a single buffer, you
1840would use the prefix arg as well when creating the global todo list: 1926would use the prefix arg as well when creating the global todo list:
1841@kbd{C-3 C-c t}. 1927@kbd{C-3 C-c t}.
1842 1928
@@ -1922,7 +2008,7 @@ Furthermore, these keys are also used by CUA-mode
1922(@pxref{Interaction}). 2008(@pxref{Interaction}).
1923@end table 2009@end table
1924 2010
1925@node Timestamps, Agenda Views, TODO items, Top 2011@node Timestamps, Tags, TODO items, Top
1926@chapter Timestamps 2012@chapter Timestamps
1927 2013
1928Items can be labeled with timestamps to make them useful for project 2014Items can be labeled with timestamps to make them useful for project
@@ -1945,7 +2031,7 @@ planning.
1945A time stamp is a specification of a date (possibly with time) in a 2031A time stamp is a specification of a date (possibly with time) in a
1946special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 2032special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16
1947Tue 09:39>}. A time stamp can appear anywhere in the headline or body 2033Tue 09:39>}. A time stamp can appear anywhere in the headline or body
1948of an org-tree entry. Its presence allows to show entries on specific 2034of an org-tree entry. Its presence allows entries to be shown on specific
1949dates in the agenda (@pxref{Weekly/Daily Agenda}). We distinguish: 2035dates in the agenda (@pxref{Weekly/Daily Agenda}). We distinguish:
1950 2036
1951@table @var 2037@table @var
@@ -2011,12 +2097,13 @@ this command is used twice in succession, a time range is inserted.
2011@kindex C-u C-c . 2097@kindex C-u C-c .
2012@item C-u C-c . 2098@item C-u C-c .
2013Like @kbd{C-c .}, but use the alternative format which contains date 2099Like @kbd{C-c .}, but use the alternative format which contains date
2014and time. 2100and time. The default time can be rounded to multiples of 5 minutes,
2101see the option @code{org-time-stamp-rounding-minutes}.
2015 2102
2016@kindex C-c ! 2103@kindex C-c !
2017@item C-c ! 2104@item C-c !
2018Like @kbd{C-c .}, but insert an inactive time stamp not triggering the 2105Like @kbd{C-c .}, but insert an inactive time stamp not triggering the
2019agenda. 2106agenda.
2020 2107
2021@kindex C-c < 2108@kindex C-c <
2022@item C-c < 2109@item C-c <
@@ -2118,18 +2205,123 @@ One month back.
2118Choose date in calendar (only if nothing typed into minibuffer). 2205Choose date in calendar (only if nothing typed into minibuffer).
2119@end table 2206@end table
2120 2207
2121@node Agenda Views, Exporting, Timestamps, Top 2208@node Tags, Agenda Views, Timestamps, Top
2209@chapter Tags
2210@cindex tags
2211@cindex headline tagging
2212@cindex matching, tags
2213@cindex sparse tree, tag based
2214
2215If you wish to implement a system to cross-correlate information, an
2216excellent way is to assign @i{tags} to headline. Org-mode has
2217extensive support for using tags.
2218
2219Every headline can contain a list of tags, at the end of the headline.
2220Tags are normal words containing letters, numbers, @samp{_}, and
2221@samp{@@}. Tags must be preceded and followed by a single colon; like
2222@samp{:WORK:}. Several tags can be specified like @samp{:WORK:URGENT:}.
2223
2224@menu
2225* Tag inheritance:: Tags use the tree structure of the outline
2226* Setting tags:: How to assign tags to a headline
2227* Tag searches:: Searching for combinations of tags
2228@end menu
2229
2230@node Tag inheritance, Setting tags, Tags, Tags
2231@section Tag inheritance
2232@cindex inheritance, of tags
2233
2234@i{Tags} make use of the hierarchical structure of outline trees. If a
2235heading has a certain tag, all subheadings will inherit the tag as
2236well. For example, in the list
2237
2238@example
2239* Meeting with the French group :WORK:
2240** Summary by Frank :BOSS:NOTES:
2241*** TODO Prepare slides for him :ACTION:
2242@end example
2243
2244@noindent
2245the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:},
2246@samp{:NOTES:}, and @samp{:ACTION:}. When executing tag searches and
2247Org-mode finds that a certain headline matches the search criterion, it
2248will not check any sublevel headline, assuming that these likely also
2249match, and that the list of matches can become very long. However, this
2250may not be what you want, and you can influence inheritance and
2251searching using the variables @code{org-use-tag-inheritance} and
2252@code{org-tags-match-list-sublevels}.
2253
2254@node Setting tags, Tag searches, Tag inheritance, Tags
2255@section Setting tags
2256@cindex setting tags
2257
2258@kindex M-@key{TAB}
2259As Org-mode deals with plain text files, tags can simply be typed into
2260the buffer. After a colon, @kbd{M-@key{TAB}} offers completion on all
2261tags being used in the current buffer. There is also a special command
2262for inserting tags:
2263
2264@table @kbd
2265@kindex C-c C-c
2266@item C-c C-c
2267@cindex completion, of tags
2268Enter new tags for the current headline. The minibuffer will prompt for
2269a list of tags and offer completion with respect to all other tags used
2270in the current buffer. Several tags, separated by colons, may be
2271specified at the prompt. After pressing @key{RET}, the tags will be
2272inserted and aligned to @code{org-tags-column}. When called with a
2273@kbd{C-u} prefix, all tags in the current buffer will be aligned to that
2274column, just to make things look nice. TAGS are automatically realigned
2275after promotion, demotion, and TODO state changes (@pxref{TODO basics}).
2276@end table
2277
2278@node Tag searches, , Setting tags, Tags
2279@section Tag searches
2280@cindex tag searches
2281
2282Once a tags system has been set up, it can be used to collect related
2283information into special lists.
2284
2285@table @kbd
2286@kindex C-c \
2287@item C-c \
2288Create a sparse tree with all headlines matching a tags search.
2289@kindex C-c a m
2290@item C-c a m
2291Create a global list of tag matches from all agenda files.
2292@xref{Matching headline tags}.
2293@kindex C-c a M
2294@item C-c a M
2295Create a global list of tag matches from all agenda files, but check
2296only TODO items and force checking subitems (see variable
2297@code{org-tags-match-list-sublevels}).
2298@end table
2299
2300A @i{tags} search string can use Boolean operators @samp{&} for AND and
2301@samp{|} for OR. @samp{&} binds more strongly than @samp{|}.
2302Parenthesis are currently not implemented. A tag may also be preceded
2303by @samp{-}, to select against it, and @samp{+} is syntactic sugar for
2304positive selection. The AND operator @samp{&} is optional when @samp{+}
2305or @samp{-} is present. For example, @samp{+WORK-BOSS} would select all
2306headlines that are tagged @samp{:WORK:}, but discard those also tagged
2307@samp{:BOSS:}. The search string @samp{WORK|LAPTOP} selects all lines
2308tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string
2309@samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are
2310also tagged @samp{NIGHT}.
2311
2312@node Agenda Views, Exporting, Tags, Top
2122@chapter Agenda Views 2313@chapter Agenda Views
2123@cindex agenda views 2314@cindex agenda views
2124 2315
2125Due to the way Org-mode works, TODO items and time-stamped items can 2316Due to the way Org-mode works, TODO items, time-stamped items, and
2126be scattered throughout a file or even a number of files. To get an 2317tagged headlines can be scattered throughout a file or even a number of
2127overview over open action items, or over events that are important for 2318files. To get an overview over open action items, or over events that
2128a particular date, this information must be collected, sorted and 2319are important for a particular date, this information must be collected,
2129displayed in an organized way. 2320sorted and displayed in an organized way.
2130 2321
2131Org-mode can select items based on various criteria, and display them 2322Org-mode can select items based on various criteria, and display them
2132in a separate buffer. Three different views are provided: 2323in a separate buffer. Three different views are provided:
2324
2133@itemize @bullet 2325@itemize @bullet
2134@item 2326@item
2135an @emph{agenda} that is like a calendar and shows information 2327an @emph{agenda} that is like a calendar and shows information
@@ -2141,6 +2333,7 @@ action items, and
2141a @emph{tags view} that shows information based on 2333a @emph{tags view} that shows information based on
2142the tags associated with headlines in the outline tree. 2334the tags associated with headlines in the outline tree.
2143@end itemize 2335@end itemize
2336
2144@noindent 2337@noindent
2145The extracted information is displayed in a special @emph{agenda 2338The extracted information is displayed in a special @emph{agenda
2146buffer}. This buffer is read-only, but provides commands to visit the 2339buffer}. This buffer is read-only, but provides commands to visit the
@@ -2161,7 +2354,9 @@ edit these files remotely.
2161@section Agenda files 2354@section Agenda files
2162 2355
2163The information to be shown is collected from all @emph{agenda files}, 2356The information to be shown is collected from all @emph{agenda files},
2164the files listed in the variable @code{org-agenda-files}. Thus even 2357the files listed in the variable @code{org-agenda-files}@footnote{If the
2358value of that variable is not a list, but a single file name, then the
2359list of agenda files will be maintained in that external file.}. Thus even
2165if you only work with a single Org-mode file, this file should be put 2360if you only work with a single Org-mode file, this file should be put
2166into that list@footnote{When using the dispatcher pressing @kbd{1} 2361into that list@footnote{When using the dispatcher pressing @kbd{1}
2167before selecting a command will actually limit the command to the 2362before selecting a command will actually limit the command to the
@@ -2181,8 +2376,9 @@ the front. With prefix arg, file is added/moved to the end.
2181Remove current file from the list of agenda files. 2376Remove current file from the list of agenda files.
2182@kindex C-, 2377@kindex C-,
2183@item C-, 2378@item C-,
2184Cycle through agenda file list. 2379Cycle through agenda file list, visiting one file after the other.
2185@end table 2380@end table
2381
2186@noindent 2382@noindent
2187The Org menu contains the current list of files and can be used 2383The Org menu contains the current list of files and can be used
2188to visit any of them. 2384to visit any of them.
@@ -2195,7 +2391,7 @@ to visit any of them.
2195@cindex agenda commands, custom 2391@cindex agenda commands, custom
2196The views are created through a dispatcher that should be bound to a 2392The views are created through a dispatcher that should be bound to a
2197global key, for example @kbd{C-c a} (@pxref{Installation and 2393global key, for example @kbd{C-c a} (@pxref{Installation and
2198Activation}). In the following we will assume that @kbd{C-c a} is 2394activation}). In the following we will assume that @kbd{C-c a} is
2199indeed how the dispatcher is accessed and list keyboard access to 2395indeed how the dispatcher is accessed and list keyboard access to
2200commands accordingly. After pressing @kbd{C-c a}, an additional 2396commands accordingly. After pressing @kbd{C-c a}, an additional
2201letter is required to execute a command. The dispatcher offers the 2397letter is required to execute a command. The dispatcher offers the
@@ -2206,7 +2402,7 @@ Create the calendar-like agenda (@pxref{Weekly/Daily Agenda}).
2206@item t / T 2402@item t / T
2207Create a list of all TODO items (@pxref{Global TODO list}). 2403Create a list of all TODO items (@pxref{Global TODO list}).
2208@item m / M 2404@item m / M
2209Create a list of headline matching a TAGS expression (@pxref{Matching 2405Create a list of headlines matching a TAGS expression (@pxref{Matching
2210headline tags}). 2406headline tags}).
2211@end table 2407@end table
2212 2408
@@ -2222,6 +2418,7 @@ Custom commands are configured in the variable
2222@code{org-agenda-custom-commands}. You can customize this variable, 2418@code{org-agenda-custom-commands}. You can customize this variable,
2223for example by pressing @kbd{C-c a C}. You can also directly set it 2419for example by pressing @kbd{C-c a C}. You can also directly set it
2224with Emacs Lisp in @file{.emacs}. For example: 2420with Emacs Lisp in @file{.emacs}. For example:
2421
2225@lisp 2422@lisp
2226(setq org-agenda-custom-commands 2423(setq org-agenda-custom-commands
2227 '(("w" todo "WAITING") 2424 '(("w" todo "WAITING")
@@ -2229,8 +2426,9 @@ with Emacs Lisp in @file{.emacs}. For example:
2229 ("U" tags-tree "+BOSS-URGENT") 2426 ("U" tags-tree "+BOSS-URGENT")
2230 ("f" occur-tree "\\<FIXME\\>"))) 2427 ("f" occur-tree "\\<FIXME\\>")))
2231@end lisp 2428@end lisp
2429
2232@noindent will define @kbd{C-c a w} as a global search for 2430@noindent will define @kbd{C-c a w} as a global search for
2233TODO entries with @samp{WAITING} as todo keyword, @kbd{C-c a u} as a 2431TODO entries with @samp{WAITING} as the TODO keyword, @kbd{C-c a u} as a
2234global tags search for headlines marked @samp{:BOSS:} but not 2432global tags search for headlines marked @samp{:BOSS:} but not
2235@samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the 2433@samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the
2236current buffer and display the result as a sparse tree, and @kbd{C-c a 2434current buffer and display the result as a sparse tree, and @kbd{C-c a
@@ -2252,11 +2450,11 @@ a paper agenda, showing all the tasks for the current week or day.
2252Compile an agenda for the current week from a list of org files. The 2450Compile an agenda for the current week from a list of org files. The
2253agenda shows the entries for each day. With a @kbd{C-u} prefix (or 2451agenda shows the entries for each day. With a @kbd{C-u} prefix (or
2254when the variable @code{org-agenda-include-all-todo} is @code{t}), all 2452when the variable @code{org-agenda-include-all-todo} is @code{t}), all
2255unfinished TODO items (also those without a date) are also listed at 2453unfinished TODO items (including those without a date) are also listed at
2256the beginning of the buffer, before the first date.@* 2454the beginning of the buffer, before the first date.@*
2257@end table 2455@end table
2258 2456
2259Remote editing from the agenda buffer means for example that you can 2457Remote editing from the agenda buffer means, for example, that you can
2260change the dates of deadlines and appointments from the agenda buffer. 2458change the dates of deadlines and appointments from the agenda buffer.
2261The commands available in the Agenda buffer are listed in @ref{Agenda 2459The commands available in the Agenda buffer are listed in @ref{Agenda
2262commands}. 2460commands}.
@@ -2275,12 +2473,15 @@ commands}.
2275In the agenda buffer, each entry is preceded by a @emph{category}, 2473In the agenda buffer, each entry is preceded by a @emph{category},
2276which is derived from the file name. The category can also be set 2474which is derived from the file name. The category can also be set
2277with a special line anywhere in the buffer, looking like this: 2475with a special line anywhere in the buffer, looking like this:
2476
2278@example 2477@example
2279#+CATEGORY: Thesis 2478#+CATEGORY: Thesis
2280@end example 2479@end example
2480
2281If there are several such lines in a file, each specifies the category 2481If there are several such lines in a file, each specifies the category
2282for the text below it. The display in the agenda buffer looks best if 2482for the text below it (but the first category also applies to any text
2283the category is not longer than 10 characters. 2483before the first CATEGORY line). The display in the agenda buffer looks
2484best if the category is not longer than 10 characters.
2284 2485
2285@node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda 2486@node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda
2286@subsection Time-of-Day Specifications 2487@subsection Time-of-Day Specifications
@@ -2337,7 +2538,7 @@ The time grid can be turned on and off with the variable
2337 2538
2338Emacs contains the calendar and diary by Edward M. Reingold. The 2539Emacs contains the calendar and diary by Edward M. Reingold. The
2339calendar displays a three-month calendar with holidays from different 2540calendar displays a three-month calendar with holidays from different
2340countries and cultures. The diary allows to keep track of 2541countries and cultures. The diary allows you to keep track of
2341anniversaries, lunar phases, sunrise/set, recurrent appointments 2542anniversaries, lunar phases, sunrise/set, recurrent appointments
2342(weekly, monthly) and more. In this way, it is quite complementary to 2543(weekly, monthly) and more. In this way, it is quite complementary to
2343Org-mode. It can be very useful to combine output from Org-mode with 2544Org-mode. It can be very useful to combine output from Org-mode with
@@ -2349,13 +2550,12 @@ agenda, you only need to customize the variable
2349@lisp 2550@lisp
2350(setq org-agenda-include-diary t) 2551(setq org-agenda-include-diary t)
2351@end lisp 2552@end lisp
2352@noindent
2353 2553
2354@noindent After that, everything will happen automatically. All diary 2554@noindent After that, everything will happen automatically. All diary
2355entries including holidays, anniversaries etc will be included in the 2555entries including holidays, anniversaries etc will be included in the
2356agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and 2556agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and
2357@key{RET} can be used from the agenda buffer to jump to the diary 2557@key{RET} can be used from the agenda buffer to jump to the diary
2358file, in order to edit existing diary entries. The @kbd{i} command to 2558file in order to edit existing diary entries. The @kbd{i} command to
2359insert new entries for the current date works in the agenda buffer, as 2559insert new entries for the current date works in the agenda buffer, as
2360well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display 2560well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display
2361Sunrise/Sunset times, show lunar phases and to convert to other 2561Sunrise/Sunset times, show lunar phases and to convert to other
@@ -2399,7 +2599,7 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}).
2399@xref{Global TODO list}, for more information. 2599@xref{Global TODO list}, for more information.
2400@kindex C-c a T 2600@kindex C-c a T
2401@item C-c a T 2601@item C-c a T
2402Like the above, but allow to select a specific TODO keyword. You can 2602Like the above, but allows selection of a specific TODO keyword. You can
2403also do this by specifying a prefix argument to @kbd{C-c a t}. With a 2603also do this by specifying a prefix argument to @kbd{C-c a t}. With a
2404@kbd{C-u} prefix you are prompted for a keyword. With a numeric 2604@kbd{C-u} prefix you are prompted for a keyword. With a numeric
2405prefix, the Nth keyword in @code{org-todo-keywords} is selected. 2605prefix, the Nth keyword in @code{org-todo-keywords} is selected.
@@ -2452,7 +2652,7 @@ The timeline is not really an agenda view, because it only summarizes
2452items from a single Org-mode file. But it also uses the agenda buffer 2652items from a single Org-mode file. But it also uses the agenda buffer
2453and provides similar commands, so we discuss it here. The timeline 2653and provides similar commands, so we discuss it here. The timeline
2454shows all time-stamped items in a single Org-mode file (or the 2654shows all time-stamped items in a single Org-mode file (or the
2455selected part of it), in @emph{time-sorted view}. The main purpose of 2655selected part of it), in a @emph{time-sorted view}. The main purpose of
2456this command is to give an overview over events in a project. 2656this command is to give an overview over events in a project.
2457 2657
2458@table @kbd 2658@table @kbd
@@ -2462,8 +2662,8 @@ Show a time-sorted view of the org file, with all time-stamped items.
2462When called with a @kbd{C-u} prefix, all unfinished TODO entries 2662When called with a @kbd{C-u} prefix, all unfinished TODO entries
2463(scheduled or not) are also listed under the current date. 2663(scheduled or not) are also listed under the current date.
2464@end table 2664@end table
2465@noindent
2466 2665
2666@noindent
2467The commands available in the timeline buffer are listed in 2667The commands available in the timeline buffer are listed in
2468@ref{Agenda commands}. 2668@ref{Agenda commands}.
2469 2669
@@ -2476,7 +2676,7 @@ file where they originate. You are not allowed to edit the agenda
2476buffer itself, but commands are provided to show and jump to the 2676buffer itself, but commands are provided to show and jump to the
2477original entry location, and to edit the org-files ``remotely'' from 2677original entry location, and to edit the org-files ``remotely'' from
2478the agenda buffer. In this way, all information is stored only once, 2678the agenda buffer. In this way, all information is stored only once,
2479and you don't risk that your agenda and note files diverge. 2679removing the risk that your agenda and note files may diverge.
2480 2680
2481Some commands can be executed with mouse clicks on agenda lines. For 2681Some commands can be executed with mouse clicks on agenda lines. For
2482the other commands, the cursor needs to be in the desired line. 2682the other commands, the cursor needs to be in the desired line.
@@ -2507,7 +2707,7 @@ Display original location and recenter that window.
2507@itemx mouse-1 2707@itemx mouse-1
2508@itemx @key{TAB} 2708@itemx @key{TAB}
2509Go to the original location of the item in another window. Under Emacs 2709Go to the original location of the item in another window. Under Emacs
251022, also @kbd{mouse-1} will works for this. 271022, @kbd{mouse-1} will also works for this.
2511 2711
2512@kindex @key{RET} 2712@kindex @key{RET}
2513@itemx @key{RET} 2713@itemx @key{RET}
@@ -2531,11 +2731,11 @@ Delete other windows.
2531 2731
2532@kindex w 2732@kindex w
2533@item w 2733@item w
2534Switch to weekly view (7 days displayed together) 2734Switch to weekly view (7 days displayed together).
2535 2735
2536@kindex d 2736@kindex d
2537@item d 2737@item d
2538Switch to daily view (just one day displayed) 2738Switch to daily view (just one day displayed).
2539 2739
2540@kindex D 2740@kindex D
2541@item D 2741@item D
@@ -2580,7 +2780,7 @@ original org file.
2580 2780
2581@kindex T 2781@kindex T
2582@item T 2782@item T
2583Show all tags assiciated with the current item. Because of 2783Show all tags associated with the current item. Because of
2584inheritance, this may be more than the tags listed in the line itself. 2784inheritance, this may be more than the tags listed in the line itself.
2585 2785
2586@kindex : 2786@kindex :
@@ -2650,7 +2850,7 @@ date at the cursor.
2650 2850
2651@kindex M 2851@kindex M
2652@item M 2852@item M
2653Show the phases of the moon for three month around current date. 2853Show the phases of the moon for the three months around current date.
2654 2854
2655@kindex S 2855@kindex S
2656@item S 2856@item S
@@ -2673,7 +2873,7 @@ Export a single iCalendar file containing entries from all agenda files.
2673@tsubheading{Quit and Exit} 2873@tsubheading{Quit and Exit}
2674@kindex q 2874@kindex q
2675@item q 2875@item q
2676Quit Agenda, remove the agenda buffer. 2876Quit agenda, remove the agenda buffer.
2677 2877
2678@kindex x 2878@kindex x
2679@cindex agenda files, removing buffers 2879@cindex agenda files, removing buffers
@@ -2718,11 +2918,13 @@ warning.
2718@cindex headline levels, for exporting 2918@cindex headline levels, for exporting
2719In the exported version, the first 3 outline levels will become 2919In the exported version, the first 3 outline levels will become
2720headlines, defining a general document structure. Additional levels 2920headlines, defining a general document structure. Additional levels
2721will be exported as itemize lists. If you want that transition to occur 2921will be exported as itemized lists. If you want that transition to occur
2722at a different level, specify it with a prefix argument. For example, 2922at a different level, specify it with a prefix argument. For example,
2923
2723@example 2924@example
2724@kbd{C-1 C-c C-x a org-export-as-ascii} 2925@kbd{C-1 C-c C-x a org-export-as-ascii}
2725@end example 2926@end example
2927
2726@noindent 2928@noindent
2727creates only top level headlines and does the rest as items. Lines 2929creates only top level headlines and does the rest as items. Lines
2728starting with @samp{#} and subtrees starting with the word @samp{COMMENT} 2930starting with @samp{#} and subtrees starting with the word @samp{COMMENT}
@@ -2757,11 +2959,13 @@ Toggle fixed-width for entry (QUOTE) or region, see below.
2757@cindex headline levels, for exporting 2959@cindex headline levels, for exporting
2758In the exported version, the first 3 outline levels will become 2960In the exported version, the first 3 outline levels will become
2759headlines, defining a general document structure. Additional levels 2961headlines, defining a general document structure. Additional levels
2760will be exported as itemize lists. If you want that transition to occur 2962will be exported as itemized lists. If you want that transition to occur
2761at a different level, specify it with a prefix argument. For example, 2963at a different level, specify it with a prefix argument. For example,
2964
2762@example 2965@example
2763@kbd{C-2 C-c C-x b} 2966@kbd{C-2 C-c C-x b}
2764@end example 2967@end example
2968
2765@noindent 2969@noindent
2766creates two levels of headings and does the rest as items. 2970creates two levels of headings and does the rest as items.
2767 2971
@@ -2851,9 +3055,10 @@ correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
2851#+TEXT: Several lines may be given. 3055#+TEXT: Several lines may be given.
2852#+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t 3056#+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t
2853@end example 3057@end example
3058
2854@noindent 3059@noindent
2855The OPTIONS line is a compact form to specify export settings. Here 3060The OPTIONS line is a compact form to specify export settings. Here
2856you can 3061you can:
2857@cindex headline levels 3062@cindex headline levels
2858@cindex section-numbers 3063@cindex section-numbers
2859@cindex table of contents 3064@cindex table of contents
@@ -2886,7 +3091,7 @@ end of the outline tree. For example:
2886@example 3091@example
2887* COMMENT HTML style specifications 3092* COMMENT HTML style specifications
2888 3093
2889# Local Variables: 3094# Local Variables:
2890# org-export-html-style: " <style type=\"text/css\"> 3095# org-export-html-style: " <style type=\"text/css\">
2891 p @{font-weight: normal; color: gray; @} 3096 p @{font-weight: normal; color: gray; @}
2892 h1 @{color: black; @} 3097 h1 @{color: black; @}
@@ -2895,7 +3100,9 @@ end of the outline tree. For example:
2895@end example 3100@end example
2896 3101
2897Remember to execute @kbd{M-x normal-mode} after changing this to make 3102Remember to execute @kbd{M-x normal-mode} after changing this to make
2898the new style visible to Emacs. 3103the new style visible to Emacs. This command reastarts org-mode for the
3104current buffer and forces Emacs to re-evaluate the loval variables
3105section in the buffer.
2899 3106
2900@node Comment lines, , Export options, HTML export 3107@node Comment lines, , Export options, HTML export
2901@subsection Comment lines 3108@subsection Comment lines
@@ -2969,6 +3176,7 @@ to make iCal re-read the calendar files each time a new version of
2969@menu 3176@menu
2970* Completion:: M-TAB knows what you need 3177* Completion:: M-TAB knows what you need
2971* Customization:: Adapting Org-mode to your taste 3178* Customization:: Adapting Org-mode to your taste
3179* Updating settings:: How to tell Org-mode that settings have changed
2972* Clean view:: Getting rid of leading stars in the outline 3180* Clean view:: Getting rid of leading stars in the outline
2973* TTY keys:: Using Org-mode on a tty 3181* TTY keys:: Using Org-mode on a tty
2974* FAQ:: Frequently asked questions 3182* FAQ:: Frequently asked questions
@@ -3021,7 +3229,7 @@ Elsewhere, complete dictionary words using ispell.
3021@end table 3229@end table
3022 3230
3023 3231
3024@node Customization, Clean view, Completion, Miscellaneous 3232@node Customization, Updating settings, Completion, Miscellaneous
3025@section Customization 3233@section Customization
3026@cindex customization 3234@cindex customization
3027@cindex options, for customization 3235@cindex options, for customization
@@ -3033,14 +3241,48 @@ describing the variables here. A structured overview of customization
3033variables is available with @kbd{M-x org-customize}. Or select 3241variables is available with @kbd{M-x org-customize}. Or select
3034@code{Browse Org Group} from the @code{Org->Customization} menu. 3242@code{Browse Org Group} from the @code{Org->Customization} menu.
3035 3243
3036@node Clean view, TTY keys, Customization, Miscellaneous 3244@node Updating settings, Clean view, Customization, Miscellaneous
3245@section Updating settings after changes
3246@cindex updating, after setting changes
3247@kindex C-c C-c
3248
3249Org-mode uses special lines in the buffer to set file-local values for a
3250number of user options. When such settings are changed, you need to
3251inform Org-mode that something has be modified and that it should
3252recheck the buffer for setting. This is done with the command @kbd{C-c
3253C-c} in the following situations:
3254
3255@itemize @bullet
3256@item
3257After changing any of the special buffer lines starting with @samp{#+},
3258for example @samp{#+STARTUP}, @samp{#+CATEGORY}. Org-mode will then
3259read these settings and activate them (see @ref{Visibility cycling},
3260@ref{Narrow columns}, @ref{Clean view}, @ref{Per file keywords},
3261@ref{Categories})
3262@item
3263After editing by hand a @samp{#+TBLFM} line containing formulas for a
3264table. When pressing @kbd{C-c C-c} in that line, all formulas are
3265re-applied to the entire table (@pxref{Editing/debugging formulas}).
3266@item
3267In a table, @kbd{C-c C-c} does force a re-align, even if the table
3268editor is turned off (@pxref{Built-in table editor})
3269@item
3270In an ordered plain list, @kbd{C-c C-c} forces a renumbering of the list
3271(@pxref{Plain Lists}).
3272@item
3273After adding a new radio target @samp{<<<New target>>>}, @kbd{C-c C-c}
3274must be used with the cursor on that target to activate it throughout
3275the buffer.
3276@end itemize
3277
3278@node Clean view, TTY keys, Updating settings, Miscellaneous
3037@section A cleaner outline view 3279@section A cleaner outline view
3038@cindex hiding leading stars 3280@cindex hiding leading stars
3039@cindex clean outline view 3281@cindex clean outline view
3040 3282
3041Some people find it noisy and distracting that the Org-mode headlines 3283Some people find it noisy and distracting that the Org-mode headlines
3042are starting with a potentially large number of stars. For example in 3284are starting with a potentially large number of stars. For example
3043the example tree from @ref{Headlines}: 3285the tree from @ref{Headlines}:
3044 3286
3045@example 3287@example
3046* Top level headline 3288* Top level headline
@@ -3071,9 +3313,10 @@ the buffer)
3071#+STARTUP: showstars 3313#+STARTUP: showstars
3072#+STARTUP: hidestars 3314#+STARTUP: hidestars
3073@end example 3315@end example
3316
3074@noindent 3317@noindent
3075Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate 3318Press @kbd{C-c C-c} with the cursor in a @samp{STARTUP} line to activate
3076the modifications. 3319the modifications.
3077 3320
3078With stars hidden, the tree becomes: 3321With stars hidden, the tree becomes:
3079 3322
@@ -3129,7 +3372,7 @@ activate changes immediately).
3129@end example 3372@end example
3130 3373
3131You can convert an Org-mode file from single-star-per-level to 3374You can convert an Org-mode file from single-star-per-level to
3132double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels 3375the double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels
3133RET} in that file. There is no command for the back conversion because 3376RET} in that file. There is no command for the back conversion because
3134such a command might merge levels and in this way destroy the 3377such a command might merge levels and in this way destroy the
3135structure of the tree. 3378structure of the tree.
@@ -3179,36 +3422,78 @@ rather use @kbd{C-c .} to re-insert the timestamp.
3179@enumerate 3422@enumerate
3180@item @b{Org-mode seems to be a useful default mode for the various 3423@item @b{Org-mode seems to be a useful default mode for the various
3181@file{README} files I have scattered through my directories. How do I 3424@file{README} files I have scattered through my directories. How do I
3182turn it on for all @file{README} files?} 3425turn it on for all @file{README} files?}@*
3426@c
3183@example 3427@example
3184(add-to-list 'auto-mode-alist '("README$" . org-mode)) 3428(add-to-list 'auto-mode-alist '("README$" . org-mode))
3185@end example 3429@end example
3186 3430
3431@item @b{Some of my links stopped working after I upgraded to a version
34324.20 or later. Why is this, and how can I fix it?}@*
3433@c
3434These must be links in plain text, containing white space, such as
3435@samp{bbdb:Richard Stallman}. You need to protect these links by
3436putting double brackets around them, like @samp{[[bbdb:Richard
3437Stallman]]}.
3438
3439@item @b{I see that Org-mode now creates links using the double bracket
3440convention that hides the link part and the brackets, only showing the
3441description part. How can I convert my old links to this new format?}@*
3442@c
3443Execute once in each Org-mode file: @kbd{M-x org-upgrade-old-links}.
3444The replaces angular brackets with the link format.
3445
3446@item @b{I don't care if you find the new bracket links great, I am
3447attached to the old style using angular brackets and no hiding of the
3448link text. Please give them back to me, don't tell me it is not
3449possible!}@*
3450@c
3451Would I let you down like that? If you must (even if I don't understand
3452why), you can do this
3453@lisp
3454(setq org-link-style 'plain
3455 org-link-format "<%s>")
3456@end lisp
3457
3458@item @b{When I am executing shell links I always get a
3459confirmation prompt and need to type @kbd{yes @key{RET}}, thats 4 key
3460presses! Can I get rid of this?}@*
3461@c
3462@cindex shell links, confirmation
3463@cindex dangerous commands
3464The confirmation is there to protect you from unwantingly execute
3465potentially dangerous commands. For example, imagine a link
3466@samp{[[shell:rm -rf ~/*][Google Search]]}. In an Org-mode buffer, this
3467command would look like @samp{Google Search}, but really it would remove
3468your home directory. If you wish, you can make it easier to respond to
3469the query by setting @code{org-confirm-shell-links} to @code{y-or-n-p}.
3470Then a single @kbd{y} keypress will be enough to confirm shell links.
3471It is also possible to turn off this check entirely, but I do not
3472recommend to do this. Be warned.
3473
3187@item @b{All these stars are driving me mad, I just find the Emacs 3474@item @b{All these stars are driving me mad, I just find the Emacs
3188outlines unreadable. Can't you just put white space and a single star as a 3475outlines unreadable. Can't you just put white space and a single star as a
3189starter for headlines?}@* 3476starter for headlines?}@*
3477@c
3190See @ref{Clean view}. 3478See @ref{Clean view}.
3191 3479
3192@item @b{I would like to have two windows on the same Org-mode 3480@item @b{I would like to have two windows on the same Org-mode
3193file, but with different outline visibility. Is that possible?}@* 3481file, but with different outline visibility. Is that possible?}@*
3482@c
3194@cindex @code{make-indirect-buffer} 3483@cindex @code{make-indirect-buffer}
3195@cindex indirect buffers 3484@cindex indirect buffers
3196In GNU Emacs, you may use @emph{indirect buffers} which do exactly 3485In GNU Emacs, you may use @emph{indirect buffers} which do exactly this.
3197this. See the documentation on the command 3486See the documentation on the command @code{make-indirect-buffer}. In
3198@code{make-indirect-buffer}. In XEmacs, this is currently not 3487XEmacs, this is currently not possible because of the different outline
3199possible because of the different outline implementation. 3488implementation.
3200
3201@item @b{Is there an easy way to insert links to web locations?}@*
3202@cindex URL, paste into buffer
3203Sure, just type or paste them into the buffer. A plain-text URL-like
3204string is directly interpreted as a link.
3205 3489
3206@item @b{When I export my TODO list, every TODO item becomes a 3490@item @b{When I export my TODO list, every TODO item becomes a
3207separate section. How do I enforce these items to be exported as an 3491separate section. How do I enforce these items to be exported as an
3208itemized list?}@* 3492itemized list?}@*
3493@c
3209If you plan to use ASCII or HTML export, make sure things you want to 3494If you plan to use ASCII or HTML export, make sure things you want to
3210be exported as item lists are level 4 at least, even if that does mean 3495be exported as item lists are level 4 at least, even if that does mean
3211there is a level jump. For example 3496there is a level jump. For example:
3212 3497
3213@example 3498@example
3214* Todays top priorities 3499* Todays top priorities
@@ -3225,27 +3510,22 @@ configure the @samp{H} switch.
3225+OPTIONS: H:2; ... 3510+OPTIONS: H:2; ...
3226@end example 3511@end example
3227 3512
3228@item @b{I would like to export only a subtree of my file to HTML. How?}@* 3513@item @b{I would like to export only a subtree of my file to HTML.
3514How?}@*
3515@c
3229@cindex exporting a subtree 3516@cindex exporting a subtree
3230If you want to export a subtree, mark the subtree as region and then 3517If you want to export a subtree, mark the subtree as region and then
3231export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example. 3518export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example.
3232 3519
3233@item @b{Org-mode takes over the S-cursor keys. I also want to use 3520@item @b{Org-mode takes over the S-cursor keys. I also want to use
3234CUA-mode, is there a way to fix this conflict?}@* 3521CUA-mode, is there a way to fix this conflict?}@*
3235Yes, see @ref{Interaction} 3522Yes, see @ref{Interaction}.
3236
3237@item @b{Is there an easy way to insert an empty table template with a
3238default number of rows and columns?}@*
3239@cindex table, empty template
3240To insert an empty table template, just type @samp{|-} and use
3241@key{TAB}. The default size can be changed with the variable
3242@code{org-table-default-size}. However, just starting to type the
3243first line is usually much easier.
3244 3523
3245@item @b{One of my table columns has started to fill up with 3524@item @b{One of my table columns has started to fill up with
3246@samp{#ERROR}. What is going on?}@* 3525@samp{#ERROR}. What is going on?}@*
3526@c
3247Org-mode tried to compute the column from other fields using a 3527Org-mode tried to compute the column from other fields using a
3248formula stored in the @samp{#+TBLFMT:} line just below the table, and 3528formula stored in the @samp{#+TBLFM:} line just below the table, and
3249the evaluation of the formula fails. Fix the fields used in the 3529the evaluation of the formula fails. Fix the fields used in the
3250formula, or fix the formula, or remove it! 3530formula, or fix the formula, or remove it!
3251 3531
@@ -3253,23 +3533,26 @@ formula, or fix the formula, or remove it!
3253horizontal line in the table, pressing TAB creates a new table line 3533horizontal line in the table, pressing TAB creates a new table line
3254@i{before} the horizontal line. How can I quickly move to the line 3534@i{before} the horizontal line. How can I quickly move to the line
3255@i{below} the horizontal line instead?}@* 3535@i{below} the horizontal line instead?}@*
3536@c
3256Press @key{down} (to get on the separator line) and then @key{TAB}. 3537Press @key{down} (to get on the separator line) and then @key{TAB}.
3257Or configure the variable @code{org-table-tab-jumps-over-hlines}. 3538Or configure the variable @code{org-table-tab-jumps-over-hlines}.
3258 3539
3259@item @b{How can I change the indentation of an entire table without 3540@item @b{How can I change the indentation of an entire table without
3260fixing every line by hand?}@* 3541fixing every line by hand?}@*
3542@c
3261@cindex indentation, of tables 3543@cindex indentation, of tables
3262The indentation of a table is set by the first line. So just fix the 3544The indentation of a table is set by the first line. So just fix the
3263indentation of the first line and realign with @key{TAB}. 3545indentation of the first line and realign with @key{TAB}.
3264 3546
3265@item @b{Is it possible to include entries from org-mode files into my 3547@item @b{Is it possible to include entries from org-mode files into my
3266emacs diary?}@* 3548emacs diary?}@*
3549@c
3267Since the org-mode agenda is much more powerful and can contain the 3550Since the org-mode agenda is much more powerful and can contain the
3268diary (@pxref{Calendar/Diary integration}), you should think twice 3551diary (@pxref{Calendar/Diary integration}), you should think twice
3269before deciding to do this. Inegrating org-mode information into the 3552before deciding to do this. Integrating Org-mode information into the
3270diary is, however, possible. The following steps are necessary: 3553diary is, however, possible. The following steps are necessary:
3271Autoload the function @command{org-diary} as shown above under 3554Autoload the function @command{org-diary} as shown above under
3272@ref{Installation and Activation}. You also need to use @emph{fancy 3555@ref{Installation and activation}. You also need to use @emph{fancy
3273diary display} by setting in @file{.emacs}: 3556diary display} by setting in @file{.emacs}:
3274 3557
3275@lisp 3558@lisp
@@ -3310,10 +3593,10 @@ Org-mode can cooperate with the following packages:
3310@cindex @file{org-mouse.el} 3593@cindex @file{org-mouse.el}
3311@item @file{org-mouse.el} by Piotr Zielinski 3594@item @file{org-mouse.el} by Piotr Zielinski
3312This package implements extended mouse functionality for Org-mode. It 3595This package implements extended mouse functionality for Org-mode. It
3313allows to cycle visibility and to edit the document structure with the 3596allows you to cycle visibility and to edit the document structure with
3314mouse. It also provides a context-sensitive menu that changes depending 3597the mouse. It also provides a context-sensitive menu that changes
3315on the context of a mouse-click. Use a search engine to find this 3598depending on the context of a mouse-click. Use a search engine to find
3316package on the web. 3599this package on the web.
3317@cindex @file{table.el} 3600@cindex @file{table.el}
3318@item @file{table.el} by Takaaki Ota 3601@item @file{table.el} by Takaaki Ota
3319Org mode cooperates with table.el, see @ref{table.el}. @file{table.el} 3602Org mode cooperates with table.el, see @ref{table.el}. @file{table.el}
@@ -3331,7 +3614,7 @@ packages is using calc for embedded calculations. @xref{Embedded Mode,
3331@cindex @file{constants.el} 3614@cindex @file{constants.el}
3332@item @file{constants.el} by Carsten Dominik 3615@item @file{constants.el} by Carsten Dominik
3333In a table formula (@pxref{Table calculations}), it is possible to use 3616In a table formula (@pxref{Table calculations}), it is possible to use
3334names for natural constants or units. Instead of defining you own 3617names for natural constants or units. Instead of defining your own
3335constants in the variable @code{org-table-formula-constants}, install 3618constants in the variable @code{org-table-formula-constants}, install
3336the @file{constants} package which defines a large number of constants 3619the @file{constants} package which defines a large number of constants
3337and units, and lets you use unit prefixes like @samp{M} for 3620and units, and lets you use unit prefixes like @samp{M} for
@@ -3350,38 +3633,40 @@ packages along with Org-mode, configure the variable
3350@code{org-CUA-compatible}. When set, Org-mode will move the following 3633@code{org-CUA-compatible}. When set, Org-mode will move the following
3351keybindings in org-mode files, and in the agenda buffer (but not 3634keybindings in org-mode files, and in the agenda buffer (but not
3352during date selection). 3635during date selection).
3636
3353@example 3637@example
3354S-UP -> M-p S-DOWN -> M-n 3638S-UP -> M-p S-DOWN -> M-n
3355S-LEFT -> M-- S-RIGHT -> M-+ 3639S-LEFT -> M-- S-RIGHT -> M-+
3356S-RET -> C-S-RET 3640S-RET -> C-S-RET
3357@end example 3641@end example
3642
3358Yes, these are unfortunately more difficult to remember. If you want 3643Yes, these are unfortunately more difficult to remember. If you want
3359to have other replacement keys, look at the variable 3644to have other replacement keys, look at the variable
3360@code{org-disputed-keys}. 3645@code{org-disputed-keys}.
3361@item @file{remember.el} by John Wiegley 3646@item @file{remember.el} by John Wiegley
3362Org mode cooperates with remember, see @ref{Remember}. 3647Org mode cooperates with remember, see @ref{Remember}.
3363@file{Remember.el} is not part of Emacs, find it on the web. 3648@file{Remember.el} is not part of Emacs, find it on the web.
3364@cindex @file{planner.el}
3365@item @file{planner.el} by John Wiegley
3366Planner is another tool to plan work and keep track of tasks. Planner
3367uses a multi-file approach with project pages and day pages. Is based
3368on Emacs-Wiki. If Planner is your primary tool, it can be useful to
3369display the agenda entries resulting from org files in day-pages of
3370the planner. This can be done through the diary of the calendar:
3371Integrate org files into the diary as described above, and then turn
3372on the diary support of planner. Planner is not part of Emacs, find it
3373on the web.
3374@end table 3649@end table
3375 3650
3376@node Bugs, Acknowledgments, Interaction, Miscellaneous 3651@node Bugs, Acknowledgments, Interaction, Miscellaneous
3377@section Bugs 3652@section Bugs
3378@cindex bugs 3653@cindex bugs
3379 3654
3380Here is a list of things which should work differently, but which I 3655Here is a list of things that should work differently, but which I
3381have found too hard to fix. 3656have found too hard to fix.
3382 3657
3383@itemize @bullet 3658@itemize @bullet
3384@item 3659@item
3660If a table field starts with a link, and if the corresponding table
3661column is narrowed (@pxref{Narrow columns}) to a width too small to
3662display the link, the field would look entirely empty even though it is
3663not. To prevent this, Org-mode throws an error. The work-around is to
3664make the column wide enough to fit the link, or to add some text (at
3665least 2 characters) before the link in the same field.
3666@item
3667Narrowing table columns does not work on XEmacs, because the
3668@code{format} function does not transport text properties.
3669@item
3385Text in an entry protected with the @samp{QUOTE} keyword should not 3670Text in an entry protected with the @samp{QUOTE} keyword should not
3386autowrap. 3671autowrap.
3387@item 3672@item
@@ -3415,8 +3700,6 @@ several words in a row, each must have the emphasize markers, like in
3415The exporters work well, but could be made more efficient. 3700The exporters work well, but could be made more efficient.
3416@end itemize 3701@end itemize
3417 3702
3418@page
3419
3420@node Acknowledgments, , Bugs, Miscellaneous 3703@node Acknowledgments, , Bugs, Miscellaneous
3421@section Acknowledgments 3704@section Acknowledgments
3422@cindex acknowledgments 3705@cindex acknowledgments
@@ -3432,37 +3715,41 @@ Org-mode would not be what it is without your input.
3432@item 3715@item
3433Thomas Baumann contributed the code for links to the MH-E email system. 3716Thomas Baumann contributed the code for links to the MH-E email system.
3434@item 3717@item
3435Pavel Chalmoviansky reported bugs and suggested improvements 3718Alex Bochannek provided a patch for rounding time stamps.
3436related to the agenda treatment of items with specified time. 3719@item
3720Charles Caves' suggestion sparked the implementation of templates for
3721Remember.
3722@item
3723Pavel Chalmoviansky influenced the agenda treatment of items with
3724specified time.
3725@item
3726Sacha Chua suggested to copy some linking code from Planner.
3437@item 3727@item
3438Sacha Chua, the current maintainer of Planner, suggested to copy 3728Christian Egli converted the documentation into TeXInfo format, patched
3439linking code from Planner (I took code for RMAIL and Wanderlust). 3729CSS formatting into the HTML exporter, and inspired the agenda.
3440@item 3730@item
3441Christian Egli converted the documentation into TeXInfo format and 3731Nic Ferrier contributed mailcap and XML support.
3442patched basic CSS formatting support into the HTML exporter. He also
3443inspired the agenda by showing me his plans for a multifile summary.
3444@item 3732@item
3445Kai Grossjohann pointed out that a number of key bindings in Org-mode 3733Kai Grossjohann pointed out key-binding conflicts caused by Org-mode.
3446conflict with other packages.
3447@item 3734@item
3448Stefan Monnier provided a patch with lots of little fixes to keep the 3735Stefan Monnier provided a patch to keep the Emacs-Lisp compiler happy.
3449Emacs-Lisp compiler happy.
3450@item 3736@item
3451Tim O'Callaghan suggested in-file links, search options for 3737Tim O'Callaghan suggested in-file links, search options for
3452general file links, and TAGS. 3738general file links, and TAGS.
3453@item 3739@item
3454Oliver Oppitz suggested multi-state TODO items. 3740Oliver Oppitz suggested multi-state TODO items.
3455@item 3741@item
3456Pete Phillips helped the development of the TAGS feature with beta 3742Scott Otterson sparked the introduction of descriptive text for links,
3457testing and suggestions. 3743among other things.
3458@item 3744@item
3459Matthias Rempe (Oelde) provided ideas, a patch introducing Windows 3745Pete Phillips helped the development of the TAGS feature.
3460NT/2000 support, and quality control. 3746@item
3747Matthias Rempe (Oelde) provided ideas, Windows support, and quality
3748control.
3461@item 3749@item
3462Kevin Rogers contributed code to access VM files on remote hosts. 3750Kevin Rogers contributed code to access VM files on remote hosts.
3463@item 3751@item
3464Philip Rooke created the Org-mode reference card. He also helped with 3752Philip Rooke created the Org-mode reference card and provided lots of feedback.
3465beta testing and contributed a number of very useful ideas.
3466@item 3753@item
3467Christian Schlauer proposed angular brackets around links, among other 3754Christian Schlauer proposed angular brackets around links, among other
3468things. 3755things.
@@ -3470,28 +3757,31 @@ things.
3470Linking to VM/BBDB/GNUS was inspired by Tom Shannon's 3757Linking to VM/BBDB/GNUS was inspired by Tom Shannon's
3471@file{organizer-mode.el}. 3758@file{organizer-mode.el}.
3472@item 3759@item
3473Juergen Vollmer contributed code generating the table of contents 3760J@"urgen Vollmer contributed code generating the table of contents
3474in HTML output, and other export improvements. 3761in HTML output.
3475@item 3762@item
3476Chris Wallace provided a patch implementing the @samp{QUOTE} keyword. 3763Chris Wallace provided a patch implementing the @samp{QUOTE} keyword.
3477@item 3764@item
3478David Wainberg suggested the archiving mechanism and shaped the 3765David Wainberg suggested archiving, and improvements to the linking
3479internal link system with many suggestions and ideas. 3766system.
3480@item 3767@item
3481Scheduling TODO items was inspired by John Wiegley's @file{planner.el}. 3768John Wiegley wrote @file{emacs-wiki.el} and @file{planner.el}. The
3769development of Org-mode was fully independent, and both systems are
3770really different beasts in their basic ideas and implementation details.
3771However, I have later looked at John's code and learned from his
3772implementation of (i) links where the link itself is hidden and only a
3773description is shown, and (ii) popping up a calendar to select a date.
3482@item 3774@item
3483Carsten Wimmer suggested some changes and helped fix a bug in linking 3775Carsten Wimmer suggested some changes and helped fix a bug in linking
3484to GNUS. 3776to GNUS.
3485@item
3486Roland Winkler pointed out that additional keybindings are needed to
3487use Org-mode on a tty.
3488@item 3777@item
3489Piotr Zielinski wrote @file{org-mouse.el} and pointed out to me that 3778Roland Winkler requested additional keybindings to make Org-mode
3490Emacs 22 can be made to follow links using mouse-1 clicks. 3779work on a tty.
3491@c @item 3780@item
3492@c Nic Ferrier and Christian Egli implemented XML export. 3781Piotr Zielinski wrote @file{org-mouse.el} and showed how to follow links
3782with mouse-1.
3493@end itemize 3783@end itemize
3494 3784
3495@node Index, Key Index, Miscellaneous, Top 3785@node Index, Key Index, Miscellaneous, Top
3496@chapter Index 3786@chapter Index
3497 3787