可以分享下pyim使用rime输入法的配置吗?

最近准备使用rime输入法,按照pyim说明来安装相关的依赖,以及配置。但是现在还是不能正常工作。不知道大家有使用过这个输入法吗?可以分享下配置么?

https://manateelazycat.github.io/emacs/2019/07/24/use-rime-in-emacs.html

我是manjaro系统,按照教程配置了下,好像还是不行。他这个主要是针对Mac系统。

有人在linux下配置成功的童鞋吗?可以分享下配置文件吗?

1 个赞

我的配置是集成在 doom emacs里的,可以参考下。

我用的Gentoo,按照说明文档一步一步来就好了 :rofl:

配置也是文档里面的配置,只是加载的时候做了延迟加载

因为我发现首次加载rime还有点费时

感觉还可以改进,当creature/enable-rime执行的时候,执行remove-advice

(let ((rime-inited nil))
  (defun enable-rime ()
    (interactive)
    (when (and (not rime-inited)
               (fboundp 'module-load)
               (eq system-type 'gnu/linux))
      (setq rime-inited t)
      (module-load (expand-file-name "libs/liberime.so" user-emacs-directory))
      (require 'liberime)
      (liberime-start (expand-file-name "/usr/share/rime-data")
                      (expand-file-name "pyim/rime" user-emacs-directory))
      (liberime-select-schema "luna_pinyin_simp")
      (setq pyim-default-scheme 'rime))))

(advice-add 'toggle-input-method
            :before 'enable-rime)

(run-with-idle-timer 10 nil
                     '(lambda ()
                        (enable-rime)
                        (message "rime enabled.")))

你使用体验如何?特别是相比较于原来的Pyim默认的输入法怎么样?

感觉选词频率明显下降了,自带的拼音方案

小词库词组很少,要经常选词,大词库加载又很慢

rime 体验提升很明显

我安装教程安装了下,在emacs中测试了下,发现出现下面的错误, Debugger entered–Lisp error: (void-function liberime-get-context) liberime-get-context() pyim-page-preview-create:rime(nil) pyim-page-preview-create() pyim-page-style:two-lines(#<hash-table eql 4/65 0x5ad1da5>) pyim-page-refresh() pyim-entered-refresh-1() pyim-entered-refresh() pyim-self-insert-command() funcall-interactively(pyim-self-insert-command) call-interactively(pyim-self-insert-command) pyim-start-translation(119) pyim-input-method(119)

不知道什么原因???

我的配置文件如下: (use-package liberime :load-path “/home/fg/Install/liberime-master/liberime-master/build/liberime.so” :config ;; 注意事项: ;; 1. 文件路径需要用 expand-file-name' 函数处理。 ;; 2.librime-start’ 的第一个参数说明 “rime 共享数据文件夹” ;; 的位置,不同的平台其位置也各不相同,可以参考: ;; https://github.com/rime/home/wiki/RimeWithSchemata (liberime-start (expand-file-name “/usr/share/rime-data”) (expand-file-name “~/.emacs.d/pyim/rime/”)) (liberime-select-schema “luna_pinyin_simp”) (setq pyim-default-scheme 'rime)) (setq pyim-default-scheme 'rime-quanpin)

你的Emacs有module支持吗(fboundp 'module-load)

你说的这个我不是太了解。我的emacs版本是27,具体使用的配置是spacemacs,我的系统是Manjaro

我不是给代码你运行了吗。。

你describe一下function看看有没有module-load

我搜索了下,没有这个函数。

没这个函数。

那说明你的emacs没有dynamic module支持。你是哪里安装的?

Arch的话个人建议编译一下master,AUR上的emacs-git有点问题(主要是emacs-git的PKGBUILD还把imagemagick6,arch源里已经没有了的作为依赖,如果你需要imagemagick support的话解决依赖的时候会失败)

我是通过 yaourt -Sy emacs-git 在系统上安装的。自己的系统会随时自动更新emacs的版本到最新的版本。

emacs-git默认是有module support的,我也不清楚为什么你的没有。最稳健的还是自己编译。

使用emacs真是永远在折腾,永远跑不了了。