组织模式和 `org-todo` 功能

Org Mode and the `org-todo` function

我正在尝试编写一些键绑定。

M-x describe-function org-todo 给出:

...

When called through ELisp, arg is also interpreted in the following way:
`none'             -> empty state
""(empty string)  -> switch to empty state
`done'             -> switch to DONE
`nextset'          -> switch to the next set of keywords
`previousset'      -> switch to the previous set of keywords
"WAITING"         -> switch to the specified keyword, but only if it
                     really is a member of `org-todo-keywords'.

但是,我正在尝试将 'previousset 符号用作:

(org-todo 'previousset)

这是行不通的。我知道我在有效地调用它,因为

(org-todo "TODO")

将其更改为 TODO。

previousset符号在哪里定义的?我在任何地方都找不到定义。

答案: 我发现 (org-todo 'left) 可以满足我的要求。请注意,left 符号未定义,因此它有点像字符串而不是变量,正如 CantrianBear 所描述的那样。

following question 的评论之一几乎回答了您的问题。 previoussetnextset 引导您进入下一组已定义的关键字。为此,org-todo-keywords 需要包含多个关键字:

(setq org-todo-keywords '((sequence "TODO" "DONE") 
                          (sequence "TODO2" "DONE2")))

如果您只想按一个顺序循环定义的关键字,只需键入 C-c C-t (org-todo)。