4 |
@setfilename ../info/org |
@setfilename ../info/org |
5 |
@settitle Org Mode Manual |
@settitle Org Mode Manual |
6 |
|
|
7 |
@set VERSION 3.15 |
@set VERSION 3.16 |
8 |
@set DATE September 2005 |
@set DATE September 2005 |
9 |
|
|
10 |
@dircategory Emacs |
@dircategory Emacs |
39 |
|
|
40 |
@quotation |
@quotation |
41 |
Permission is granted to copy, distribute and/or modify this document |
Permission is granted to copy, distribute and/or modify this document |
42 |
under the terms of the GNU Free Documentation License, Version 1.2 or |
under the terms of the GNU Free Documentation License, Version 1.1 or |
43 |
any later version published by the Free Software Foundation; with no |
any later version published by the Free Software Foundation; with no |
44 |
Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' |
Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' |
45 |
and with the Back-Cover Texts as in (a) below. A copy of the |
and with the Back-Cover Texts as in (a) below. A copy of the |
100 |
|
|
101 |
* Outlines:: Org-mode is based on outline-mode |
* Outlines:: Org-mode is based on outline-mode |
102 |
* Headlines:: How to typeset org-tree headlines |
* Headlines:: How to typeset org-tree headlines |
103 |
* Visibility cycling:: Show ad hide, much simplified |
* Visibility cycling:: Show and hide, much simplified |
104 |
* Motion:: Jumping to other headlines |
* Motion:: Jumping to other headlines |
105 |
* Structure editing:: Changing sequence and level of headlines |
* Structure editing:: Changing sequence and level of headlines |
106 |
* Archiving:: Move done task trees to a different place |
* Archiving:: Move done task trees to a different place |
120 |
* Advanced features:: Field names, parameters and automatic recalc |
* Advanced features:: Field names, parameters and automatic recalc |
121 |
* Named-field formulas:: Formulas valid in single fields |
* Named-field formulas:: Formulas valid in single fields |
122 |
* Editing/debugging formulas:: Changing a stored formula |
* Editing/debugging formulas:: Changing a stored formula |
123 |
* Appetizer:: |
* Appetizer:: Taste the power of calc |
124 |
|
|
125 |
Hyperlinks |
Hyperlinks |
126 |
|
|
169 |
* Customization:: Adapting Org-mode to your taste |
* Customization:: Adapting Org-mode to your taste |
170 |
* FAQ:: Frequently asked questions |
* FAQ:: Frequently asked questions |
171 |
* Interaction:: Other Emacs packages |
* Interaction:: Other Emacs packages |
172 |
|
* TTY keys:: Using Org-mode on a tty |
173 |
* Bugs:: Things which do not work perfectly |
* Bugs:: Things which do not work perfectly |
174 |
* Acknowledgments:: These people provided feedback and more |
* Acknowledgments:: These people provided feedback and more |
175 |
|
|
313 |
@menu |
@menu |
314 |
* Outlines:: Org-mode is based on outline-mode |
* Outlines:: Org-mode is based on outline-mode |
315 |
* Headlines:: How to typeset org-tree headlines |
* Headlines:: How to typeset org-tree headlines |
316 |
* Visibility cycling:: Show ad hide, much simplified |
* Visibility cycling:: Show and hide, much simplified |
317 |
* Motion:: Jumping to other headlines |
* Motion:: Jumping to other headlines |
318 |
* Structure editing:: Changing sequence and level of headlines |
* Structure editing:: Changing sequence and level of headlines |
319 |
* Archiving:: Move done task trees to a different place |
* Archiving:: Move done task trees to a different place |
476 |
@kindex M-S-@key{down} |
@kindex M-S-@key{down} |
477 |
@item M-S-@key{down} |
@item M-S-@key{down} |
478 |
Move subtree down (swap with next subtree of same level) |
Move subtree down (swap with next subtree of same level) |
479 |
@kindex C-c C-h C-w |
@kindex C-c C-x C-w |
480 |
@item C-c C-h C-w |
@item C-c C-x C-w |
481 |
Kill subtree, i.e. remove it from buffer but save in kill ring. |
Kill subtree, i.e. remove it from buffer but save in kill ring. |
482 |
@kindex C-c C-h M-w |
@kindex C-c C-x M-w |
483 |
@item C-c C-h M-w |
@item C-c C-x M-w |
484 |
Copy subtree to kill ring. |
Copy subtree to kill ring. |
485 |
@kindex C-c C-h C-y |
@kindex C-c C-x C-y |
486 |
@item C-c C-h C-y |
@item C-c C-x C-y |
487 |
Yank subtree from kill ring. This does modify the level of the subtree to |
Yank subtree from kill ring. This does modify the level of the subtree to |
488 |
make sure the tree fits in nicely at the yank position. The yank |
make sure the tree fits in nicely at the yank position. The yank |
489 |
level can also be specified with a prefix arg, or by yanking after a |
level can also be specified with a prefix arg, or by yanking after a |
611 |
|Name|Phone|Age |
|Name|Phone|Age |
612 |
|- |
|- |
613 |
@end example |
@end example |
|
|
|
614 |
@noindent and then press @key{TAB} to align the table and start filling in |
@noindent and then press @key{TAB} to align the table and start filling in |
615 |
fields. |
fields. |
616 |
|
|
617 |
|
When typing text into a field, Org-mode treats @key{DEL}, |
618 |
|
@key{Backspace}, and all character keys in a special way, so that |
619 |
|
inserting and deleting avoids shifting other fields. Also, when |
620 |
|
typing @emph{immediately after the cursor was moved into a new field |
621 |
|
with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the |
622 |
|
field is automatically made blank. If this behavior is too |
623 |
|
unpredictable for you, configure the variables |
624 |
|
@code{org-enable-table-editor} and @code{org-table-auto-blank-field}. |
625 |
|
|
626 |
@table @kbd |
@table @kbd |
627 |
@tsubheading{Creation and conversion} |
@tsubheading{Creation and conversion} |
628 |
@item M-x org-table-create |
@item M-x org-table-create |
693 |
is created above the current line. |
is created above the current line. |
694 |
|
|
695 |
@tsubheading{Regions} |
@tsubheading{Regions} |
696 |
@kindex C-c C-h M-w |
@kindex C-c C-x M-w |
697 |
@item C-c C-h M-w |
@item C-c C-x M-w |
698 |
Copy a rectangular region from a table to a special clipboard. Point |
Copy a rectangular region from a table to a special clipboard. Point |
699 |
and mark determine edge fields of the rectangle. The process ignores |
and mark determine edge fields of the rectangle. The process ignores |
700 |
horizontal separator lines. |
horizontal separator lines. |
701 |
@kindex C-c C-h C-w |
@kindex C-c C-x C-w |
702 |
@item C-c C-h C-w |
@item C-c C-x C-w |
703 |
Copy a rectangular region from a table to a special clipboard, and |
Copy a rectangular region from a table to a special clipboard, and |
704 |
blank all fields in the rectangle. So this is the ``cut'' operation. |
blank all fields in the rectangle. So this is the ``cut'' operation. |
705 |
@kindex C-c C-h C-y |
@kindex C-c C-x C-y |
706 |
@item C-c C-h C-y |
@item C-c C-x C-y |
707 |
Paste a rectangular region into a table. |
Paste a rectangular region into a table. |
708 |
The upper right corner ends up in the current field. All involved fields |
The upper right corner ends up in the current field. All involved fields |
709 |
will be overwritten. If the rectangle does not fit into the present table, |
will be overwritten. If the rectangle does not fit into the present table, |
811 |
@section Calculations in tables |
@section Calculations in tables |
812 |
@cindex calculations, in tables |
@cindex calculations, in tables |
813 |
|
|
814 |
The table editor has some spreadsheet-like capabilities. The Emacs |
The table editor makes use of the Emacs @file{calc} package to |
815 |
@file{calc} package is required for this feature to work. There are |
implement spreadsheet-like capabilities. Org-mode has two levels of |
816 |
basically two levels of complexity for table calculations in Org-mode. |
complexity for table calculations. On the basic level, tables do only |
817 |
On the basic level, tables do only horizontal computations, so a field |
horizontal computations, so a field can be computed from other fields |
818 |
can be computed from other fields @emph{in the same row}, and Org-mode |
@emph{in the same row}, and Org-mode assumes that there is only one |
819 |
assumes that there is only one formula for each column. This is very |
formula for each column. This is very efficient to work with and |
820 |
efficient to work with and enough for many tasks. On the complex |
enough for many tasks. On the complex level, columns and individual |
821 |
level, columns and individual fields can be named for easier |
fields can be named for easier referencing in formulas, individual |
822 |
referencing in formulas, individual named fields can have their own |
named fields can have their own formula associated with them, and |
823 |
formula associated with them, and recalculation can be automated. |
recalculation can be automated. |
824 |
|
|
825 |
@menu |
@menu |
826 |
* Formula syntax:: How to write a formula |
* Formula syntax:: How to write a formula |
868 |
string consists of flags to influence calc's modes@footnote{By |
string consists of flags to influence calc's modes@footnote{By |
869 |
default, Org-mode uses the standard calc modes (precision 12, angular |
default, Org-mode uses the standard calc modes (precision 12, angular |
870 |
units degrees, fraction and symbolic modes off). However, the display |
units degrees, fraction and symbolic modes off). However, the display |
871 |
format which has been changed to @code{(float 5)} to keep tables |
format has been changed to @code{(float 5)} to keep tables compact. |
872 |
compact. The default settings can be configured using the variable |
The default settings can be configured using the variable |
873 |
@code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to |
@code{org-calc-default-modes}.} during execution, e.g. @samp{p20} to |
874 |
switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, |
switch the internal precision to 20 digits, @samp{n3}, @samp{s3}, |
875 |
@samp{e2} or @samp{f4} to switch to normal, scientific, engineering, |
@samp{e2} or @samp{f4} to switch to normal, scientific, engineering, |
1366 |
@end lisp |
@end lisp |
1367 |
|
|
1368 |
@cindex completion, of TODO keywords |
@cindex completion, of TODO keywords |
1369 |
|
Changing these variables becomes only effective in a new Emacs session. |
1370 |
With this setup, the command @kbd{C-c C-t} will cycle an entry from |
With this setup, the command @kbd{C-c C-t} will cycle an entry from |
1371 |
TODO to FEEDBACK, then to VERIFY, and finally too DONE. You may also |
TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may also |
1372 |
use a prefix argument to quickly select a specific state. For example |
use a prefix argument to quickly select a specific state. For example |
1373 |
@kbd{C-3 C-c C-t} will change the state immediately to VERIFY. |
@kbd{C-3 C-c C-t} will change the state immediately to VERIFY. |
1374 |
If you define many keywords, you can use in-buffer completion (see |
If you define many keywords, you can use in-buffer completion (see |
1398 |
command @kbd{C-c C-t} is changed slightly@footnote{This is also true |
command @kbd{C-c C-t} is changed slightly@footnote{This is also true |
1399 |
for the @kbd{t} command in the timeline and agenda buffers.}. When |
for the @kbd{t} command in the timeline and agenda buffers.}. When |
1400 |
used several times in succession, it will still cycle through all |
used several times in succession, it will still cycle through all |
1401 |
names. But when when you return to the item after some time and |
names. But when you return to the item after some time and |
1402 |
execute @kbd{C-c C-t} again, it will switch from each name directly to |
execute @kbd{C-c C-t} again, it will switch from each name directly to |
1403 |
DONE. Use prefix arguments or completion to quickly select a specific |
DONE. Use prefix arguments or completion to quickly select a specific |
1404 |
name. |
name. |
1433 |
changing one of these lines, use @kbd{C-c C-c} with the cursor still |
changing one of these lines, use @kbd{C-c C-c} with the cursor still |
1434 |
in the line to make the changes known to Org-mode@footnote{Org-mode |
in the line to make the changes known to Org-mode@footnote{Org-mode |
1435 |
parses these lines only when Org-mode is activated after visiting a |
parses these lines only when Org-mode is activated after visiting a |
1436 |
file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#-} |
file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} |
1437 |
is simply restarting Org-mode, making sure that these changes will be |
is simply restarting Org-mode, making sure that these changes will be |
1438 |
respected.}. |
respected.}. |
1439 |
|
|
1575 |
Like @kbd{C-c .}, but use the alternative format which contains date |
Like @kbd{C-c .}, but use the alternative format which contains date |
1576 |
and time. |
and time. |
1577 |
|
|
1578 |
|
@kindex C-c ! |
1579 |
|
@item C-c ! |
1580 |
|
Like @kbd{C-c .}, but insert an inactive time stamp not triggering the |
1581 |
|
agenda. |
1582 |
|
|
1583 |
@kindex C-c < |
@kindex C-c < |
1584 |
@item C-c < |
@item C-c < |
1585 |
Insert a time stamp corresponding to the cursor date in the Calendar. |
Insert a time stamp corresponding to the cursor date in the Calendar. |
2186 |
@kindex C-c C-x h |
@kindex C-c C-x h |
2187 |
@item C-c C-x h |
@item C-c C-x h |
2188 |
Export as HTML file @file{myfile.html}. |
Export as HTML file @file{myfile.html}. |
2189 |
@kindex C-c C-x C-h |
@kindex C-c C-x b |
2190 |
@item C-c C-x C-h |
@item C-c C-x b |
2191 |
Export as HTML file and open it with a browser. |
Export as HTML file and open it with a browser. |
2192 |
@kindex C-c C-x t |
@kindex C-c C-x t |
2193 |
@item C-c C-x t |
@item C-c C-x t |
2194 |
Insert template with export options, see below. |
Insert template with export options, see below. |
2195 |
@kindex C-c : |
@kindex C-c : |
2196 |
@item C-c : |
@item C-c : |
2197 |
Toggle fixed-width for line or region, see below. |
Toggle fixed-width for entry (QUOTE) or region, see below. |
2198 |
@end table |
@end table |
2199 |
|
|
2200 |
@node HTML formatting, Export options, Export commands, Exporting |
@node HTML formatting, Export options, Export commands, Exporting |
2257 |
additional information. These lines may be put anywhere in the file. |
additional information. These lines may be put anywhere in the file. |
2258 |
The whole set of lines can be inserted into the buffer with @kbd{C-c |
The whole set of lines can be inserted into the buffer with @kbd{C-c |
2259 |
C-x t}. For individual lines, a good way to make sure the keyword is |
C-x t}. For individual lines, a good way to make sure the keyword is |
2260 |
correct it to type @samp{#+} and then use @kbd{M-@key{TAB}} completion |
correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion |
2261 |
(@pxref{Completion}). |
(@pxref{Completion}). |
2262 |
|
|
2263 |
@example |
@example |
2319 |
* Customization:: Adapting Org-mode to your taste |
* Customization:: Adapting Org-mode to your taste |
2320 |
* FAQ:: Frequently asked questions |
* FAQ:: Frequently asked questions |
2321 |
* Interaction:: Other Emacs packages |
* Interaction:: Other Emacs packages |
2322 |
|
* TTY keys:: Using Org-mode on a tty |
2323 |
* Bugs:: Things which do not work perfectly |
* Bugs:: Things which do not work perfectly |
2324 |
* Acknowledgments:: These people provided feedback and more |
* Acknowledgments:: These people provided feedback and more |
2325 |
@end menu |
@end menu |
2452 |
@end enumerate |
@end enumerate |
2453 |
|
|
2454 |
|
|
2455 |
@node Interaction, Bugs, FAQ, Miscellaneous |
@node Interaction, TTY keys, FAQ, Miscellaneous |
2456 |
@section Interaction with other packages |
@section Interaction with other packages |
2457 |
@cindex packages, interaction with other |
@cindex packages, interaction with other |
2458 |
Org-mode can cooperate with the following packages: |
Org-mode can cooperate with the following packages: |
2514 |
on the diary support of planner. |
on the diary support of planner. |
2515 |
@end table |
@end table |
2516 |
|
|
2517 |
@node Bugs, Acknowledgments, Interaction, Miscellaneous |
@node TTY keys, Bugs, Interaction, Miscellaneous |
2518 |
|
@section Using org-mode on a tty |
2519 |
|
|
2520 |
|
Org-mode uses a number of keys that are not accessible on a tty. This |
2521 |
|
applies to most special keys like cursor keys, @key{TAB} and |
2522 |
|
@key{RET}, when these are combined with modifier keys like @key{Meta} |
2523 |
|
and/or @key{Shift}. Org-mode uses these bindings because it needs to |
2524 |
|
provide keys for a large number of commands, and because these keys |
2525 |
|
appeared particularly easy to remember. In order to still be able to |
2526 |
|
access the core functionality of Org-mode on a tty, alternative |
2527 |
|
bindings are provided. Here is a complete list of these bindings, |
2528 |
|
which are obviously more cumbersome to use. Note that sometimes a |
2529 |
|
work-around can be better. For example changing a time stamp is |
2530 |
|
really only fun with @kbd{S-@key{cursor}} keys. On a tty you would |
2531 |
|
rather use @kbd{C-c .} to re-insert the timestamp. |
2532 |
|
|
2533 |
|
@page |
2534 |
|
@multitable @columnfractions 0.15 0.2 0.2 |
2535 |
|
@item @b{Default} @tab @b{Alternative 1} @tab @b{Alternative 2} |
2536 |
|
@item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab |
2537 |
|
@item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{@key{Esc} @key{left}} |
2538 |
|
@item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab |
2539 |
|
@item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{@key{Esc} @key{right}} |
2540 |
|
@item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab |
2541 |
|
@item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{@key{Esc} @key{up}} |
2542 |
|
@item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab |
2543 |
|
@item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{@key{Esc} @key{down}} |
2544 |
|
@item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab |
2545 |
|
@item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab |
2546 |
|
@item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{@key{Esc} @key{RET}} |
2547 |
|
@item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab |
2548 |
|
@item @kbd{S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab |
2549 |
|
@item @kbd{S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab |
2550 |
|
@item @kbd{S-@key{up}} @tab @kbd{C-c C-x @key{up}} @tab |
2551 |
|
@item @kbd{S-@key{down}} @tab @kbd{C-c C-x @key{down}} @tab |
2552 |
|
@end multitable |
2553 |
|
|
2554 |
|
@node Bugs, Acknowledgments, TTY keys, Miscellaneous |
2555 |
@section Bugs |
@section Bugs |
2556 |
@cindex bugs |
@cindex bugs |
2557 |
|
|
2567 |
normal text. Also, @code{fill-region} does bypass the |
normal text. Also, @code{fill-region} does bypass the |
2568 |
@code{fill-paragraph} code and will fill tables like normal text. |
@code{fill-paragraph} code and will fill tables like normal text. |
2569 |
@item |
@item |
2570 |
|
Text in an entry protected with the @samp{QUOTE} keyword should not |
2571 |
|
autowrap. |
2572 |
|
@item |
2573 |
When the application called by @kbd{C-c C-o} to open a file link fails |
When the application called by @kbd{C-c C-o} to open a file link fails |
2574 |
(for example because the application does not exits or refuses to open |
(for example because the application does not exits or refuses to open |
2575 |
the file), it does so silently. No error message is displayed. |
the file), it does so silently. No error message is displayed. |
2576 |
@item |
@item |
2577 |
|
The remote-editing commands in the agenda buffer cannot be undone with |
2578 |
|
@code{undo} called from within the agenda buffer. But you can go to |
2579 |
|
the corresponding buffer (using @key{TAB} or @key{RET} and execute |
2580 |
|
@code{undo} there. |
2581 |
|
@item |
2582 |
Recalculating a table line applies the formulas from left to right. |
Recalculating a table line applies the formulas from left to right. |
2583 |
If a formula calculated fields further down the row, multiple |
If a formula uses @emph{calculated} fields further down the row, |
2584 |
recalculation may be needed to get all fields consistent. |
multiple recalculation may be needed to get all fields consistent. |
2585 |
@item |
@item |
2586 |
Under XEmacs, if Org-mode entries are included into the diary, it is |
Under XEmacs, if Org-mode entries are included into the diary, it is |
2587 |
not possible to jump back from the diary to the org file. Apparently, |
not possible to jump back from the diary to the org file. Apparently, |
2653 |
@item |
@item |
2654 |
Kai Grossjohann pointed out that a number of key bindings in Org-mode |
Kai Grossjohann pointed out that a number of key bindings in Org-mode |
2655 |
conflict with other packages. |
conflict with other packages. |
2656 |
|
@item |
2657 |
|
Roland Winkler pointed out that additional keybindings are need to use |
2658 |
|
Org-mode on a tty. |
2659 |
@end itemize |
@end itemize |
2660 |
|
|
2661 |
@node Index, Key Index, Miscellaneous, Top |
@node Index, Key Index, Miscellaneous, Top |