Org Roam 数据库总是全量重建, 可能的修复方法

这两个痛点疑似都与字符编码有关,我在Windows上用Org-roam和ripgrep,没有出现这类问题

1 - windows 系统中,启动 emacs 的同时自动同步 org-roam 数据,导致 org 文档打开时乱码。所以目前关闭了自动同步 org-roam 数据,改为启动 emacs 后手动同步。

试试设置org-mode的字符编码,同时开启自动revert功能:

(use-package lazy-revert
  :ensure nil
  ;; :quelpa (lazy-revert :fetcher github
  ;;                      :repo "yilin-zhang/lazy-revert")
  :hook (after-init . lazy-revert-mode)
  ;; Optional
  :config
  (setq auto-revert-verbose t ; let us know when it happens
        auto-revert-use-notify nil
        auto-revert-stop-on-user-input nil
        ;; Only prompts for confirmation when buffer is unsaved.
        revert-without-query (list ".")))
(add-to-list 'file-coding-system-alist '("\\.org\\'" . utf-8))

2 - windows 系统中,通过 org-roam 生成的 org 文档,在被 ripgrep 搜索到关键字打开时,会失败、无法被打开。

试试设置ripgrep的字符编码

(add-to-list 'process-coding-system-alist
                        '("[rR][gG]" . (utf-8 . gbk-dos)))

还有些其他可能有用的字符编码设置:

(prefer-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default 'process-coding-system-alist
             '(("[pP][lL][iI][nN][kK]" gbk-dos . gbk-dos)
               ("[cC][mM][dD][pP][rR][oO][xX][yY]" gbk-dos . gbk-dos)))
3 个赞