将现有条目重新填充到组织模式日期树中的不同位置

时间:2014-10-30 08:59:26

标签: emacs org-mode

我使用Org-Mode日记来记录我即将到来的约会。

在我的diary.org文件中,我可以看到如下所示的条目:

*** 2014-10-31 Friday
**** 9:30 Take dog to vet
     <2014-10-31 Fri>

现在想象一下,我需要重新安排我的兽医预约。是否有一种快速方法(即一些组织模式命令)来重新填充同一文件中但在不同日期下的相应标题?

2 个答案:

答案 0 :(得分:2)

org-refile与C-c C-w一起使用。这将允许您将其重新安排到重新安排的日期。另外一定要检查变量org-refile-use-outline-path(默认为nil)和org-outline-path-complete-in-steps。

我还建议使用组织模式日期的全部功能,以便它们恰当地出现在议程(C-a)中。例如:

* Take Dog to Vet
  <2014-10-31 Fri 09:30>--<2014-10-31 Fri 10:30>

答案 1 :(得分:1)

我没有看到内置函数执行此操作,但听起来非常有用。这个函数实际上只是简化org-archive.el中存档到日期树的代码。如果您想要根据SCHEDULEDDEADLINE或其他一些属性进行重新设置,只需更改&#34; TIMESTAMP&#34;到你想要的房产。

(defun org-refile-to-datetree ()
  "Refile a subtree to a datetree corresponding to it's timestamp."
  (interactive)
  (let* ((datetree-date (org-entry-get nil "TIMESTAMP" t))
         (date (org-date-to-gregorian datetree-date)))
    (when date
      (save-excursion
        (org-cut-subtree)
        (org-datetree-find-date-create date)
        (org-narrow-to-subtree)
        (show-subtree)
        (org-end-of-subtree t)
        (newline)
        (goto-char (point-max))
        (org-paste-subtree 4)
        (widen)
        )
      )
    ))