Org 模式捕获

Org 模式捕获

我正在尝试为 org-capture 制作一个“类”模板。

我想要的是轻松地进行这种输入:

* TODO <course>: Week <week> Lecture <number>
  SCHEDULED: %^T
** TODO prepare for class: <course>-<week>-<number>
   SCHEDULED: <two days before T> DEADLINE: <one day before T>
** TODO review class: <course>-<week>-<number>
   SCHEDULED: <one day after T> DEADLINE: <two days after T>

目前,我有这个模板。

(setq org-capture-templates
   '(
     ("c" "Class" entry (file "~/sydbox/personal/workflow/class.txt")
          "* TODO %^{Course}: Week %^{Week} Lecture %^{Number}\n SCHEDULED: %^T\n ** TODO prepare for %{Course}-%{week}-%{Number}")
     ))

但是,现在我不知道如何输入日期。应该提示课程的日期和时间。我也不知道如何重复使用提示的答案。

答案1

模板扩展允许%\1%\2等重复使用提示的答案,因此您可以尝试这样做:

("c" "Class" entry (file "~/sydbox/personal/workflow/class.txt")
      "* TODO %^{Course}: Week %^{Week} Lecture %^{Number}\n SCHEDULED: %^{Sched}T\n ** TODO prepare for %\\1-%\\2-%\\3")

输入日期时,系统会显示一个日历。从那里,您可以使用 Shift-箭头键选择日期,或者这些命令

答案2

您可以尝试编写一个函数来执行您想要的日期算术并替换捕获模板中的占位符,然后org-capture-before-finalize-hook在捕获过程完成之前使用该函数运行。

相关内容