556 lines
17 KiB
HTML
556 lines
17 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml"
|
|
lang="en" xml:lang="en">
|
|
<head>
|
|
<title>Org-mode Frequently Asked Questions</title>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
|
|
<meta name="generator" content="Org-mode"/>
|
|
<meta name="generated" content="2007/09/10 07:06:01"/>
|
|
<meta name="author" content="Carsten Dominik"/>
|
|
<link rel=stylesheet href="freeshell2.css" type="text/css"> <style type="text/css"> .tag { color: red; font-weight:bold}</style>
|
|
</head><body>
|
|
<h1 class="title">Org-mode Frequently Asked Questions</h1>
|
|
<h2>Table of Contents</h2>
|
|
<ul>
|
|
<li><a href="#sec-1">1 General</a>
|
|
<ul>
|
|
<li><a href="#sec-2">1.1 Use features in other modes</a></li>
|
|
<li><a href="#sec-3">1.2 Visibility cycling in Outline-mode and Outline-minor-mode</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#sec-4">2 Errors</a>
|
|
<ul>
|
|
<li><a href="#sec-5">2.1 <code>(wrong-type-argument keymapp nil)</code></a></li>
|
|
<li><a href="#sec-6">2.2 CUA mode does not work with Org-mode</a></li>
|
|
<li><a href="#sec-7">2.3 <code>winddmove.el</code> does not work with Org-mode.</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#sec-8">3 Setup and Structure</a>
|
|
<ul>
|
|
<li><a href="#sec-9">3.1 Org-mode as default mode</a></li>
|
|
<li><a href="#sec-10">3.2 Get rid of extra stars in outline</a></li>
|
|
<li><a href="#sec-11">3.3 Two windows on same Org-mode file</a></li>
|
|
<li><a href="#sec-12">3.4 Insert empty lines before new headings and plain list items</a></li>
|
|
<li><a href="#sec-13">3.5 Amount of context in sparse trees</a></li>
|
|
<li><a href="#sec-14">3.6 Stacking calls to org-occur</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#sec-15">4 Hyperlinks</a>
|
|
<ul>
|
|
<li><a href="#sec-16">4.1 Confirmation for shell and elisp links</a></li>
|
|
<li><a href="#sec-17">4.2 Use RET or TAB to follow a link</a></li>
|
|
<li><a href="#sec-18">4.3 Clicking on a link without activating it</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#sec-19">5 Export</a>
|
|
<ul>
|
|
<li><a href="#sec-20">5.1 Make TODO entries items, not headlines in HTML export</a></li>
|
|
<li><a href="#sec-21">5.2 Export only a subtree</a></li>
|
|
<li><a href="#sec-22">5.3 How to import org-mode calendar data into Mac OSX ical</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#sec-23">6 Tables</a>
|
|
<ul>
|
|
<li><a href="#sec-24">6.1 #ERROR fields in tables</a></li>
|
|
<li><a href="#sec-25">6.2 Unwanted new lines in table</a></li>
|
|
<li><a href="#sec-26">6.3 Automatic detection of formulas</a></li>
|
|
<li><a href="#sec-27">6.4 Change indentation of a table</a></li>
|
|
<li><a href="#sec-28">6.5 Performance issues with table alignment</a></li>
|
|
<li><a href="#sec-29">6.6 Performance issues with table calculation</a></li>
|
|
<li><a href="#sec-30">6.7 Incrementing numbers</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#sec-31">7 Agenda</a>
|
|
<ul>
|
|
<li><a href="#sec-32">7.1 Include Org-mode agenda into Emacs diary</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h2 id="sec-1">1 General</h2>
|
|
|
|
|
|
<h3 id="sec-2">1.1 Use features in other modes</h3>
|
|
|
|
<p><b>I would like to use editing features of org-mode in other modes, is this possible?</b>
|
|
</p>
|
|
<p>
|
|
Not really. For tables there is <code>orgtbl-mode</code> which implements the
|
|
table editor as a minor mode. For other features you need to switch to
|
|
Org-mode temporarily, or prepare text in a different buffer.
|
|
</p>
|
|
|
|
|
|
<h3 id="sec-3">1.2 Visibility cycling in Outline-mode and Outline-minor-mode</h3>
|
|
|
|
|
|
<p>
|
|
<b>Can I get the visibility-cycling features in outline-mode and outline-minor-mode?</b>
|
|
</p>
|
|
<p>
|
|
Yes, these functions are written in a way that they are independent of
|
|
the outline setup. The following setup provides standard Org-mode
|
|
functionality in outline-mode on <code>TAB</code> and <code>S-TAB</code>. For
|
|
outline-minor-mode, we use <code>C-TAB</code> instead of <code>TAB</code>,
|
|
because <code>TAB</code> usually has mode-specific tasks.
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(add-hook 'outline-minor-mode-hook
|
|
(lambda ()
|
|
(define-key outline-minor-mode-map [(control tab)] 'org-cycle)
|
|
(define-key outline-minor-mode-map [(shift tab)] 'org-global-cycle)))
|
|
(add-hook 'outline-mode-hook
|
|
(lambda ()
|
|
(define-key outline-mode-map [(tab)] 'org-cycle)
|
|
(define-key outline-mode-map [(shift tab)] 'org-global-cycle)))
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
Or check out <i>outline-magic.el</i>, which does this and also provides
|
|
promotion and demotion functionality. <i>outline-magic.el</i> is
|
|
available at <a href="http://www.astro.uva.nl/~dominik/Tools/OutlineMagic">Outline Magic</a>.
|
|
</p>
|
|
|
|
<h2 id="sec-4">2 Errors</h2>
|
|
|
|
|
|
<h3 id="sec-5">2.1 <code>(wrong-type-argument keymapp nil)</code></h3>
|
|
|
|
<p><b>When I try to use Org-mode, I always get the error message @code{(wrong-type-argument keymapp nil)}</b>
|
|
</p>
|
|
<p>
|
|
This is a conflict with an outdated version of the <i>allout.el</i>, see
|
|
the <a href="http://staff.science.uva.nl/~dominik/Tools/org/org.html#Conflicts">Conflicts</a> section in the manual
|
|
</p>
|
|
|
|
<h3 id="sec-6">2.2 CUA mode does not work with Org-mode</h3>
|
|
|
|
|
|
<p>
|
|
<b>Org-mode takes over the S-cursor keys. I also want to use CUA-mode, is there a way to fix this conflict?</b>
|
|
</p>
|
|
<p>
|
|
Yes, see the <a href="http://staff.science.uva.nl/~dominik/Tools/org/org.html#Conflicts">Conflicts</a> section of the manual.
|
|
</p>
|
|
|
|
<h3 id="sec-7">2.3 <code>winddmove.el</code> does not work with Org-mode.</h3>
|
|
|
|
|
|
<p>
|
|
<b>Org-mode takes over the S-cursor keys. I also want to use windmove.el, is there a way to fix this conflict?</b>
|
|
</p>
|
|
<p>
|
|
Yes, see the <a href="http://staff.science.uva.nl/~dominik/Tools/org/org.html#Conflicts">Conflicts</a> section of the manual.
|
|
</p>
|
|
|
|
<h2 id="sec-8">3 Setup and Structure</h2>
|
|
|
|
|
|
<h3 id="sec-9">3.1 Org-mode as default mode</h3>
|
|
|
|
|
|
<p>
|
|
<b>Org-mode seems to be a useful default mode for the various README files I have scattered through my directories</b>. <b>How do I turn it on for all README files?</b>
|
|
</p>
|
|
<p>
|
|
Add the following to your .emacs file:
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(add-to-list 'auto-mode-alist '("README$" . org-mode))
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
You can even make it the default mode for any files with unspecified
|
|
mode using
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq default-major-mode 'org-mode)
|
|
</pre>
|
|
</p>
|
|
|
|
<h3 id="sec-10">3.2 Get rid of extra stars in outline</h3>
|
|
|
|
|
|
<p>
|
|
<b>All these stars are driving me mad, I just find the Emacs outlines unreadable. Can't you just put white space and a single star as a starter for headlines?</b>
|
|
</p>
|
|
<p>
|
|
See the section <a href="http://staff.science.uva.nl/~dominik/Tools/org/org.html#Clean%20outline%20view">Clean outline view</a> in the manual.
|
|
</p>
|
|
|
|
<h3 id="sec-11">3.3 Two windows on same Org-mode file</h3>
|
|
|
|
<p><b>I would like to have two windows on the same Org-mode file, but with different outline visibility. Is that possible?</b>
|
|
</p>
|
|
<p>
|
|
You may use <i>indirect buffers</i> which do exactly this. See the
|
|
documentation on the command <code>make-indirect-buffer</code>.
|
|
</p>
|
|
|
|
<h3 id="sec-12">3.4 Insert empty lines before new headings and plain list items</h3>
|
|
|
|
|
|
<p>
|
|
<b>I would like to have an empty line before each newly inserted headline, but not before each newly inserted plain-list item</b>.
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-blank-before-new-entry
|
|
'((heading . t) (plain-list-item . nil))
|
|
</pre>
|
|
</p>
|
|
|
|
|
|
<h3 id="sec-13">3.5 Amount of context in sparse trees</h3>
|
|
|
|
|
|
<p>
|
|
*Sparse tree show the headline hierarchy above each match, and also
|
|
the headline following a match. I'd like to construct more compact
|
|
trees, with less context.*
|
|
</p>
|
|
<p>
|
|
Take a look at the variables <code>org-show-hierarchy-above</code> and
|
|
<code>org-show-following-headline</code>.
|
|
</p>
|
|
|
|
<h3 id="sec-14">3.6 Stacking calls to org-occur</h3>
|
|
|
|
|
|
<p>
|
|
<b>Each call to org-occur starts again from OVERVIEW and exposes only the matches of the current call. I'd like to combine the effect of several calls</b>.
|
|
</p>
|
|
<p>
|
|
You can construct a regular expression that matches all targets you
|
|
want. Alternatively, use a <code>C-u</code> prefix with the second and any
|
|
further calls to <code>org-occur</code> to keep the current visibility and
|
|
highlighting in addition to the new ones.
|
|
</p>
|
|
|
|
<h2 id="sec-15">4 Hyperlinks</h2>
|
|
|
|
|
|
|
|
<h3 id="sec-16">4.1 Confirmation for shell and elisp links</h3>
|
|
|
|
|
|
<p>
|
|
<b>When I am executing shell/elisp links I always get a confirmation prompt and need to type "yes RET", that's 4 key presses! Can I get rid of this?</b>
|
|
</p>
|
|
<p>
|
|
The confirmation is there to protect you from unwantingly execute
|
|
potentially dangerous commands. For example, imagine a link
|
|
<pre>
|
|
[[shell:rm -rf ~/*][ Google Search]]
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
In an Org-mode buffer, this command would look like <i>Google Search</i>,
|
|
but really it would remove your home directory. If you wish, you can
|
|
make it easier to respond to the query by setting
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-confirm-shell-link-function 'y-or-n-p
|
|
org-confirm-elisp-link-function 'y-or-n-p).
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
Then a single keypress will be enough to confirm those links. It is
|
|
also possible to turn off this check entirely, but I strongly recommend
|
|
against this. Be warned.
|
|
</p>
|
|
|
|
<h3 id="sec-17">4.2 Use RET or TAB to follow a link</h3>
|
|
|
|
|
|
<p>
|
|
<b>From other packages like Emacs-wiki, I am used to follow links with <code>RET</code> when the cursor is on the link. Is this also possible in org-mode?</b>
|
|
</p>
|
|
<p>
|
|
Yes, and you may also use TAB.
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-return-follows-link t)
|
|
(setq org-tab-follows-link t)
|
|
</pre>
|
|
</p>
|
|
|
|
<h3 id="sec-18">4.3 Clicking on a link without activating it</h3>
|
|
|
|
|
|
<p>
|
|
<b>Each time I click inside a link in order to set point to this location, Org-mode actually follows the link</b>
|
|
</p>
|
|
<p>
|
|
Activating links with <code>mouse-1</code> is a new feature in Emacs 22, to make
|
|
link behavior similar to other applications like web browsers. If you
|
|
hold the mouse button down a bit longer, the cursor will be set
|
|
without following the link. If you cannot get used to this behavior,
|
|
you can (as in Emacs 21) use <code>mouse-2</code> to follow links and turn off
|
|
link activation for <code>mouse-1</code> with
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-mouse-1-follows-link nil)
|
|
</pre>
|
|
</p>
|
|
|
|
|
|
<h2 id="sec-19">5 Export</h2>
|
|
|
|
|
|
<h3 id="sec-20">5.1 Make TODO entries items, not headlines in HTML export</h3>
|
|
|
|
|
|
<p>
|
|
<b>When I export my TODO list, every TODO item becomes a separate section. How do I enforce these items to be exported as an itemized list?</b>
|
|
</p>
|
|
<p>
|
|
If you plan to use ASCII or HTML export, make sure things you want to
|
|
be exported as item lists are level 4 at least, even if that does mean
|
|
there is a level jump. For example:
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
* Todays top priorities
|
|
**** TODO write a letter to xyz
|
|
**** TODO Finish the paper
|
|
**** Pick up kids at the school
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
Alternatively, if you need a specific value for the heading/item
|
|
transition in a particular file, use the <code>#+OPTIONS</code> line to
|
|
configure the H switch.
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
#+OPTIONS: H:2; ...
|
|
</pre>
|
|
</p>
|
|
|
|
<h3 id="sec-21">5.2 Export only a subtree</h3>
|
|
|
|
|
|
<p>
|
|
<b>I would like to export only a subtree of my file to HTML. How?</b>
|
|
</p>
|
|
<p>
|
|
If you want to export a subtree, mark the subtree as region and then
|
|
export. Marking can be done with <code>C-c @ C-x C-x</code>, for example.
|
|
</p>
|
|
|
|
<h3 id="sec-22">5.3 How to import org-mode calendar data into Mac OSX ical</h3>
|
|
|
|
|
|
<p>
|
|
<b>I would like my iCal program on Mac OSX to import the iCalendar file produced by Org-mode. How?</b>
|
|
</p>
|
|
<p>
|
|
<i>This is for OSX 10.3, see below for 10.4:</i> When using iCal under
|
|
Apple MacOS X, you can create a new calendar <i>OrgMode</i> (the default
|
|
name for the calendar created by <code>C-c C-e c</code>, see the variables
|
|
<code>org-icalendar-combined-name</code> and
|
|
<code>org-combined-agenda-icalendar-file</code>). Then set Org-mode to overwrite
|
|
the corresponding file <i>~/Library/Calendars/OrgMode.ics</i>. You may
|
|
even use AppleScript to make iCal re-read the calendar files each time
|
|
a new version of <i>OrgMode.ics</i> is produced. Here is the setup needed
|
|
for this:
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-combined-agenda-icalendar-file
|
|
"~/Library/Calendars/OrgMode.ics")
|
|
(add-hook 'org-after-save-iCalendar-file-hook
|
|
(lambda ()
|
|
(shell-command
|
|
"osascript -e 'tell application \"iCal\" to reload calendars'")))
|
|
</pre>
|
|
</p>
|
|
|
|
<p>
|
|
For Mac OS X 10.4, you need to write the ics file to
|
|
<code>/Library/WebServer/Documents/</code> and then subscribe iCalendar to
|
|
<code>http: //localhost/orgmode.ics</code>
|
|
</p>
|
|
|
|
<h2 id="sec-23">6 Tables</h2>
|
|
|
|
|
|
<h3 id="sec-24">6.1 #ERROR fields in tables</h3>
|
|
|
|
|
|
<p>
|
|
<b>One of my table columns has started to fill up with <code>#ERROR</code>. What is going on?</b>
|
|
</p>
|
|
<p>
|
|
Org-mode tried to compute the column from other fields using a
|
|
formula stored in the <code>#+TBLFM:</code> line just below the table, and
|
|
the evaluation of the formula fails. Fix the fields used in the
|
|
formula, or fix the formula, or remove it!
|
|
</p>
|
|
|
|
<h3 id="sec-25">6.2 Unwanted new lines in table</h3>
|
|
|
|
|
|
<p>
|
|
<b>When I am in the last column of a table and just above a horizontal line in the table, pressing TAB creates a new table line before the horizontal line</b>. <b>How can I quickly move to the line below the horizontal line instead?</b>
|
|
</p>
|
|
<p>
|
|
Press <code>down</code> (to get on the separator line) and then <code>TAB</code>.
|
|
Or configure the variable
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-table-tab-jumps-over-hlines t)
|
|
</pre>
|
|
</p>
|
|
|
|
<h3 id="sec-26">6.3 Automatic detection of formulas</h3>
|
|
|
|
<p><b>I need to use fields in my table that start with "=", and each time I enter such a field, Org-mode thinks this is a formula</b>.
|
|
</p>
|
|
<p>
|
|
With the setting
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-table-formula-evaluate-inline nil)
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
this will no longer happen. You can still use formulas using the
|
|
commands <tt>C-c =</tt> and <tt>C-u C-c =</tt>
|
|
</p>
|
|
|
|
|
|
<h3 id="sec-27">6.4 Change indentation of a table</h3>
|
|
|
|
<p><b>How can I change the indentation of an entire table without fixing every line by hand?</b>
|
|
</p>
|
|
<p>
|
|
The indentation of a table is set by the first line. So just fix the
|
|
indentation of the first line and realign with <code>TAB</code>.
|
|
</p>
|
|
|
|
<h3 id="sec-28">6.5 Performance issues with table alignment</h3>
|
|
|
|
<p><b>I have a huge table in a file, and the automatic realign of tables is just taking too long. What can I do?</b>
|
|
</p>
|
|
<p>
|
|
Either split the table into several by inserting an empty line every
|
|
100 lines or so. Or turn off the automatic re-align with
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-table-automatic-realign nil)
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
After this the only way to realign a table is to press <code>C-c C-c</code>. It
|
|
will no longer happen automatically, removing the corresponding delays
|
|
during editing.
|
|
</p>
|
|
|
|
<h3 id="sec-29">6.6 Performance issues with table calculation</h3>
|
|
|
|
<p><b>I have a complex table with lots of formulas, and recomputing the table takes rather long. What can I do?</b>
|
|
</p>
|
|
<p>
|
|
Nothing, really. The spreadsheet in org is mostly done to make
|
|
calculations possible, not so much to make them fast. Since Org-mode
|
|
is firmly committed to the ASCII format, nothing is stopping you from
|
|
editing the table by hand. Therefore, there is no internal
|
|
representation of the data. Each time Org-mode starts a computation,
|
|
it must scan the table for special lines, find the fields etc. This
|
|
is slow. Furthermore, Calc is slow compared to hardware computations.
|
|
To make this work with normal editing, recalculation is not happening
|
|
automatically, or only for the current line, so that the long wait for
|
|
a full table iteration only happens when you ask for it.
|
|
</p>
|
|
<p>
|
|
So for really complex tables, moving to a "real" spreadsheet may still
|
|
be the best option.
|
|
</p>
|
|
<p>
|
|
That said, there are some ways to optimize things in Org-mode, and I
|
|
have been thinking about moving a bit further down this line.
|
|
However, for my applications this has so far not been an issue at all.
|
|
If you have a good case,you could try to convince me.
|
|
</p>
|
|
|
|
<h3 id="sec-30">6.7 Incrementing numbers</h3>
|
|
|
|
<p><b>When I press <code>S-RET</code> in a table field to copy its value down, the content is not copied as is, but it is increased by one. Is that a bug or a feature</b>
|
|
</p>
|
|
<p>
|
|
Well, it is <i>supposed</i> to be a feature, to make it easy to create a
|
|
column with increasing numbers. If this gets into your way, turn it
|
|
off with
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(setq org-org-table-copy-increment nil)
|
|
</pre>
|
|
</p>
|
|
|
|
<h2 id="sec-31">7 Agenda</h2>
|
|
|
|
|
|
<h3 id="sec-32">7.1 Include Org-mode agenda into Emacs diary</h3>
|
|
|
|
<p><b>Is it possible to include entries from org-mode files into my emacs diary?</b>
|
|
</p>
|
|
<p>
|
|
Since the org-mode agenda is much more powerful and can contain the
|
|
diary, you should think twice before deciding to do this. If you
|
|
insist, however, integrating Org-mode information into the diary is
|
|
possible. You need to turn on <i>fancy diary display</i> by setting in
|
|
.emacs:
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
(add-hook 'diary-display-hook 'fancy-diary-display)
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
Then include the following line into your ~/diary file, in
|
|
order to get the entries from all files listed in the variable
|
|
<code>org-agenda-files</code>
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
&%%(org-diary)
|
|
</pre>
|
|
You may also select specific files with
|
|
</p>
|
|
<p>
|
|
<pre>
|
|
&%%(org-diary) ~/path/to/some/org-file.org
|
|
&%%(org-diary) ~/path/to/another/org-file.org
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
If you now launch the calendar and press <tt>d</tt> to display a diary, the
|
|
headlines of entries containing a timestamp, date range, schedule, or
|
|
deadline referring to the selected date will be listed. Just like
|
|
Org-mode's agenda view, the diary for <i>today</i> contains additional
|
|
entries for overdue deadlines and scheduled items. See also the
|
|
documentation of the <code>org-diary</code> function. Under XEmacs, it is
|
|
not possible to jump back from the diary to the org, this works only in
|
|
the agenda buffer.
|
|
</p>
|
|
|
|
<p class="author"> Author: Carsten Dominik
|
|
<a href="mailto:carsten.dominik@gmail.com"><carsten.dominik@gmail.com></a>
|
|
</p>
|
|
<p class="date"> Date: 2007/09/10 07:06:01</p>
|
|
</body>
|
|
</html>
|