欢迎尝试 emacs-rime,计划中功能已全部完成。

更新文档,doom-mode-line不再需要hack · Issue #81 · DogLooksGood/emacs-rime · GitHub

有个 Issue, 听 @cnsunyour 说里面有个颜色不能正常显示的问题?

我一直用的是系统自带输入法,或许也应该试试 rime。输入法是如此重要的工具,不知道为什么开源项目似乎不多(我了解有 rime, fcitx, pyim, 新酷音, ibus)。

早期有一些,但是都没有 Rime 灵活,Rime 算是集大成者。 但是对于爱用云拼音的人来说,我觉得 Rime 也没有什么吸引力。

如果不是用云拼音的话,像 Rime 这种全平台全方案通吃的输入法是很有爱的,还开源。

RIME易用性上还是有很大的提升空间。如果词库问题能解决就好了。能简单导入其他词库,用个人网盘同步也是很简单的方案。现在配置上手门槛还是太高,很少人愿意这么折腾,除了玩emacs 的😂

有人做了一些 Rime 的设置工具,但是没有广为流传。

因为没啥软件折腾的复杂度超过Emacs。

是啊, 做成一个独立程序, 以网络服务或者子进程的形式是不是更方便一点?

如果rime输入法自身能支持服务就太爽了. 安装rime输入法, 配制好服务端口, 然后emacs这边搞个客户端跟rime服务通信就行.

我已经跟作者说了,调用RIME库,可以用Python/Ctypes来做,然后Python和Emacs做RPC通讯,这样几乎没有啥编译过程。

5 个赞

在 rime 配置目录用命令 rime_dict_manager, -i 导入, -e 导出词库就行了

对, 我就是在你的基础上更进一步, 可能我不熟悉python, 所以更喜欢独立二进制程序.

另外, 不单编译简单, 非模块形式崩溃了也不影响emacs, 比较安全.

其实什么语言无所谓,只要能够通过FFI调用RIME C库,这样和Emacs就用IPC就可以了。Python的好处是,用户不用编译,理论上用Lua和其他脚本语言也是可以的。

1 个赞

你是说直接调用系统中安装好的rime的动态库? 那是方便

是啊,只要RIME输入法装好以后,直接用动态库的方式,然后RPC和Emacs通讯。

最早的时候是从自用的 liberime 版本改过来的。

主要是在 ArchLinux 上面 emacs-rime 安装非常方便。如果你的系统里面已经有 fcitx-rime 或 ibus-rime 了,只需要 package-install emacs 就完了。

写 python 脚本确实是个不错的办法,省去了编译的环节。但是也不会让这个环节在 ArchLinux 更简单。所以暂时没有搞。

讨论越来越深入了,对于RIME发展大有好处啊。很多想法可以借鉴。

@DogLooksGood @seagle0128 今天重新下载了一份又测了一下,没有问题了。

我用(setq use-package-always-defer t) 延迟加载所有packages。 包括rime、pyim 一开始 featurep 都是nil 但是 C-\里面有 pyim 没有 rime。 不知道为什么?

我用 (setq use-package-always-defer t) 延迟加载所有packages。

不用 use-package-aways-defer 时有 rime 的选项吗

1 个赞

(该方法本人未测试)

应该是因为 emacs-rime 没有用 autoload 去注册输入法。

根据 use-package 文档的说法,如果 defer 的话你需要 :bind, :mode, :command 之类的去触发加载。

如果要这样做,你可能需要自己写个命令

(defun rime-toggle () (interactive) (set-input-method "rime"))

然后把这个命令在 :bind 里面绑定给一个快捷键。

PS: emacs-rime 里面比较耗时的动态模块加载,固定是延迟加载的。

应该就是这个 2020-04-10-142251_grim 觉得可以加上.