这两个痛点疑似都与字符编码有关,我在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)))