Emacs 下一直都在用狗哥写的 emacs-rime 输入法来输入中文, 但是 rime 默认的词库质量一般, 导致我们在 Emacs 输入中文的时候并没有使用外部输入法那么流畅。
今天主要介绍, 怎么在 Emacs 中安装 emacs-rime 并结合 雾凇拼音 来实现流畅的中文输入体验。
安装 RIME 输入法
使用下面的命令先安装 fcitx5 输入法框架和 rime 相关的代码库(下面安装 emacs-rime 会用到)
sudo pacman -S fcitx5-rime librime fcitx5-configtool
安装雾凇拼音
使用下面的命令拷贝雾凇拼音的所有 rime 配置到 fcitx 的 rime 配置目录下
git clone https://github.com/iDvel/rime-ice --depth=1
cp -r ./rime-ice/* ~/.config/fcitx/rime/
注意, rime 配置文件非常娇气(主要是配置文件不能错一个空格), 建议先把 ~/.config/fcitx/rime/
目录下所有文件备份后再删除干净后再把 rime-ice 所有配置都拷贝进去。
句号翻页
我比较喜欢用逗号或句号翻页, 下面是详细的设置方法:
找到 ~/.config/fcitx/rime/default.yaml 文件中的 - { when: paging, accept: comma, send: Page_Up }
和 - { when: has_menu, accept: period, send: Page_Down }
内容, 去掉注释。
更改候选词数量
默认是 5 格, 可以改成 9 个, 减少翻页次数, 在 rime 目录下 grep page_size
, 把 5 换成 9 即可。
安装 posframe
posframe 可以让侯选词显示在光标处, 所以建议安装。
安装 emacs-rime
git clone https://github.com/DogLooksGood/emacs-rime
把 emacs-rime 目录放到 load-path
下, 添加以下配置:
(require 'rime)
;;; Code:
(setq rime-user-data-dir "~/.config/fcitx/rime")
(setq rime-posframe-properties
(list :background-color "#333333"
:foreground-color "#dcdccc"
:font "WenQuanYi Micro Hei Mono-14"
:internal-border-width 10))
(setq default-input-method "rime"
rime-show-candidate 'posframe)
上面的配置分别设置 emacs-rime 读取 RIME 配置的路径、 UI 细节和使用 posframe 来显示候选词。
测试
重启 Emacs 后, 调用 toggle-input-method
命令来尝试输入中文。
雾凇拼音 主页有一些输入用例, 如果你打同样的拼音可以补全相同的中文候选词, 就证明已经成功用上了雾凇拼音。
我个人的体验, 雾凇拼音的细节调教非常好, 比我们自己折腾的 rime 词库要专业的多, 中文输入, 特别是长句输入再也不用翻很多页。
emacs-rime 搭配雾凇拼音后, Emacs 的中文输入非常爽, 我顺手就给 rime-ice 的作者捐了一点款, 感谢开源作者的辛劳付出。 ;)
Fcitx 设置
- 附加组件: 粘贴板和快速输入模块的快捷键去掉, 避免和 Emacs 按键冲突
配合插件
因为我经常用 Markdown 写很多博客分享, 除了 emacs-rime, rime-ice 外, 推荐两外两个插件一起配合来用, 口感最佳:
- deno-bridge-jieba: Emacs 默认不认识中文的分词位置, 所有要修改一段中文时只能一个一个汉字的移动, deno-bridge-jieba 利用 TypeScript/Deno 快速实现中文分词, 安装后 Emacs 就可以基于词的粒度来左右移动光标, 非常方便
- wraplish: 我自己是强迫症, 一定希望中文文章中的英文单词两边要有空格这样看着才舒服, 但是手动调整中文内容的英文空格, 效率很低, wraplish 这个插件会自动扫描当前文档内容, 自动添加英文单词空格, 节省了很多时间
One more thing
既然在 Emacs 都可以使用雾凇输入法, 外面的软件(比如 Chrome、 WPS 等)应该也可以使用雾凇输入法呀, 之前一直以为 fcitx5 的配置文件在 ~/.config/fctix5/rime 下面, 各种拷贝 rime-ice 配置都不行。
研究了一段时间才发现 fcitx5 的配置路径在 ~/.local/share/fcitx5/rime 呀, 直接清空 ~/.local/share/fcitx5/rime 目录下的所有内容, 把上面调配好的 ~/.config/fcitx/rime 下的所有内容拷贝到 ~/.local/share/fcitx5/rime 下, 重启 fcitx5, 选择中州韵输入法即可。
这样 Emacs 和 Linux 下其他软件都可以使用流畅的雾凇输入法啦, 舒服。