組織模式捕獲

組織模式捕獲

我正在嘗試為 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在捕獲過程完成之前執行該函數。

相關內容