开源大世界

kydsj.vip 【首页】

用户工具

站点工具


wiki:中州韵

中州韵


中州韵输入法引擎(英语:Rime Input Method Engine,又称Rime 输入法)

是由佛振编写的开源中文输入法,目前项目网站、源代码均托管在GitHub。

基于同一个核心架构,该输入法分为三个官方发行版:

Linux 发行版中州韵(ibus-rime)、Windows发行版小狼毫(Weasel)、macOS 发行版鼠须管(Squirrel)。

移动平台也有基于Rime做的输入法:Android下叫Trime, iOS下叫iRime。


为什么使用 Rime 输入法?


Rime 输入法的优势在于它高度的可自定义化。

从外观,到按键设置、标点定制,还可以实现输入颜文字、希腊字母等奇葩操作。

只要肯花一点时间,就可以让输入法变成我们想要的样子。

此外,我们不必再担心输入法的隐私问题,也可摆脱输入法广告骚扰。

安装


在安装过程中,会依次弹出两个窗口,让我们选择输入方案和界面风格。

这两个步骤以后也可以重新设置,所以不必过多纠结。

选好了点击(河南话),再点击,然后就安装完成了。

安装成功后,理论上就已经可以使用了。

但是既然我们想要使用 Rime,一定是为了对其进行自定义配置来提高使用体验。

Rime 输入法具有很高的自由度,可以让我们在各方面进行自定义配置,让输入法无限贴近我们的需求。

基础设置


切换简体字


安装完输入法后,按下Ctrl+`快捷键。

(或者在输入时,按下F4键)

会弹出如下窗口,

选择简化字选项后,回车即可。

添加输入方案


Rime 默认的输入方案有很多,但如果你是五笔或双拼用户,就需要自己添加方案。

以 自然码双拼 为例,方法如下:

第一步:在 Github 找到想要的方案,将其中的 *.yaml 文件下载下来,

放到用户文件夹(对输入法点右键,可找到) 中

第二步:在用户文件夹中新建default.custom.yaml文件(如果存在,就不需创建了)

并写入如下内容

# default.custom.yaml
patch:
  schema_list:
    -schema: double_pinyin

上述代码中,patch: 这一行在同一个文件中只需出现一次,

如果有多处修改都包含此行,则只需保留一个,并按照相同缩进对其即可。

缩进很重要,请务必对齐。

第三步:通过开始菜单或托盘图标 重新部署 即可。

全局设置


候选词数量


Rime 默认的选词数量为 5,我们可以将其修改为其他数值。

最多为10,十个候选词分别对应数字1~9和0。

用户文件夹 找到default.custom.yaml文件,文本打开

参考代码如下:

# default.custom.yaml
patch:
  "menu/page_size": 10

方案选单热键


Rime 默认将 Ctrl+~F4 作为方案选单的快捷键(或叫热键),

这有时会和其他软件或游戏的快捷键发生冲突。为了解决这个让人裂开的问题,

可以在 default.custom.yaml 中更改快捷键。

# default.custom.yaml
patch:
  "switcher/hotkeys":
    - "Control+grave"

(grave键就是这个~,也叫反引号键 )

以方括号 [ ] 来换页


可以在 default.custom.yaml 中更改。

# default.custom.yaml
patch:
  key_binder/bindings:
    - when: paging
      accept: bracketleft
      send: Page_Up
    - when: has_menu
      accept: bracketright
      send: Page_Down

在特定程序里关闭中文输入


在一些终端、代码编辑器或快速启动工具等程序中,中文很少会用到,

那么我们可以在这些程序里默认关闭中文输入。

还有在很多游戏中,默认关闭中文输入可以避免 “想前进,却在屏幕上打出一长串 W” 的窒息操作 。

比如下面的例子,我们希望在 Photoshop 和 Illustrator 中默认关闭中文输入。

修改用户文件夹中点weasel.custom.yaml文件

# weasel.custom.yaml
patch:
    app_options/photoshop.exe: # 程序名字全用小写字母
      ascii_mode: true
    app_options/illustrator.exe: # 如果有多个程序,按照这个格式补充
      ascii_mode: true

程序的名称一般为 *.exe,如果不知道,

可以通过快捷方式的右键菜单中的 “打开文件所在位置 ” 找到;

也可以通过任务管理器查看正在运行的程序。

输入方案配置


该部分以 朙月拼音 为例。

请读者注意:如果你使用的不是 朙月拼音 ,

那么下文中出现 luna_pinyin.custom.yaml 文件的地方,请替换为相应文件。

搞清楚这一点很重要,因为你可能会同时拥有上述两种文件,

如果对错误的文件进行了修改,可能就不起作用。

举个例子,我使用 自然码双拼,对应的文件为 double_pinyin.custom.yaml。
在下文中任何要修改 luna_pinyin.custom.yaml 的地方,操作对象换为 double_pinyin.custom.yaml。

模糊音设置


修改luna_pinyin.custom.yaml文件

(在用户文件夹中,如果没有则创建一个)

参考如下:

# luna_pinyin.custom.yaml
#
# 【朙月拼音】模糊音定製模板
#   佛振配製 :-)
#
# 位置:
# ~/.config/ibus/rime  (Linux)
# ~/Library/Rime  (Mac OS)
# %APPDATA%\Rime  (Windows)
#
# 於重新部署後生效
#

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/^n/l/                     # n => l
    #- derive/^l/n/                     # l => n

    # 這兩組一般是單向的
    #- derive/^r/l/                     # r => l

    #- derive/^ren/yin/                 # ren => yin, reng => ying
    #- derive/^r/y/                     # r => y

    # 下面 hu <=> f 這組寫法複雜一些,分情況討論
    #- derive/^hu$/fu/                  # hu => fu
    #- derive/^hong$/feng/              # hong => feng
    #- derive/^hu([in])$/fe$1/          # hui => fei, hun => fen
    #- derive/^hu([ao])/f$1/            # hua => fa, ...

    #- derive/^fu$/hu/                  # fu => hu
    #- derive/^feng$/hong/              # feng => hong
    #- derive/^fe([in])$/hu$1/          # fei => hui, fen => hun
    #- derive/^f([ao])/hu$1/            # fa => hua, ...

    # 韻母部份
    #- derive/^([bpmf])eng$/$1ong/      # meng = mong, ...
    #- derive/([ei])n$/$1ng/            # en => eng, in => ing
    #- derive/([ei])ng$/$1n/            # eng => en, ing => in

    # 樣例足夠了,其他請自己總結……

    # 反模糊音?
    # 誰說方言沒有普通話精確、有模糊音,就能有反模糊音。
    # 示例爲分尖團的中原官話:
    #- derive/^ji$/zii/   # 在設計者安排下鳩佔鵲巢,尖音i只好雙寫了
    #- derive/^qi$/cii/
    #- derive/^xi$/sii/
    #- derive/^ji/zi/
    #- derive/^qi/ci/
    #- derive/^xi/si/
    #- derive/^ju/zv/
    #- derive/^qu/cv/
    #- derive/^xu/sv/
    # 韻母部份,只能從大面上覆蓋
    #- derive/^([bpm])o$/$1eh/          # bo => beh, ...
    #- derive/(^|[dtnlgkhzcs]h?)e$/$1eh/  # ge => geh, se => sheh, ...
    #- derive/^([gkh])uo$/$1ue/         # guo => gue, ...
    #- derive/^([gkh])e$/$1uo/          # he => huo, ...
    #- derive/([uv])e$/$1o/             # jue => juo, lve => lvo, ...
    #- derive/^fei$/fi/                 # fei => fi
    #- derive/^wei$/vi/                 # wei => vi
    #- derive/^([nl])ei$/$1ui/          # nei => nui, lei => lui
    #- derive/^([nlzcs])un$/$1vn/       # lun => lvn, zun => zvn, ... 
    #- derive/^([nlzcs])ong$/$1iong/    # long => liong, song => siong, ...
    # 這個辦法雖從拼寫上做出了區分,然而受詞典制約,候選字仍是混的。
    # 只有真正的方音輸入方案纔能做到!但「反模糊音」這個玩法快速而有效!

    # 模糊音定義先於簡拼定義,方可令簡拼支持以上模糊音
    - abbrev/^([a-z]).+$/$1/           # 簡拼(首字母)
    - abbrev/^([zcs]h).+$/$1/          # 簡拼(zh, ch, sh)

    # 以下是一組容錯拼寫,《漢語拼音》方案以前者爲正
    - derive/^([nl])ve$/$1ue/          # nve = nue, lve = lue
    - derive/^([jqxy])u/$1v/           # ju = jv,
    - derive/un$/uen/                  # gun = guen,
    - derive/ui$/uei/                  # gui = guei,
    - derive/iu$/iou/                  # jiu = jiou,

    # 自動糾正一些常見的按鍵錯誤
    - derive/([aeiou])ng$/$1gn/        # dagn => dang 
    - derive/([dtngkhrzcs])o(u|ng)$/$1o/  # zho => zhong|zhou
    - derive/ong$/on/                  # zhonguo => zhong guo
    - derive/ao$/oa/                   # hoa => hao
    - derive/([iu])a(o|ng?)$/a$1$2/    # tain => tian

  # 分尖團後 v => ü 的改寫條件也要相應地擴充:
  #'translator/preedit_format':
  #  - "xform/([nljqxyzcs])v/$1ü/"

^和$的意思是:匹配以什么为开头和结尾

定制标点符号


Rime 提供的标点符号非常全面,但是每个人的需求不同,

一般用不到所有的符号,所以我们需要根据自己的需求进行定制。

也有的用户习惯以 / 键输入标点「、」,这同样要通过定制标点符号实现。

以 朙月拼音 为例,输入方案中有以下设定:

# luna_pinyin.schema.yaml
punctuator:
  import_preset: default

解释:

punctuator 是 Rime 中负责转换标点符号的组件。该组件会从设定中读取符号映射表,而知道该做哪些转换。
punctuator/import_preset 是说,本方案要继承一组预设的符号映射表、要从另一个设定档 default.yaml 导入

查看 default.yaml ,確有如下符号表

# default.yaml
punctuator:
  full_shape:
    "/" : [ /, "/", ÷ ]
  half_shape:
    "/" : [ "/", /, ÷ ]

可见,在默认方案中,按键 / 是被指定到 “/”, /, ÷ 等一组符号了。

并且全角和半角状态下,符号有不同的定义。

欲令 / 键直接输出「、」,我们要做的事情,是定制 luna_pinyin.custom.yaml:

# luna_pinyin.custom.yaml
patch:
  punctuator/full_shape:
    "/" : "、"
  punctuator/half_shape:
    "/" : "、"

以上在输入方案设定中写入两组新值,合并后的输入方案成为:

# luna_pinyin.schema.yaml
punctuator:
  import_preset: default
  full_shape:
    "/" : "、"
  half_shape:
    "/" : "、"

含义是,在由 default 导入的符号表之上,覆写对按键 / 的定义。

通过这种方法,既直接继承了大多数符号的默认定义,又做到了局部的个性化。

输入特殊符号


Rime 提供了极其丰富的特殊符号的输入方法,

具体方案可以在symbols.yaml(在程序文件夹的data文件夹中)中查看。

如果无法正常显示,尝试用浏览器或其他编辑器打开。

比如,使用/sx可以打出各种数学符合±÷×∈≠∑∮,

使用/xl可以输出希腊字母αβγδθη,使用/mj可以输出麻将符号🀀🀁🀇🀐🀚。

添加自定义符号


由于symbols.yaml(在程序文件夹的data文件夹中)不能使用 *.custom 打补丁,我们需要这样操作:

1 在用户文件夹新建文件 mysymbols.yaml(你可以自己决定)

2 找到文件 symbols.yaml ,将文件内容全部粘贴至刚刚新建的 mysymbols.yaml

3 将 luna_pinyin.schema.yaml 中 'punctuator/import_preset'指向改为 mysymbols (代码见下)

4 按照已有的格式添加自定义内容

# luna_pinyin.schema.yaml
patch:
	"punctuator/import_preset": mysymbols

历史


等待补充

相关网站

wiki/中州韵.txt · 最后更改: 2024/02/23 11:02 由 bilibili

⭐24小时内访问人数:【943】⭐