org: Multiple sets in one file
5.2.3 Multiple keyword sets in one file
---------------------------------------
Sometimes you may want to use different sets of TODO keywords in
parallel. For example, you may want to have the basic ‘TODO’/‘DONE’,
but also a workflow for bug fixing, and a separate state indicating that
an item has been canceled (so it is not DONE, but also does not require
action). Your setup would then look like this:
(setq org-todo-keywords
'((sequence "TODO" "|" "DONE")
(sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
(sequence "|" "CANCELED")))
The keywords should all be different, this helps Org mode to keep
track of which subsequence should be used for a given entry. In this
setup, ‘C-c C-t’ only operates within a subsequence, so it switches from
‘DONE’ to (nothing) to ‘TODO’, and from ‘FIXED’ to (nothing) to
‘REPORT’. Therefore you need a mechanism to initially select the
correct sequence. Besides the obvious ways like typing a keyword or
using completion, you may also apply the following commands:
‘C-u C-u C-c C-t’
‘C-S-<right>’
‘C-S-<left>’
These keys jump from one TODO subset to the next. In the above
example, ‘C-u C-u C-c C-t’ or ‘C-S-<right>’ would jump from ‘TODO’
or ‘DONE’ to ‘REPORT’, and any of the words in the second row to
‘CANCELED’. Note that the ‘C-S-’ key binding conflict with
‘shift-selection-mode’ (Conflicts).
‘S-<right>’
‘S-<left>’
‘S-<<left>>’ and ‘S-<<right>>’ and walk through _all_ keywords from
all sets, so for example ‘S-<<right>>’ would switch from ‘DONE’ to
‘REPORT’ in the example above. See also Conflicts, for a
discussion of the interaction with ‘shift-selection-mode’.