【发布时间】:2012-01-08 21:03:17
【问题描述】:
我想在 emacs org-mode 中安排一个任务在一天中多次显示。
编辑:例如,假设我希望你在白天每 2 小时给我的妻子打电话。
【问题讨论】:
-
你能举个具体的例子吗?
-
似乎不支持每小时中继器(至少现在),请参阅comments.gmane.org/gmane.emacs.orgmode/30440
我想在 emacs org-mode 中安排一个任务在一天中多次显示。
编辑:例如,假设我希望你在白天每 2 小时给我的妻子打电话。
【问题讨论】:
根据Repeated Tasks 上的组织模式手册,有一个每小时中继器:
在下面的例子中
** TODO Pay the rent DEADLINE: <2005-10-01 Sat +1m>
+1m是转发器;预期的解释是任务 在<2005-10-01>有一个截止日期,并且每(一)个月重复一次 从那个时候开始。您可以使用年、月、周、日 并且每小时使用y/w/m/d/h字母重复cookie。
你可以使用类似的东西:
* TODO Call Wife
DEADLINE: <2013-02-17 Sun 16:00 +2h>
不幸的是,我注意到特殊中继器修饰符(++ 和 .+)不适用于每小时中继器。手册说:
** TODO Call Father DEADLINE: <2008-02-10 Sun ++1w> Marking this DONE will shift the date by at least one week, but also by as many weeks as it takes to get this date into the future. However, it stays on a Sunday, even if you called and marked it done on Saturday.
基于此,您会期望使用每小时中继器(例如上面的那个)标记条目DONE 将“将时间移动至少 n 小时,但也需要尽可能多的小时才能得到这个未来的日期”。
但是,这是我在标记两个条目后得到的结果DONE:
** TODO Call Father
DEADLINE: <2013-03-03 Sun ++1w>
- State "DONE" from "TODO" [2013-02-25 Mon 23:06]
:PROPERTIES:
:LAST_REPEAT: [2013-02-25 Mon 23:06]
:END:
** TODO Call Wife
DEADLINE: <2013-02-17 Sun 18:00 ++2h>
- State "DONE" from "TODO" [2013-02-25 Mon 23:06]
:PROPERTIES:
:LAST_REPEAT: [2013-02-25 Mon 23:06]
:END:
如您所见,第二个条目中的时间已转移到18:00,但日期仍然相同。
关于明确创建重复项目的方法,另一个功能可能很有用。手册说:
使用转发器的另一种方法是创建多个副本 一个任务子树,每个副本中的日期都有变化。命令
C-c C-x c是为此目的而创建的,它在Structure editing 中进行了描述。
但不幸的是,它不适用于小时数。
本文中的信息基于 Org Mode 版本 7.9.3.e.
【讨论】:
.+ 再次中断数小时。无论当前时间如何,使用 2020-03-30 Mon 00:00 .+14h 清理 Emacs 都会重复到 2020-03-30 Mon 14:00 .+14h。
在没有小时/分钟级别重复器的情况下,如果间隔不是太小,您可以为小时添加多个时间戳,同时使用其他设施来处理重复项:
** Testentry
<2012-01-19 Do 10:00 +1w>
<2012-01-19 Do 12:00 +1w>
生成的议程视图
Thursday 19 January 2012
Calendar: 10:00...... Testentry
Calendar: 12:00...... Testentry
[...]
Thursday 26 January 2012
8:00...... ----------------
Calendar: 9:45-10:00 XXXXXXXXXXXXXX :OFFICE:
10:00......
Calendar: 10:00...... Testentry
10:00...... ----------------
Calendar: 12:00...... Testentry
[...]
【讨论】: