使用org-capture-templates为今天后的第二天安排TODO

时间:2011-11-02 20:30:26

标签: emacs org-mode

在org-mode中,我知道如何创建待办事项并使用时间戳,以便今天安排。我如何安排明天?不幸的是,我不知道Elisp,现在没时间学习它。这是我的.emacs文件:

 (setq org-capture-templates
      '(("t" "Agenda Todo" entry
     (file+headline "c:/Org/agenda.org" "Agenda")
     "\n\n** TODO %?\nSCHEDULED: <%<%Y-%m-%d %a>>" 
     :empty-lines 1)

我需要将%m-%d%a替换为增加一天的值。

3 个答案:

答案 0 :(得分:4)

解决Juancho的回答*我能够提出有效的时间戳。

以下内容将提供组织创建的时间戳。

"[...]SCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+1d\"))" 

org-read-date生成一个日期,+1d将来一天轮班。 nil t告诉它不包含HH:MM时间并将日期转换为内部TIME表示。

org-insert-time-stamp需要TIME并使用正常的组织模式格式(包括工作日缩写)将其转换为时间戳

*答案不起作用,因为     <%(org-read-date nil nil \"+1d\")>" 结果是 <YYYY-MM-DD>


更新

时间戳现在在组织模式下有效(它被添加以允许从外部组织模式输入时间戳,在那里他们不能自动计算我相信的星期几)。

因此,Juancho的回答也会奏效。

答案 1 :(得分:2)

这适用于您的模板字符串:

"\n\n** TODO %?\nSCHEDULED: <%(org-read-date nil nil \"+1d\")>"

org-read-date生成时间戳; +1d明天意味着。

答案 2 :(得分:2)

此外,如果您想要一个可重复的模板,它会生成如下的时间戳:

SCHEDULED: <2012-08-17 Fri .+1d>

你可以使用这个:

SCHEDULED:%(org-insert-time-stamp (org-read-date nil t) nil nil nil nil \" .+1d\")