Next: Fast access to TODO states, Previous: TODO types, Up: TODO extensions [Contents][Index]

#### 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` (see 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`.

Next: Fast access to TODO states, Previous: TODO types, Up: TODO extensions [Contents][Index]