[求助] 怎样在org-agenda的Todo items中显示deadline或scheduled?

当使用org-mode作为日常记录时,有时会设置一些没有scheduled或deadline的任务,例如读一本书。

这样的话就会导致,如果我使用org-agenda-list,那就看不到这些任务;但是使用org-todo-list的话,就会隐藏对应的timestamp,有没有什么好的方法改造agenda-list或todo-list,能够在org-agenda-list中显示没有分配时间的任务,或者在org-todo-list中显示相应的时间戳?

(看了org-super-agenda,但似乎也是基于事先分配了schedule或deadline的情况,还是说我的workflow应该改进,即使是书籍阅读这样的任务也应该设置时间戳?)

可以标记一个 TODO,然后对这些任务指定一个 CATEGORY 然后通过 org-super-agenda 的 :category 来过滤 alltodo 里面的东西。

Custom Agenda Views (The Org Manual) 你可以自己定义 agenda,然后看看是不是可以过滤出来你想要的东西。

比如我这个,会在 agenda 下面显示出来所有的 TODO 之类的。。

  (setq org-agenda-custom-commands
        '(("h" "Agenda and tasks"
           ((agenda "14d")
            (todo "")
            (tags "+reading")))
          ))

感谢回复。这样确实可以同时调出agenda与todo了,但在todo中还是看不到对应的deadline或者schedule。

M-x org-agenda n,是你想要的吗,我一般用这个

其实差不多就是这个意思 :joy:

就和我楼上说的一样,这里如果todo有schedule或者deadline显示不出来,感觉可能这是唯一的遗憾了。

你是想在这个基础之上在todolist那里加个时间是吗?

虽然可能还有些别的想做的tweak,但是主要就是这个!

另一个可能的方案或许是org-agenda-columns

但目前来看,似乎也有一定的缺陷:

1 中英文混排导致的竖线不对齐

2 可能是doom emacs自身设置带来的奇怪间隔

图片

是否需要从更底层的地方hack起呢?

org-agenda-columns 里面不是也没有显示 Deadlines, Scheduled 吗?

我找到了一个奇奇怪怪的东西,org-agenda 里面 E 可以显示 entry 的内容,它使用了 org-agenda-get-some-entry-text 函数获取的这些内容,但是它把 Drawer 以及 Deadlines, Scheduled 都删了,如果稍微更改一下,就可以显示出时间

我觉得可以仿照它的这个方式来写一个只显示时间的

这个应该是通过自定org-agenda-custom-commands 这个变量来搞,agenda里面每一行的显示格式和内容都可以自定义,,就是需要写一堆函数来配合。。。 这就要提起这篇老博客了 Org Mode - Organize Your Life In Plain Text! ,建议花时间看看。虽然写的很多很杂,但是完整的演示了怎么从自己的需求出发配置好org里面的每一个功能,他的org-todo, org-agenda, org-archive, org-refile这些设置都是一环扣一环,看懂了会很有帮助。

1 个赞

感谢!这篇文章之前看到过,但没看下去,后来想要仔细研究的时候反而找不到了,多谢!

这篇文章太好了,我刚才胡乱点进去看到键绑定那段,哎呀,就是我要的。这文章是功力深厚的人弄的。

谢谢推荐!