可以把org-roam数据库删除试试。org-roam首次启用时是有些慢。我是用daemon,一天只启动一次,启动完成就快了
应该是我这边的agenda设置上有问题, 我把你的那段代码全部注释掉, 再运行 M-x org-agenda, 也可以看到, doom emacs进入假死状态出不来了. 哈…
感谢提供的代码。我修改了其中的 vulpea-project-p 函数,以适用于当 org-roam 的 headline 被标记为 scheduled/deadline 且处于未完成的状态,也将此文件标记为 :roam-agenda: 并加入日程管理。
(defun vulpea-project-p ()
"Return non-nil if current buffer has any todo entry.
TODO entries marked as done are ignored, meaning the this
function returns nil if current buffer contains only completed
tasks.
Return t if active SCHEDULED/DEADLINE in property within a headline."
(or (seq-find ; (3)
(lambda (type)
(eq type 'todo))
(org-element-map ; (2)
(org-element-parse-buffer 'headline) ; (1)
'headline
(lambda (h)
(org-element-property :todo-type h))))
(seq-find
(lambda (type)
(and (or (eq (org-element-property :type (nth 0 type)) 'active)
(eq (org-element-property :type (nth 1 type)) 'active))
(not (nth 2 type))))
(org-element-map
(org-element-parse-buffer 'headline)
'headline
(lambda (h)
(list (org-element-property :scheduled h)
(org-element-property :deadline h)
(org-element-property :closed h)))))))
1 个赞
我更喜欢题主的原始方法, 这个方法其实和 roam 一点关系都没有, 非 roam 用户也能用. 16 楼中的那个其实是借助 roam 的数据库, 我推测仅对有 org-id 的 nodes 有效. 我个人并不是所有 nodes 都有 id, 所以用不了.
后面这个的确是依赖于 roam数据库。另外还要安装vulpea。