2012-11-25 54 views

回答

5

組織模式有一個很好的文檔,使用它。 (info "(org) Deadlines and scheduling")

您可以使用時間戳與調度和期限 項中繼器。組織模式將基於 假設時間戳代表最近的 轉發器實例發出提前和延遲警告。然而,在日程安排和截止日期時間戳中使用日記性比例項目如'< %%(diary-float t 42)''是有限的。組織模式 不知道每個sexp函數的內部發出 早期和晚期警告。不過,它會在每天 的位置顯示sexp條目匹配的項目。

* My Task 
    <%%(diary-float t 6 1)> 
+0

謝謝。我確實看過文檔,但直到我剛纔做的谷歌搜索之前,我不知道日記式的sexp條目是什麼 - 所以我瀏覽了相關部分。再次感謝! – stephenloughran

+0

不客氣。不要忘記驗證答案。;) – Daimrod

+1

sexp應該是(org-float t 6 1) – cfy

4

調度和截止日期戳使用SEXP是有限的,像信息說

組織模式沒有足夠的瞭解每個SEXP功能內部的早期和晚期的警告發出 。

我寫了一個elisp代碼來自動更改時間戳,使用它,您所需要做的就是設置一個屬性。

的elisp的代碼是here

  1. 添加(load "/path/to/next-spec-day")您點的Emacs文件。

  2. 設置NEXT-SPEC-DEADLINE和/或TODO任務NEXT-SPEC-SCHEDULED財產,像這樣:

    * test 
        :PROPERTIES: 
        :NEXT-SPEC-SCHEDULED: (org-float t 6 1) 
        :END: 
    

    的NEXT-SPEC-調度的值是一個SEXP將返回non-nil如果date是每月的第一個星期六

  3. 然後,當你改變的那個任務的TODO狀態,時間戳將自動轉換(包括預警設置前置時間)。它變爲:

    * TODO test 
        SCHEDULED: <2013-01-05 Sat> 
        :PROPERTIES: 
        :NEXT-SPEC-SCHEDULED: (org-float t 6 1) 
        :END: 
    
11

org-float現已過時(請參閱this commit)。從現在開始,您必須使用diary-float代替org-float

(對不起,噪音:這不應該得到一個完整的答案,但現在我沒有足夠的「聲譽」來評論。)

相關問題