Fedora KDE Plasma 和 Android 系统上安装 fcitx5 rime
本文最后更新于 2024年9月10日 凌晨
现在 fcitx 已经升级到了 fcitx5, 本来用着 fcitx4 挺好,也没有想着升级,在折腾 fcitx.vim 的时候发现 fcitx 居然升级了,使得我的 vim 插件无法正常工作了,一顿折腾,本来以为很简单没想到进了个大坑 。
主要是不愿意放弃我的一万多行的 rime 用户词库,多年的积累了,不过 Linux 用户不就是老折腾吗, 唉。
fcitx5-rime 的默认的配置目录已经变为 ~/.local/share/fcitx5/rime
, fcitx4 默认的配置目录是 ~/.config/fcitx/rime
安装 fcitx5 和 fcitx5 rime
1 |
|
Fedora dnf 已经默认有 fcitx5-rime 的安装包了,不用自己重新编译了,非常不错。 fcitx5-chinese-addons
为 fcitx5 自己默认带的中文输入法,这些和 rime 没有什么关系,网络上有人说, fcitx 的中文输入较以前有较大改进。fcitx5-autostart
用于自启动,不安装其实也没有什么问题。
Fcitx5 官方说明需要设置启动文件。
1 |
|
执行命令 sudo alternatives --config xinputrc
,选择 fcitx5。执行命令 im-chooser
选择 fcitx5
启动输入法很简单,自己手动执行 fcitx5 -d
即可。
设置正确的环境变量
修改 ~/.xprofile
, ~/.zshrc
, ~/.xinitrc
,~/.bash_profile
, /etc/profile
等文件
1 |
|
有的文章中说要设置成 fcitx5 但是根据 fcitx5-diagnose
正确的环境变量应该是 fcitx
environment.d 是 system.d 引入的,被 GDM 或 Plasma 5.22+ 支持,可以往 ~/.config/environment/
目录写文件,注意不要写 export 。
1 |
|
配置中文环境
1 |
|
安装 rime 词库
rime 现在已经使用 plum 管理词库,如果需要安装双拼输入法的,可以执行下面的命令:
1 |
|
rime 为了保证输入速度,词库很小,为了能够自动显示更多的词组,就需要使用拓展词库。
1 |
|
安装了上面的拓展词库后,输入特殊符号的能力还是比较弱,需要把 symbols.yaml 也给加进来。
https://github.com/rime/rime-prelude 提供了我们所需要的 symbols.yaml 和 default.yaml,可以使用 東風破 安裝: rime_frontend=fcitx5-rime bash rime-install prelude
由于我们使用的是自然码双拼,需要修改的文件为 double_pinyin.custom.yaml
1 |
|
设置完成后,要重新启动输入法,比如要输入 ☆ ,输入 /xh
即可
rime 安装 Emoji
😄️ Emoji 表情在现在的聊天中已经很常见了,rime 对 emoji 也提供了支持。参考 https://github.com/rime/rime-emoji 安装 emoji 同样需要使用 東風破,我常用的输入法是双拼,将 double_pinyin 替换成你的输入法就可以了。
1 |
|
核心的码表在 https://github.com/rime/rime-emoji/blob/master/opencc/emoji_category.txt 在输入汉字的时候会自动提示相应的 emoji。rime-emoji 有时候不能很准确地输出想要的 emoji 符号,这时候可以利用 emoji_category.txt 查询相关分类,例如输入 「颜色」就会显示出各种颜色。
添加自己词库的方法
在用户档案目录,新建一个 custom.extended.dict.yaml 内容如下
1 |
|
这里可以自由导入你想要添加的码表,也可以添加自己的自定义词组。我导入了 github rime Emoji 码表
接着再于 *.schema.yaml 或 *.custom.yaml 中将 translator/dictionary 设置成此字典档即可,例如:
1 |
|
这样以后 luna_pinyin.extended 升级后,不会对自己添加的词组造成影响,可以直接升级覆盖。
将用户词库导入 rime
rime_dict_manager -i luna_pinyin luna_pinyin.userdb.txt
这一步很关键啊,多年的积累不能浪费了。
配置 fcitx5 皮肤
fcitx5 默认的皮肤不太好看,所以下载更新了皮肤,这款简约风格的皮肤非常符合老夫的胃口。
1 |
|
修改配置文件 ~/.config/fcitx5/conf/classicui.conf
1 |
|
另外还有一款 fcitx5 皮肤相对流行:https://github.com/hosxy/Fcitx5-Material-Color
切换皮肤的方法是,点击鼠标右键点击 配置 -> 附加组件 -> 经典用户界面 -> 点击右边图标 -> 选择皮肤
设置 fcitx rime 单行模式
如果要将输入法设置为单行模式,需要修改配置文件 ~/.config/fcitx5/conf/rime.conf
1 |
|
或者按快捷键 ctrl + alt + p
, 这个快捷键可以来回切换很方便,单行还是双行就因人而异了,我个人觉得单行好点。
让 fcitx5 正确显示菜单
要做这个步骤是因为 rime 有 「部署」、「同步」这几个操作按钮,如果不正确配置的话在 fcitx5 上没法正常显示。fcitx5 在任务上有个托盘图标,点击右键就可以看到这些菜单。
要让 fcitx 正确显示菜单,关键在于让 rime 输入法默认处于激活状态,根据 fcitx5 配置的提示第一个输入法为非激活状态。
- (1) 将第一个输入法设置为 键盘-英语 (美国),第二个输入法设置为 中州韵
- (2) 在全局设置中,勾上默认状态为激活,共享输入状态设置为
程序
fcitx.vim
这个章节是写给 linux vim 用户看的,没有此需求的可以直接跳过这段。
vim 确实是程序编辑的利器,但是在用vim 写中文文档的时候,有一个痛点,你在用 fcitx 写中文的时候想保存文档,vim 必须切换到 normal 模式才能输入保存的命令 :w
,进入normal 模式的方法是连续按两下 ESC,好了现在你应该输入命令了,但是你没法输入你现在还在打中文呢,没有办法你必须先切换到英文输入法,然后才能正确地输入 :w
痛苦啊。
fcitx.vim 就是为解决这个痛点而生的插件,个人觉得这是vim 必装的几个插件之一。fcitx.vim 的github 仓库地址为:https://github.com/lilydjwg/fcitx.vim
值得一提的是这个仓库有两个分支,fcitx4 分支 和 fcitx5 分支,使用的时候一定要分清楚,这两个分支如果使用错了,就没法正常使用 fcitx.vim 插件了。fcitx4 和 fcitx5 dbus 对象名字有变化,导致代码通用性不好。现在默认分支为 fcitx5,如果你使用 fcitx4 可能直接 git clone 下来就会发现插件用不了,我也是因为这个原因才发现 fcitx 居然更新了。
中英文混合输入技巧
在 default.custom.yaml 中添加下面的配置,可以开启右键 shift 回车上屏功能,非常实用。
1 |
|
在 Android 下使用 Fcitx5 Rime
Fcitx5 Rime Android 解决方案
我一直在寻找 Rime 输入法的 Android 解决方案,最先是找到 Trime
https://github.com/osfans/trime
Trime 我试过三次,有三个不理想的点:
1)不够流畅,有卡顿的感觉
2)不够稳定,经常出现崩溃
3)Trime 自己有一套配置,要学习 trime.yaml
昨天看到有朋友 Fcitx5 Android 替换了 Google Gborad,上次看到时它不支持 Rime。
https://github.com/fcitx5-android/fcitx5-android
惊喜的发现,Fcitx5 Android 已经比较完善了,通过插件的形式支持了 fcitx5 Rime 。
在 Android 上使用 Fcitx5 Rime,需要安装两个 APK :
安装完两个 APK 后,将 rime 的配置文件放到/sdcard/Android/data/org.fcitx.fcitx5.android/files/data/rime/
重新部署。
我试用了一个晚上 Fcitx5 Rime Android ,没有出现崩溃现象,速度可以接受。
摆脱了 Gboard,这点很好。
后记
可能有些人不知道为什么要折腾 rime,rime 的用户词库文件是个宝贝,这个词库是都是你真实的在日常使用中用到的词库,小巧又实用还能到处同步,上传到云后永不丢失,符合自己的数据自己掌握的硬道理。至于国内的那些输入法,我就不加以评价了,在这商业的社会要保持基本的做人底线不易。