主要提供一个函数 mrds/roam-switch-directory
,用以 roam 多目录功能的支持。
根目录底下可以有多个子目录,子目录下可以有子目录。每个目录对应一个 roam db。
使用 mrds/roam-switch-directory
切换到任意子目录下,控制 roam 笔记的 可见范围
。如果切换到根目录下,意味着所有笔记都可见;如果切换到某个子目录下,意味着子目录下的笔记可见,其他目录下的笔记不可见。
- 当 roam 的笔记越来越多(比如超过 1000 个),调用
org-roam-node-find
会越来越卡。 - 虽然说使用 roam 的理由之一是知识的网状连接,但大部分的笔记是没有联系的,分开放置文件,更聚焦,而且搜索效率更高。
org-roam-ui
里显示的节点更少,更清晰。
(use-package mrds-mode
:straight (:host github :repo "Imymirror/mrds-mode")
:bind (("C-c n s" . mrds/roam-switch-directory))
:config
(or mrds--roam-root-directory (setq mrds--roam-root-directory (file-truename "/path/to/roam-root-directory/")))
(setq mrds--db-cache-path (file-truename "/path/to/cache-db-directory"))
(org-roam-db-autosync-mode 1) ;; need to sync org roam db first
)
mrds/roam-switch-directory
: 在目录之间切换的函数mrds--roam-root-directory
: roam 根目录,一般设置成跟 org-roam-directory 一样的路径。mrds--db-cache-path
: 每个目录对应一个 db 文件,需要一个目录来存储 缓存db文件