【问题标题】:Emacs Org-Mode: How to find all TODOs that don't have a deadline specifiedEmacs Org-Mode:如何找到所有没有指定截止日期的 TODO
【发布时间】:2013-06-08 20:02:49
【问题描述】:

在 Emacs org-mode 中,我知道我可以调用议程“匹配”视图(使用 C-a m),然后使用以下搜索字符串查找截止日期设置为今天的所有 TODO 项目:

DEADLINE="<today>"

但是,我想在我的 TODO 列表中找到根本没有设置任何截止日期的所有项目。我已经搜索但似乎找不到答案;以下似乎也不起作用:

DEADLINE=""

如何搜索所有未指定 DEADLINE 的 TODO?

(这同样适用于查找尚未安排的项目,但我猜解决方案将是相同的。)

【问题讨论】:

    标签: search emacs org-mode


    【解决方案1】:

    你可以使用

    -DEADLINE={.+}

    -SCHEDULED={.+}

    它搜索没有包含任何内容的 DEADLINE/SCHEDULED 标签的项目——即,没有设置预定日期或截止日期。花括号用于识别正则表达式(在这种情况下匹配任何比空字符串更长的内容)。

    例如,我使用以下内容:

     (setq org-agenda-custom-commands
           `(;; match those tagged with :inbox:, are not scheduled, are not DONE.
             ("ii" "[i]nbox tagged unscheduled tasks" tags "+inbox-SCHEDULED={.+}/!+TODO|+STARTED|+WAITING")))
    

    参考:http://orgmode.org/manual/Matching-tags-and-properties.html

    【讨论】:

    • 实际上并不是我们想要的,因为它会匹配任何没有 DEADLINE 的标题。但想要的是在没有截止日期的情况下匹配处于打开状态的操作项
    【解决方案2】:

    另一种方法是使用org-agenda-skip-entry。我跳过计划的任务或具有截止日期或时间戳的任务以及包含单词/标签“desparche”的任务。

    ("X" "Not scheduled"
         ( (todo "TODO"
                 (
                  (org-agenda-skip-function '(org-agenda-skip-entry-if 'scheduled 'deadline 'timestamp 'regexp "desparche"                                                               ))
                  )
                 )
           )
         )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 2018-05-10
      相关资源
      最近更新 更多