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 keep track of which subsequence should be used for a given entry. In this setup, C-c C-t
only operates within a sub-sequence, 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. In addition to typing a keyword or using completion (see 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 sub-sequence 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 (see Conflicts).
S-RIGHT
β
S-LEFT
β
S-LEFT
and S-RIGHT
walk through all keywords from all sub-sequences, so for example S-RIGHT
would switch from βDONE
β to βREPORT
β in the example above. For a discussion of the interaction with shift-selection, see Conflicts.