【发布时间】:2014-07-26 17:56:59
【问题描述】:
我想为 org-mode 的 TODO 功能定义一个自定义序列。
所以我将它添加到文件的最顶部(第一列):
#+SEQ_TODO: TODO TEST DONE
最后,当我按下C-c C-t 时,序列并没有出现,它只是正常的TODO-->Done--->blank 序列。
为什么没有使用我的自定义序列?
我的org-agenda-files 设置为:
(setq org-agenda-files '("~/Documents/org"))
进一步尝试:
-
我尝试运行
C-c \,这在底部给出了“匹配:”提示,但没有返回任何匹配的结果。C-c \ runs the command org-match-sparse-tree, which is an interactive compiled Lisp function in org.el'.我感觉
C-c \不返回任何匹配项可能表明存在一些潜在问题。可能导致顶部的“序列指令”不被解析的问题? -
然后我运行
C-c [映射到:C-c [ runs the command org-agenda-file-to-front, which is an interactive compiled Lisp function in org.el'.这会重新解析 .org 文件。没有改变任何东西。
那么,我该如何定义自定义 TODO 序列?
还有一个次要问题,为什么C-c \ 不起作用?
我可以运行C-c a,这是议程模式,我可以在其中执行C-c \所做的事情,但我很想知道。
提前感谢您的宝贵时间和关心。
杰尼亚
【问题讨论】:
-
为我工作。当你访问文件/缓冲区时,组织模式应该读取它,所以如果你把它放在缓冲区的顶部并且还没有保存/重新打开它,要么这样做,要么重新进入组织模式(通过
M-x org-mode) 在那个缓冲区上。现在可以用了吗? -
你可能已经这样做了——当使用
org-agenda-files变量的目录时,正在使用的文件必须以.org结尾——或者你可以修改org-agenda-file-regexp来添加额外的文件扩展名。如果您在修改配置后还没有重新启动 Emacs,那么请继续这样做。检查您的org-agenda-files变量配置:M-x eval-expression RET (org-agenda-files) RET -
如果您通过顶部的
#+SEQ_TODO: TODO TEST DONE执行缓冲区本地序列,那么org-agenda-files中的内容或文件扩展名是什么都没有关系(除了 *.org文件在访问时自动在org-mode中打开)。缓冲区只需要在org-mode,可以自动设置也可以手动设置。