【问题标题】:org-habit shows no habitsorg-habit 没有显示习惯
【发布时间】:2017-08-09 13:32:45
【问题描述】:

我已经在使用 Brent Hansen 的 amazing org setup 时发布了 before。这一次,我在让 org-mode 显示我的习惯方面特别有问题。

我最近不得不对我的 emacs 进行核对并从头开始,所以调试很困难。

我很确定我已启用habit 模式,因为:

  1. 我已在我的.emacs 中启用(见下文)

;; Enable habit tracking (setq org-modules (quote (org-habit)))

; position the habit graph on the agenda to the right of the default (setq org-habit-graph-column 50)

(run-at-time "06:00" 86400 '(lambda () (setq org-habit-show-habits t)))

  1. 我的习惯捕获模板似乎设置为包含所需的所有内容:

    ("h" "Habit" entry (file "~/Dropbox/org-new/refile.org") "* NEXT %?\n%U\n%a\nSCHEDULED: %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n")

  2. 我的顶级标题中有一组额外的属性,用于显示以下习惯:

    * Habits :PROPERTIES: :LOGGING: DONE(!) :ARCHIVE: %s_archive::* Habits :END:

  3. 当我运行议程时,我在模式行中看到(Org-Agenda Day Ddl Grid Habit Wrap)

尽管如此,当我运行议程时,我的习惯和习惯图表都没有显示出来。我已经尽我所能尝试解决这个问题,但我现在已经无能为力了。任何帮助将不胜感激!

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

    您需要为您的习惯添加一个值为habit:STYLE: 属性:

     ** TODO Shave
        SCHEDULED: <2009-10-17 Sat .+2d/4d>
        - State "DONE"       from "TODO"       [2009-10-15 Thu]
        - State "DONE"       from "TODO"       [2009-10-12 Mon]
        - State "DONE"       from "TODO"       [2009-10-10 Sat]
        - State "DONE"       from "TODO"       [2009-10-04 Sun]
        - State "DONE"       from "TODO"       [2009-10-02 Fri]
        - State "DONE"       from "TODO"       [2009-09-29 Tue]
        - State "DONE"       from "TODO"       [2009-09-25 Fri]
        - State "DONE"       from "TODO"       [2009-09-19 Sat]
        - State "DONE"       from "TODO"       [2009-09-16 Wed]
        - State "DONE"       from "TODO"       [2009-09-12 Sat]
        :PROPERTIES:
        :STYLE:    habit
        :LAST_REPEAT: [2009-10-19 Mon 00:36]
        :END:
    

    Tracking your habits

    编辑:虽然 STYLE:habit 属性是必需的,但在这种情况下这不是问题(如 cmets 中所述)。但是,很可能是标题中元素的顺序 是问题所在。在以下示例中运行 org-lint

    * NEXT Exercise
      [2017-07-16 Sun 19:36]
      [[file:~/Dropbox/org-new/todo.org::*Write][Write]]
      SCHEDULED: <2017-07-16 Sun .+1d/2d>
      :PROPERTIES:
        :STYLE: habit
        :REPEAT_TO_STATE: NEXT
      :END:
    

    我明白了

     3 low   Link to non-existent local file "~/Dropbox/org-new/todo.org"
     4 low   Misplaced planning info line
     5 high  Incorrect location for PROPERTIES drawer
    

    如果我将文件重新组织一下:

    * NEXT Exercise
      SCHEDULED: <2017-07-16 Sun .+1d/2d>
      :PROPERTIES:
        :STYLE: habit
        :REPEAT_TO_STATE: NEXT
      :END:
     [2017-07-16 Sun 19:36]
     [[file:~/Dropbox/org-new/todo.org::*Write][Write]]
    

    然后high 优先级警告消失。我不知道这是否会使习惯起作用,但我愿意打赌它会起作用。

    manual 声明:

    当它们与单个条目或树相关联时,需要将它们插入到名为 PROPERTIES 的特殊抽屉(请参阅抽屉)中,该抽屉必须位于标题的正下方,并且其规划线(请参阅截止日期和日程安排)(如果适用)。

    【讨论】:

    • 嘿@Nick,我已经做到了。如果您在上面看到我的捕获模板,它会强加样式。例如,这里有一个明确定义了:STYLE: 属性的习惯。 * NEXT Exercise [2017-07-16 Sun 19:36] [[file:~/Dropbox/org-new/todo.org::*Write][Write]] SCHEDULED: &lt;2017-07-16 Sun .+1d/2d&gt; :PROPERTIES: :STYLE: habit :REPEAT_TO_STATE: NEXT :END: 对不起!评论框似乎没有正确格式化换行符!
    • 糟糕 - 抱歉。我错过了。您条目中的第一个换行符到底在哪里? org 9 对条目的结构施加了一些限制。尝试在文件上运行org-lint,看看是否有任何投诉。
    • 现在我又看了一下你的模板,我认为确实是结构让你绊倒了(但我还没有尝试过,所以用适当的盐粒来对待它) .
    • 你完全正确!太感谢了。这样就解决问题了!!
    猜你喜欢
    • 2017-05-09
    • 2016-10-28
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多