Ubuntu 上安装使用 ibus-rime(超实用)

RIME/中州韵输入法引擎(Rime Input Method Engine),是一个跨平台的输入法算法框架。基于这个算法框架开发的输入法,可以粗暴的称为 Rime 输入法。然而,每个平台都有各自的名称:

【中州韵】 ibus-rime → Linux
【小狼毫】 Weasel → Windows
【鼠须管】 Squirrel → Mac OS X

其实这个都很好理解,不同平台不同的软件嘛。我在什么平台我下载对应的软件安装就行了,根本不用 Care 其他平台叫什么名字。

但我要吐槽 RIME 的官方文档,居然把各平台的使用说明杂糅在一起,其最大效果就是让新手「头晕」。

应该把不同平台的软件使用说明独立出来,比如小狼毫使用说明、鼠须管使用说明、中州韵使用说明。我用 ibus-rime,只看 ibus-rime 的说明就可以了嘛,干嘛要给我看小狼毫和鼠须管的使用说明。

在 Linux 下有两大主要的输入法支持框架:fcitx 和 IBus。fcitx 是 Free Chinese Input Toy for X 的简称。IBus 是 Intelligent Input Bus 的简称。Rime 二者都支持,有 ibus-rime 和 fcitx-rime 两个版本。值得注意的是,基于 Fcitx 输入法框架的 fcitx-rime 是第三方软件,由 Fcitx 团队开发和维护。参阅 Linux 下的输入法 fcitx vs ibus

ibus-rime 安装

Ubuntu 上直接使用命令安装:

sudo apt-get install ibus-rime

五筆86、袖珍簡化字拼音、五筆畫

sudo apt-get install librime-data-wubi librime-data-pinyin-simp librime-data-stroke-simp

安裝更多輸入方案,参阅 RimeWithIBus · GitHub

按组合键 Ctrl+` 或 F4 键唤出输入方案选单,由此调整 Rime 输入法最常用的选项。您可通过方案选单切换已经安装的输入方案。
ibus-rime 必知必会

输入法代号:ibus-rime
用户资料夹: ~/.config/ibus/rime/
共享资料夹: /usr/share/rime-data/

共享资料夹包含预设输入方案的源文件。 这些文件属于 Rime 所发行软件的一部份,在访问权限控制较严格的系统上对用户是只读的,因此谢绝软件版本更新以外的任何修改—— 一旦用户修改这里的文件,很可能影响后续的软件升级或在升级时丢失数据。

在「部署 Rime」操作时,将用到这里的输入方案源文件、并结合用户定制的内容来编译预设输入方案。

「用户资料夹」数据说明

用户资料夹则包含为用户准备的内容,如

〔全局設定〕 default.yaml
〔發行版設定〕 ibus-rime.yaml
〔預設輸入方案副本〕 <方案标识>.schema.yaml ibus-rime.schema.yaml
※〔安裝信息〕 installation.yaml
※〔用戶狀態信息〕 user.yaml

编译输入方案所产出的二进制文件:

〔Rime 棱鏡〕 <方案标识>.prism.bin
〔Rime 固態詞典〕 <词典名>.table.bin
〔Rime 反查詞典〕 <词典名>.reverse.bin

记录用户写作习惯的文件:

※〔用戶詞典〕 <词典名>.userdb.kct
※〔用戶詞典快照〕 <词典名>.userdb.txt、<词典名>.userdb.kct.snapshot 見於同步文件夾

以及用户自己设定的:

※〔用戶對全局設定的定製信息〕 default.custom.yaml
※〔用戶對預設輸入方案的定製信息〕 <方案标识>.custom.yaml
※〔用戶自製輸入方案〕及配套的詞典源文件

注:以上标有 ※ 号的文件,包含用户资料,您在清理文件时要注意备份!
ibus-rime 定制
定制指南

当用户需要对 Rime 中的各种设定做小幅的调节,最直接、但不完全正确的做法是:编辑「共享资料夹」中那些 .yaml 文档(/usr/share/rime-data/ )。

这种方法有很大缺陷:

当 Rime 软件升级时,也会升级各种设定档、预设输入方案。用户编辑过的文档会被覆盖为更高版本,所做调整也便丢失了。
软件升级后,你不能将备份文件直接覆盖升级后的文件。这将失去本次升级所新增和修复的功能。唯一的方法是,重新编辑升级后的文件。

因此,对于随 Rime 发行的设定档及预设输入方案,推荐的定制方法是:

在「用户资料夹」下创建 .yaml 定制文档;比如

default.yaml 的定制文件名为 default.custom.yaml
luna_pinyin 的定制文件名为 luna_pinyin.custom.yaml
luna_pinyin_simp 的定制文件名为 luna_pinyin_simp.custom.yaml
symbols.yaml 的定制文件名为 symbols.custom.yaml

规范为在文件名主体(ID)和 .yaml 之间增加次级扩展名 .custom。定制文档的书写格式为:

patch:
“一级设定项/二级设定项/三级设定项”: 新的设定值
“另一个设定项”: 新的设定值
“再一个设定项”: 新的设定值
“含列表的设定项/@n”: 列表第n个元素新的设定值,从0开始计数
“含列表的设定项/@last”: 列表最后一个元素新的设定值
“含列表的设定项/@before 0”: 在列表第一个元素之前插入新的设定值(不建议在补丁中使用)
“含列表的设定项/@after last”: 在列表 “一级设定项/二级设定项/三级设定项”: 新的设定值最后一个元素之后插入新的设定值(不建议在补丁中使用)
“含列表的设定项/@next”: 在列表最后一个元素之后插入新的设定值(不建议在补丁中使用)

就是这样:patch 定义了一组「补丁」,以源文件中的设定为基础,写入新的设定项、或以新的设定值取代现有设定项的值。

每次修改配置文件,你需要重新部署来生效。

重新部署的操作方法

点击输入法的程序指示器,选择「部署」点击输入法状态栏上的 ⟲ (Deploy) 按钮。如果找不到状态栏,在终端输入以下命令,可触发自动部署:rm ~/.config/ibus/rime/default.yaml; ibus-daemon -drx

定制每页候选数

Rime 中,默认每页至多显示 5 个候选项,而允许的范围是 1〜9(个别 Rime 发行版可支持 10 个候选)。

设定每页候选个数的默认值为 9,在用户目录建立定制文档 :

vi ~/.config/ibus/rime/default.custom.yaml

patch:
“menu/page_size”: 9

重新部署即可生效。

或者重启 ibus-deamon

ibus restart

注意! 如果 default.custom.yaml 里面已经有其他设定内容,只要以相同的缩进方式添加 patch: 以下的部分,不可重复 patch: 这一行。
定制方案选单

vi ~/.config/ibus/rime/default.custom.yaml:

default.custom.yaml

patch:
schema_list: # 對於列表類型,現在無有辦法指定如何添加、消除或單一修改某項,於是要在定製檔中將整個列表替換!
- schema: luna_pinyin
- schema: cangjie5
- schema: luna_pinyin_fluency
- schema: luna_pinyin_simp
- schema: my_coolest_ever_schema # 這樣就啓用了未曾有過的高級輸入方案!其實這麼好的方案應該排在最前面哈。

调整方案候选顺序,增加输入法方案,或者通过 # 注释内容将不用的方案移除候选菜单。

重新部署生效。
定制字体字号

GNOME 桌面可以使用扩展 IBus Tweaker。

以下方法不适用 ibus-rime:

default.custom.yaml

patch:
“style/font_face”: “明兰” # 字體名稱,從記事本等處的系統字體對話框裏能看到
“style/font_point”: 16 # 字號,只認數字的,不認「五號」、「小五」這樣的

定制皮肤

没有必要浪费时间,默认就简洁美观。
输入符号

符号文件 /usr/share/rime-data/symbols.yaml 开头已经说明了使用方法:

Usage: patch your Rime schema to enable /X symbols:

patch:

punctuator/import_preset: symbols

recognizer/patterns/punct: ‘^/([0-9]0?|[A-Za-z]+)$’

想在朙月拼音·简化字 luna_pinyin_simp 方案下输入符号,就新建 luna_pinyin_simp.custom.yaml:

patch:
punctuator/import_preset: symbols
recognizer/patterns/punct: ‘^/([0-9]0?|[A-Za-z]+)$’

重新部署生效。

输入符号请键入识别码:

星号 /xh
箭头 /jt
數字 /1
更多符号参阅文件 symbols.yaml。

其他方案下输入符号,照葫芦画瓢。
符号自定义

拷贝 /usr/share/rime-data/symbols.yaml 为 ~/.config/ibus/rime/symbols.custom.yaml。在末尾添加自定义符号:

个人常用信息

'/yx': [ xiaoming@gmail.com, xiaoming@163.com, 1234567910 ]

快速输入勾和叉

'/gc': [ ✓, ☑, ✗, ☒ ]

想在朙月拼音·简化字 luna_pinyin_simp 方案下输入符号,就修改 luna_pinyin_simp.custom.yaml 文件内容为:

patch:
punctuator/import_preset: symbols.custom
recognizer/patterns/punct: ‘^/([0-9]0?|[A-Za-z]+)$’

重新部署生效。
朙月拼音·简化字扩展词库

朙(míng)同“明”

下载词库,将下面几个文件的 luna_pinyin 修改为朙月拼音·简化字 luna_pinyin_simp:

luna_pinyin.hanyu.dict.yaml
luna_pinyin.poetry.dict.yaml
luna_pinyin.cn_en.dict.yaml
luna_pinyin.extended.dict.yaml

文件名和文件内容都需要同步修改。比如 luna_pinyin_simp.extended.dict.yaml,并同步修改文件内的方案 ID。

import_tables:

  • luna_pinyin
  • luna_pinyin_simp.hanyu
  • luna_pinyin_simp.poetry
  • luna_pinyin_simp.cn_en

接着将四个文件移动到用户资料夹 ~/.config/ibus/rime 下。

其后,将 luna_pinyin.custom.yaml 中的内容添加到 luna_pinyin_simp.custom.yaml 中。

patch:
punctuator/import_preset: symbols
recognizer/patterns/punct: ‘^/([0-9]0?|[A-Za-z]+)$’

載入朙月拼音擴充詞庫

translator/dictionary: luna_pinyin_simp.extended

改寫拼寫運算,使得含西文的詞彙(位於 luna_pinyin.cn_en.dict.yaml 中)不影響簡拼功能(注意,此功能只適用於朙月拼音系列方案,不適用於各類雙拼方案)

本條補靪只在「小狼毫 0.9.30」、「鼠鬚管 0.9.25 」、「Rime-1.2」及更高的版本中起作用。

speller/algebra/@before 0: xform/^([b-df-hj-np-tv-z])$/$1_/

重新部署生效。

其他扩展词库,xiaoTaoist 制作的词库扩展包,GitHub 地址。
增加自己的词库

我们可以仿照上一步的词典文件建立自己额外的词典,增加自己的词汇。例如,建立名为 my.dict.yaml 的文件,然后参照 luna_pinyin_simp.cn_en.dict.yaml 添加几个自己常用的词汇,文件内容如下:

my.dict.yaml 文件内容

Rime dictionary

encoding: utf-8


name: my
version: “2020.05.28”
sort: by_weight
use_preset_vocabulary: true

GitHub github 100
Stack Overflow so 1000

词典的格式为: 词汇编码词频,各个项目之间必须用 Tab(也就是制表符 )分割。一个最保险的方法就是,复制粘贴。词频部分可以不要。

然后在 luna_pinyin_simp.extended.dict.yaml 的 import_tables 中加上自己建立的词汇。

import_tables:

  • luna_pinyin
  • luna_pinyin_simp.hanyu
  • luna_pinyin_simp.poetry
  • luna_pinyin_simp.cn_en
  • my

一切添加妥当之后,重新部署生效。
导入其他词库

将搜狗输入法词库导入 RIME、将百度输入法词库导入 RIME……一搜便知,无需赘述。
朙月拼音·简化字默认英文

如果经常和英语打交道,偶尔输入汉字,可以把朙月拼音初始状态设为英语,需要时再切回中文。参考 这里 给出的说明,在 luna_pinyin_simp.custom.yaml 文件中加入下面的设置:

patch:
“switches/@0/reset”: 1 # 初始的 ascii mode 设置为「西文」

模糊拼音

这里是官方给的一个模板 (朙月拼音)。将模板剪贴进 ~/.config/ibus/rime/luna_pinyin_simp.custom.yaml 文件中,然后需要哪组就去掉那一行前面的 # 即可。

luna_pinyin.custom.yaml

【朙月拼音】模糊音定製模板

佛振配製

Ubuntu 20.04 上安装使用 ibus-rime(超实用)相关推荐

  1. Ubuntu 20.04上安装Git方法

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  2. ubuntu使用fail2ban_如何在Ubuntu 20.04上安装和配置Fail2ban

    暴露给Internet的任何服务都有遭受恶意软件攻击的风险. 例如,如果您在可公开访问的网络上运行服务,则攻击者可以使用暴力手段尝试登录您的帐户. Fail2ban是一种工具,可通过监视服务日志中的恶 ...

  3. ubuntu19 安装git_如何在Ubuntu 20.04上安装Git

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  4. ubuntu linux安装控制面板,在Ubuntu 20.04上安装Ajenti控制面板的方法

    本文介绍在Ubuntu 20.04服务器上安装Ajenti控制面板的方法,下面介绍的安装方法最大的好处是它完全自动化的. 一.更新Ubuntu 20.04系统 确保您正在全新安装Ubuntu 20.0 ...

  5. go 写文件_如何在 Ubuntu 20.04 上安装 Go

    本文最先发布在: 如何在 Ubuntu 20.04 上安装 Go​www.itcoder.tech Go,通常被称为 golang,它是一门由 Google 创建的现代化的开源编程语言,它允许你构建实 ...

  6. ubuntu安装ftp_如何在 Ubuntu 20.04 上安装 Webmin

    本文最先发布在: 如何在 Ubuntu 20.04 上安装 Webmin​www.itcoder.tech Webmin 是一个开源控制面板,它允许你通过简单易用的 Web 界面,就可以管理你的 Li ...

  7. 如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)

    本文最先发布在: https://www.itcoder.tech/posts/how-to-install-xrdp-on-ubuntu-20-04/ Xrdp 是一个微软远程桌面协议(RDP)的开 ...

  8. 如何在 Ubuntu 20.04 上安装 Java

    本文最先发布地址 如何在 Ubuntu 20.04 上安装 Java 在这个指南中,我们将会描述如何在 Ubuntu 20.04 上安装 Java. Java 是世界上最流行的编程语言之一,被用来构建 ...

  9. ubuntu安装python百度经验_如何在Ubuntu 20.04上安装Python 3.9(含python编译安装和使用Apt命令安装)...

    在本文中,我们将向您展示在Ubuntu 20.04上安装Python 3.9的两种方法.第一种使用APT命令安装Python3.9,第二种是在Ubuntu20.04上编译安装Python 3.9.本教 ...

  10. Ubuntu 20.04 上安装 TeamViewer

    本人实测,使用teamviewer,windows和ubuntu两端都可以实现远程控制和文件传输,只需要对应电脑下载好对应版本,安装即可. teamviewer官网下载地址:https://www.t ...

最新文章

  1. Markdwon中多张图片的并排显示(Mardown的灵动使用技巧)
  2. python爬携程_python爬虫-携程-eleven参数
  3. Web技术电子期刊2008年第3期(总第23期)
  4. arch linux简体中文,User-mode Linux (简体中文)
  5. The finally block does not always execute in try finally
  6. 微软职位内部推荐-SW Engineer II for Skype
  7. html程序国庆节祝福,2018最新的国庆节祝福语
  8. oracle修改用户密码命令_oracle 11g dba用户秘密修改其他用户密码
  9. 深度学习——卷积神经网络CNN
  10. Pentaho的Mondrian对Hive的支持
  11. Unix操作系统内核结构报告
  12. 操作系统课设 Nachos 实验三:利用信号量实现线程同步
  13. Springboot中拦截器的使用
  14. Lambda表达式只是一颗语法糖?
  15. bootstrap 下拉列表获取_Bootstrap框架下下拉菜单的实现(代码示例)
  16. HTML5中多媒体标签之音频标签
  17. Python实现Singleton模式的几种方式
  18. Ubuntu20.04+Window10双系统开机引导界面美化
  19. 戴尔淘宝开旗舰店 与官网购买产品享受同样服务
  20. python图案绘制解锁_PythonAppium实现安卓手机图形解锁

热门文章

  1. 史上最全 | 室外大规模3D检测数据集汇总
  2. 迅雷高速下载百度云盘文件
  3. 奇葩报错之返回值为 -1073741515 (0xc0000135) ‘未找到依赖 dll‘
  4. 备案后可以改服务器信息吗,域名备案后可以更改服务器
  5. Python初学者必刷的五个项目,你做过几个?
  6. 无法连接数据库2003-cant connect to Mysql server on ‘localhost’(10038)
  7. cyclone4驱动LM75A温湿度传感器学习
  8. 用c 语言的英文标识 阶乘,求10000的阶乘(c语言代码实现)
  9. UNCODE 与 ANSI 编码互相转换
  10. IE图标删不掉,桌面IE删了又有了