emacs-提升org-roam大文件保存速度
在编辑一些较大的org文件时,往往会在保存的时候卡一秒多。经过排查,问题出在org-roam
的默认设置上。
根据Org-Roam Manual里的说法:
6.3 When to cache
6.3 何时进行缓存
By default, Org-roam is eager in caching: each time an Org-roam file is modified and saved, it updates the database for the corresponding file. This keeps the database up-to-date, causing the least surprise when using the interactive commands.
默认情况下,Org-roam 在缓存方面表现积极:每次修改并保存 Org-roam 文件时,它都会更新相应文件的数据库。这使得数据库始终保持最新状态,在使用交互式命令时带来最小的意外。
However, depending on how large your Org files are, database updating can be a slow operation. You can disable the automatic updating of the database by setting org-roam-db-update-on-save to nil.
然而,根据您的 Org 文件大小,数据库更新可能会是一个缓慢的操作。您可以通过将 org-roam-db-update-on-save 设置为 nil 来禁用数据库的自动更新。
Variable: org-roam-db-update-on-save
变量:org-roam-db-update-on-save ¶
If t, update the Org-roam database upon saving the file. Disable this if your files are large and updating the database is slow.
如果启用,则在保存文件时更新 Org-roam 数据库。如果文件较大且更新数据库速度较慢,请禁用此功能。
每次保存org-roam
文件时,都会执行一次数据库更新。这对于小体量文件来说很快,但稍微大一点的就容易引发卡顿。
我们可以如下设置:
;;关闭自动更新db (setq org-roam-db-update-on-save nil) ;;空闲10秒后执行更新db (run-with-idle-timer 10 t 'org-roam-db-sync)