非常感谢!
重新定义 org-roam-node 的展示很有用,我在 org-roam 作者的配置里面也找到了,很好。
与org-agenda 结合的好处还是没看得太明白。我是直接把一个 task.org 丢到 roam 文件夹里面。
org-roam 作者 Jethro 关于记笔记的方法确实很值得一看,我也从中学习了很多方法。
非常感谢!
重新定义 org-roam-node 的展示很有用,我在 org-roam 作者的配置里面也找到了,很好。
与org-agenda 结合的好处还是没看得太明白。我是直接把一个 task.org 丢到 roam 文件夹里面。
org-roam 作者 Jethro 关于记笔记的方法确实很值得一看,我也从中学习了很多方法。
哈哈,我也是从别人那里学到的。agenda 感兴趣的话可以看这篇博客:Boris Buliga - Task management with org-roam Vol. 5: Dynamic and fast agenda
好处大概就是,我在任何一个node里都可以添加TODO,比如某一个node是读书笔记,书没读完,或者是工作进行一半,或者是笔记写一半等等,这些node都会被动态的添加到agenda里,如果TODO完成了,则会自动移除。如果把所有的node都添加到agenda里,速度会非常慢,而这种动态的方法几乎没有速度影响
好的。感谢!明白那段代码的意思了。
配置(cl-defmethod org-roam-node-type ((node org-roam-node))之后,启动一直出现 error: Unknown specializer org-roam-node,这种情况怎么解决哇?看网上说 ;; This needs to be after the org-roam’ declaration as it is dependent on the structures of
org-roam’. 但是不太懂什么意思
原因可能是需要在load org roam之后再执行这段代码,加个with eval after load 试试
十分感谢,我用这个成功了。还有一个问题想请教一下,我现在用的是 org-roam v2, 有没有什么比较方便的预览org的方式啊
consult-org-roam可以做到在浏览node列表的时候同步预览org文件的内容,我一般用这个,非常方便
可以分享一下你的配置和使用 consult-org-roam 的 workflow 吗,我按照官方给的配置都不太有效,比如 consult-org-roam-search 永远都是 no matched
(use-package consult-org-roam
:ensure t
:init
(require 'consult-org-roam)
;; Activate the minor-mode
(consult-org-roam-mode 1)
:custom
(consult-org-roam-grep-func #'consult-ripgrep)
:config
;; Eventually suppress previewing for certain functions
(consult-customize
consult-org-roam-forward-links
:preview-key (kbd "M-."))
:bind
("C-c n e" . consult-org-roam-file-find)
("C-c n b" . consult-org-roam-backlinks)
("C-c n r" . consult-org-roam-search))
我的配置就一行,简单的打开consult-org-roam-mode,它就会自动激活预览,别的也没配置什么……
请问这句话的含义是 Emacs 29 已经不需要依赖系统的 sqlite 了吗?
我在安装 emacsql-sqlite-builtin
发现它似乎找不到内置的 sqlite, 依然需要手动安装. 比如:
(use-package emacsql-sqlite-builtin
:init
(require 'emacsql)
(require 'emacsql-sqlite))
;; Error (use-package): emacsql-sqlite-builtin/:init: Cannot open load file: No such file or directory, emacsql
依然需要手动安装 emacs-sql
与 emacsql-sqlite
二者, 如
(use-package emacsql-sqlite-builtin
:init
(use-package emacsql)
(use-package emacsql-sqlite))
就没有任何报错. 但这样似乎显得多余.
P.S.
emacs-version:
GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin22.1.0, NS appkit-2282.14 Version 13.0 (Build 22A5342f)) of 2022-09-20
OS: macOS; 安装方式:
brew install emacs-plus@29 --with-native-comp
我的理解是 Emacs 29 内置了对 sqlite3的绑定,不需要通过动态模块来实现对 sqlite3的支持。 你系统中还是要安装 sqlite3 这个程序的。
按理说你只要安装好 emacsql-sqlite-builtin以及他的相关依赖就可以了,你是用过什么方式安装包?(比如:package.el, straight.el, Borg)
用 package.el 通过 melpa 安装的话,这样应该就可以了:
(use-package emacsql-sqlite-builtin :ensure t)
你是用过什么方式安装包?
使用的是 straight.el. 非常感谢, 这个提醒了我, 目前问题已经解决. 原因大致是 emacsql 和 emacsql-sqlite 这两个包应该隶属于 org-roam, 而按照 straight.el 的逻辑, 这两个包在加载 org-roam 前都不能被调用. 于是把 (use-package emacsql-sqlite-builtin)
这一行放在 (use-package org-roam)
后面加载就没有出错了.
在 emacs 29 刚安装了 emacsql-sqlite-builtin
然后设置 (setq org-roam-database-connector 'sqlite-builtin)
,load org-roam 报错如下
Lisp error: (invalid-slot-type emacsql-sqlite-builtin-connection process process #<sqlite db=0x... name=/path/to/roam-db.db>)
单独使用 (emacsql-sqlite-builtin "/path/to/roam-db.db")
试了一下报同样的错误。emacsql
emacsql-sqlite
emacsql-sqlite-builtin
都安装的melpa最新的版本。
网上搜了一下没有搜到,有碰到同样问题的吗?
目前 emacsql 的维护者正在准备把 emacsql-sqlite-builtin
合并到 emacsql 中。我用的还是原来的版本,没问题。可能是新版本引入的问题。
magit:master
← emacscollective:sqlite-backends
It's basically ready except that I want to improve error reporting in Emacs' `sq…
melpa 的emacsql-sqlite-builtin
是从这个分支拉的:
https://github.com/magit/emacsql/tree/next
最近有一个 fixup,也许可以解决你的问题。
谢谢,原来是这样。
我刚看了一下,用的已经是最新的了,等稳定些再看吧。
目前 emacsql 的维护者正在准备把
emacsql-sqlite-builtin
合并到 emacsql 中。我用的还是原来的版本,没问题。可能是新版本引入的问题。
@sdycjsj emacsql-sqlite-builtin
已经合并到 emacsql了,以后不用单独安装 emacsql-sqlite-builtin
了。
我已经换过来了,没问题。
你是用的自带包管理还是其他?我更新了 melpa 上面的 emacsql 和 emacsql-sqlite,里面都没有 emacsql-sqlite-builtin,还是要单独安装?
我用的是 magit 作者开发的 Borg 包管理器,直接从 emacsql 安装的。MELPA 更新有点慢的。
谢谢!已用上,问题也已解决。