RIME (Rime Input Method Engine,中州韻,中州韵)是一款很火的輸入法,虽然我目前还不知道它为什么火,不过先用用再说。

首先要吐槽一下 RIME 的说明文档,我感觉有点乱,第一次在 macOS 上尝试 RIME 的时候就被这说明文档劝退了,直接用了微信输入法。这次给自己的旧电脑安装 Ubuntu,决定再次尝试一下这款神秘的输入法。

简介

RIME 是一个输入法引擎,并不是一个完整的输入法程序。需要配合输入法前端才能使用。RIME 搭配不同的输入法前端,产生了不同的名字:

中文名 英文名 平台
null ibus-rime Linux
小企鹅 fcitx5-rime Linux
小狼毫 Weasel Windows
鼠须管 Squirrel macOS

Linux 上有两款输入法框架可以使用:IBusFcitx。其中 IBus 由 GNOME 团队开发,而 Fcitx 由国人开发,目前已经迭代到了 Fcitx 5。根据我在一些论坛看到的讨论,大家对 Fcitx 的使用体验更加满意(但是在我两个都体验一遍之后发现我更喜欢 ibus-rime)。需要注意的是,IBus 和 Fcitx 在 Linux 系统上不能共存。

RIME 中州韵有一个配置管理工具,名为东风破 plum

不得不说这些名字都起的好奇怪

安装

ibus-rime

ibus-rime 的安装很简单,只需要一条命令即可:

sudo apt install ibus-rime

安装好后,在 设置 > 键盘 中添加 Rime 输入法:

fcitx5-rime

fcitx5-rime 的安装则比较复杂:

# 安装 Fcitx5 框架和中文插件
sudo apt install fcitx5 fcitx5-chinese-addons
# 安装基于 Fcitx5 的 RIME 引擎
sudo apt install fcitx5-rime librime-plugin-lua

设置 fcitx5 开机自启,编辑 ~/.config/autostart/fcitx5.desktop,输入下面的内容:

[Desktop Entry]
Type=Application
Exec=fcitx5
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Fcitx 5
Comment=Start Fcitx 5 input method framework

然后重启系统。

设置 Fcitx 5:

fcitx5-configtool

在右边 Available Input Method 处搜索 Rime,并将 Rime 移入左边 Current Input Method,并删除左边的其他输入方式,然后应用设置。

配置

导入 oh-my-rime 配置

RIME 支持丰富的自定义选项。我们可以直接导入别人做好的配置来简化配置过程。这里我导入了 oh-my-rime 的配置。

首先安装东风破配置管理器:

curl -fsSL https://raw.githubusercontent.com/rime/plum/master/rime-install | bash

然后使用东风破导入配置:

cd plum

# IBus
./rime-install Mintimate/oh-my-rime:plum/full
# Fcitx 5
rime_frontend=fcitx5-rime bash rime-install Mintimate/oh-my-rime:plum/full

重新部署使配置生效:

# IBus
rm ~/.config/ibus/rime/default.yaml && ibus-daemon -drx
# Fcitx 5
rm ~/.local/share/fcitx5/rime/default.yaml && fcitx5-remote -r

添加自定义配置

oh-my-rime 的配置已经能很好地满足我们的需要了。不过我们还是可以微调一下以获得更好的使用体验。

首先进入配置目录:

# IBus
cd ~/.config/ibus/rime
# Fcitx 5
cd ~/.local/share/fcitx5/rime

RIME 主要有三种配置:

  • default.yaml:RIME 内核配置。
  • squirrel.yaml:Squirrel 前端设置(同理还有 weasel.yamlibus_rime.yaml)。
  • xxx.schema.yaml:输入方案配置,xxx 为方案名。

当 RIME 更新时,这些配置会被覆盖,因此我们不应该编辑这些文件。RIME 允许我们编写 .custom 版本的补丁配置文件,这些文件将对原始文件的配置进行补充。也就是说,我们应该编写 default.custom.yamlsquirrel.custom.yamlxxx.custom.yaml

修改 RIME 内核配置

在配置目录下编辑 default.custom.yaml

patch:
# 要启用的输入方案
schema_list:
- schema: rime_mint # 薄荷拼音
- schema: double_pinyin_flypy # 小鹤双拼
- schema: rime_mint_flypy # 薄荷拼音-小鹤混输方案
- schema: terra_pinyin # 地球拼音-薄荷定制
- schema: wubi98_mint # 五笔98-五笔小筑
- schema: wubi86_jidian # 五笔86-极点86
- schema: t9 # 仓九宫格-全拼输入
- schema: double_pinyin_abc # 智能ABC双拼
- schema: double_pinyin_mspy # 微软双拼
- schema: double_pinyin_sogou # 搜狗双拼
- schema: double_pinyin_ziguang # 紫光双拼
- schema: double_pinyin # 自然码双拼
menu:
# 候选词个数
page_size: 12

修改输入方案配置

模糊拼音:

在配置目录下编辑 rime_mint.custom.yaml

patch:
'speller/algebra':
- erase/^xx$/ # 首选保留
- derive/^([zcs])h/$1/ # zh, ch, sh => z, c, s
- derive/^([zcs])([^h])/$1h$2/ # z, c, s => zh, ch, sh
- derive/([aei])n$/$1ng/ # en => eng, in => ing
- derive/([aei])ng$/$1n/ # eng => en, ing => in
- derive/([iu])an$/$lan/ # ian => iang, uan => uang
- derive/([iu])ang$/$lan/ # iang => ian, uang => uan
- derive/([aeiou])ng$/$1gn/ # dagn => dang
- derive/([dtngkhrzcs])o(u|ng)$/$1o/ # zho => zhong|zhou
- derive/ong$/on/ # zhonguo => zhong guo
- abbrev/^([a-z]).+$/$1/ # 简拼(首字母)
- abbrev/^([zcs]h).+$/$1/ # 简拼(zh, ch, sh)

参考:

Ubuntu 安裝 RIME 輸入法的更多相关文章

  1. CentOS7.6安装rime輸入法

    # solve dependencyyum install -y gcc gcc-c++ boost boost-devel cmake make cmake3yum install glog glo ...

  2. Ubuntu 安裝 嘸蝦米 輸入法

    O S : 14.04.1-Ubuntu 加入fcitx開發團隊的repository: sudo add-apt-repository ppa:fcitx-team/nightly sudo apt ...

  3. jQuery - 中文輸入法與KeyDown/KeyPress事件

    最近專案中引用了Telerik ASP.NET擴充元件AutoComplete輸入欄位,測試時發現偶爾會不聽始喚,輸入文字時無法觸發資料查詢,在Javascript Source Code裡反覆追蹤測 ...

  4. Windows 小技巧: 變更輸入法順序

    Windows XP 中還是有辦法變更輸入法順序的!!只不過,要動用到 Regedit.exe 這個程式. 執行 Regedit.exe至 HKEY_CURRENT_USER\Keyboard Lay ...

  5. Ubuntu安裝nginx-1.6.2

    1.在執行完./configure 和make install 後出現 test -d '/usr/local/nginx/logs'         || mkdir -p '/usr/local/ ...

  6. C#-Windows服務以LocalSystem賬戶安裝的話無法獲取我的文檔路徑

    如圖,如果Window服務以上圖 Account安裝運行,則無法獲取到 以下路徑: System.Environment.GetFolderPath(Environment.SpecialFolder ...

  7. fedora23安装搜狗輸入法?

    1, 安裝方法, 是通過下載 repo文件, 添加repo文件, 然後通過dnf啦安裝的. repo文件地址是: fedora 的中文社區: https://www.fdzh.org/ fdzh: 就 ...

  8. UBuntu安裝使用PIP

    Windows下安裝python包還是比較方便的,直接在FLD網站下載對應的EXE文件就可以安裝,在linux系統下,使用pip,easy egg 管理工具可以減輕安裝負擔. 原文鏈接:http:// ...

  9. Ubuntu安裝python3.7版

    https://blog.csdn.net/u014775723/article/details/85213793 failed to fetch ppa:https://blog.csdn.net/ ...

  10. ubuntu安裝postman遇到問題

    @ubuntupc:~/Postman/app$ sudo ./Postman ./Postman: error while loading shared libraries: libgconf-2. ...

随机推荐

  1. 嵌入式编程的 4 种模型:轮询、中断、DMA、通道

    轮询方式 对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式.它定时对各种设备轮流询问一遍有无处理要求.轮流询问之后,有要求的,则加以处理.在处理I/O设备的要求之后,处理机返 ...

  2. 第一个Vert.x程序(基于Gradle7)

    这里跑一下Vert.x中文站的入门程序(以后就不写那个点了,或者干脆写vx)简易教程.这个程序非常简单,为啥还写一下呢?因为里面的依赖有点老,已经不能直接成功启动了. 搭建项目 通过IDEA创建Gra ...

  3. 2024UIUCTF - OSINT - Night

    2024UIUCTF - OSINT - Night 题目描述 Author: CBCicada That was quite a pretty night view, can you find wh ...

  4. Pandas中的常用函数

    1. map.apply.applymap 参考:Pandas教程 | 数据处理三板斧--map.apply.applymap详解 在日常的数据处理中,经常会对一个DataFrame进行逐行.逐列和逐 ...

  5. computed 和 watch 的区别和运用的场景?

    computed: 是计算属性,依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值: watch: ...

  6. SpringBoot+Mybatis整合出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的解决

    在搭建自己的后台管理,遇到一个比较小问题,顺便记录了一下. 启动SpringBoot后台时,前端访问后台执行Mybatis时,出现了这样的报错: org.apache.ibatis.binding.B ...

  7. 基于JQ使用原生js构造一个自动回复随机消息的机器人

    某些业务会使用到页面里存在一个机器人,类似于假客服一样,可以回复游客的问题. 那么如何自己写一个自动回复消息的机器人呢? 源码献上 /** * 基于jq的自动对话机器人 * @param {Objec ...

  8. 扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践

    背景 扬州万方科技股份有限公司主要从事通信.计算机和服务器.智能车辆.基础软件等产品的科研生产,是国家高新技术企业.专精特新小巨人企业.国家火炬计划承担单位. 业务介绍 申威处理器是在国家" ...

  9. .NET单元测试使用AutoFixture按需填充属性的几种方式,以及最佳实践

    AutoFixture是一个.NET库,旨在简化单元测试中的数据设置过程.通过自动生成测试数据,它帮助开发者减少测试代码的编写量,使得单元测试更加简洁.易读和易维护.AutoFixture可以用于任何 ...

  10. 封装的grid控件

    class CGridCtrl : public CWnd { DECLARE_DYNAMIC(CGridCtrl) public: void Create(CWnd* pParent, DWORD ...