如何只让TODO出现在agenda view中

例如我的TODO配置如下

#+TODO: TODO(t) | DONE(d)
#+TODO: TODO(t) LATER(l) | DONE(d)

因为TODO项目太多了干扰了我的视线,所以我添加了LATER状态,现在改成LATER之后在我的每日agenda view中还是会列出来,导致我没办法专注需要立即完成的任务。

有什么办法过滤掉呢 LATER 呢,让它只出现在任务池里?

你可以把 LATER 这个 state 过滤掉,参考 Special Agenda Views (The Org Manual)org mode agenda ignore entries with no TODO state - Stack Overflow

不过个人觉得 LATER 事项不应该安排日期,那么自然不会出现在每日 agenda view 中。

later的日期是这么来的: 一开始我有一个带schedule date的todo,将其转换成later之后日期也就带上了。

可以试试下面这个包。

1 个赞

我觉得Later和TODO的定位重复了,都标记为TODO就好。

因为TODO太多了。。想从TODO里挑选一个真正需要TODO的要花很久,有的老的TODO已经延期很久没做了,所以想标记为LATER

我先试试哈~

Later不就是TODO吗?如果还没想好要不要做,去掉TODO更合理。

感谢二楼给的灵感,下面是我的配置

setq org-agenda-custom-commands
           '(
             ("w" "Agenda for work"
             ((agenda "" ((org-agenda-skip-function '(org-agenda-skip-entry-if 'nottodo '("TODO")))))
               (todo "LATER")
               (alltodo "")
               (tags "note"))
              )
              ("n" todo "NOTE")))

agenda里面只会出现你scheduled/deadline的todo。如果不知道要不要做,或者没有明确的时间计划,那就不要添加时间戳。