如何在doom emacs里配置rime

读了猫哥这个文档 https://manateelazycat.github.io/2023/09/11/fcitx-best-config/

但是今天改用doom不是很熟(现在用一个纯净的doom),请问在doom里应该如何设置?(已经安装了rime和posframe包) 感谢!

看看 emacs rime 的文档?

(use-package! rime
  :defer
  :bind (:map rime-mode-map
              ("M-j" . 'rime-inline-ascii) ;; 强制使用英文模式,直至再次切换。
              ("C-`" . 'rime-send-keybinding)) ;; 调用 rime-select-schema 。
  :custom
  (default-input-method "rime")
  (rime-librime-root "~/.config/doom/librime/dist") ;; FIX-ME 根据主机环境进行调整。
  (rime-emacs-module-header-root "/opt/homebrew/Cellar/emacs-plus@29/29.1/include") ;; FIX-ME 根据主机环境进行调整。
  :config
  (setq rime-cursor "˰")
  (setq rime-show-candidate 'posframe)
  (setq rime-inline-ascii-trigger 'shift-l)
  (setq rime-user-data-dir "~/.config/doom/rime")
  (setq mode-line-mule-info '((:eval (rime-lighter))))
  (setq rime-disable-predicates ;; 触发一下断言临时切换为英文。
      '(rime-predicate-prog-in-code-p ;; 在 prog-mode 和 conf-mode 中除了注释和引号内字符串之外的区域。
        rime-predicate-tex-math-or-command-p ;; 在 (La)TeX 数学环境中或者输入 (La)TeX 命令时。
        rime-predicate-current-uppercase-letter-p  ;; 将要输入的为大写字母时。
        rime-predicate-after-ascii-char-p ;; 任意英文字符后。
        rime-predicate-space-after-cc-p ;; 在中文字符且有空格之后。
        rime-predicate-punctuation-line-begin-p ;; 在行首要输入符号时
        )))
        ;; 整体效果:
        ;; 行首输入符号为英文,通过输入大写英文切换至英文模式,支持到一个单词输入结束,再次空格变为中文模式。
        ;; 若要输入不止一个英文则通过 M-j 快捷键强制使用英文模式,直至再次切换。
        ;; 输入中文后结束后,通过空格切换至临时英文模式,支持到一个单词输入结束。

我的配置是这样的

1 个赞

我也用 doom+rime,可以参考我的配置

大佬我直接clone了你的全部配置 开emacs有这个报错,是不是字体相关呢?应该怎么改? 我看你的配置超级丰富,有不少中文相关的!特别想学习实验! 谢谢大佬!

啊,这个判断不出来啊,信息太少了。 你可以不要 add-hook! ,只留下里面的部分,这样就是在启动时设定字体,不会随着 theme 的切换同时换字体了。 我的环境是 macos + [email protected] ,也许跟这个有关。自动切换 theme 这部分我没在 linux 下测试过,不知道有没有问题。