今天,我们首先来讲解 用户文件夹 default.customer.yaml
的配置方法。
👇如下图所示,根据 rime
中州韵 程序配置结构讲解 中所讲,用户文件夹 内的 default.custom.yaml
文档的主要作用是为 程序文件夹 内的 default.yaml
文档进行打补丁,以合入并体现用户的个性化配置。
patch
节点在 rime
的 yaml
文档中,所有包含 custom
的 yaml
文档,都是补丁文档,用于记录和体现用户的个性化配置。
default.yaml
的补丁文档是 default.custom.yaml
wubi86.schema.yaml
的补丁文档是 wubi86.custom.yaml
wubi_pinyin.schema.yaml
的补丁文档是 wubi_pinyin.custom.yaml
显然,每一个补丁文档,对应都会有其原配置文档(即不带 custom
的文档)
补丁文档中,其所定义的配置节点、配置项、配置值/内容,都应该存在于 补丁节点 path
之内,如下👇
反过来,如果在 custom
文档内的某项配置不在 path
节点之内,则该配置内容是不会生效的。
💣注意:
在一个 custom.yaml
文档中,只需要一个 path
节点,你需要将你希望打补丁的配置统一放在这一个 path
节点下。如果你的 custom.yaml
中存在多个 path
节点,则会引起 rime
异常。
yaml
语法格式yaml
语法使用用缩进表示层级关系(这个很重要,请各位在编辑yaml
补丁文档时,特别注意缩进位置),并且内容大小写敏感,其使用 #
表示注释。
💣坑点:
如果你在你的 custom.yaml
文档的缩进中,混用了空格和制表符,那你的整个 custom.yaml
文档将不会生效,👇如下是一个例子
default.custom.yaml
ascii_composer/switch_key
ascii_composer/switch_key
用来定义输入法状态开关相关的按键。
👇如下,我们配置了 CapsLock
键,左右Ctrl
键, 左右Shift
键的功能。
patch:
ascii_composer/switch_key:
Caps_Lock: commit_code # 候选状态下,按 Caps_Lock 后编码上屏
Control_L: noop # 左 ctrl 键无使用效果
Control_R: noop # 右 ctrl 键无使用效果
Eisu_toggle: clear # 按 Esc 键,清除候选编码,退出候选框
Shift_L: commit_code # 候选状态下,按 左 Shift 后,编码上屏
Shift_R: commit_code # 候选状态下,按 右 Shift 后,编码上屏
good_old_caps_lock
good_old_caps_lock
用来控制在输入的过程中,使用 CapsLock
键后输入法的行为。
👇如下,我们配置了 CapsLock
键的功能,以使在输入过程中使用了 CapsLock
键后,可以一直保持大写输入状态。
patch:
ascii_composer:
good_old_caps_lock: true # true 通过 caps lock 键切换入英文模式后,保持大写输入状态
engine/filters
engine/filters
用来定义候选词过滤器的配置。
👇如下,我们配置了 simplifier
和 uniquifier
两种过滤器。在将来定制输入方案时,我们会在输入方案的补丁文档中配置更多的个性化过滤器。
patch:
"engine/filters":
- simplifier # 引入简体拼音输入法过滤器
- uniquifier # 过滤重复候选项,依赖 simplifier
key_binder/bindings
key_binder/bindings
用来定义一些按键的相关作用。
👇如下,我们定义了 ;
键来取第2候选词,.
键来取第3候选词,PagUp
键来进行向上翻页,PagDn
键来进行向下翻页
patch:
"key_binder/bindings":
- {accept: semicolon, send: 2, when: has_menu} # 使用 ; 键选择第 2 候选词
- {accept: apostrophe, send: 3, when: has_menu} # 使用 . 键选择第 3 候选词
- {accept: bracketleft, send: Page_Up, when: paging} # 使用 PageUp 键向上翻页
- {accept: bracketright, send: Page_Down, when: has_menu} # 使用 PageDown 键向下翻页
menu/page_size
menu/page_size
用来定义在输入法候选词存在时,候选框内可以容纳的候选词的数量,这个值最大是 10
patch:
"menu/page_size": 10 # 存在候选词选项时,每一页显示的候选词数量,最大是 10
recognizer/patterns/punct
recognizer/patterns/punct
用来定义标点符号输入的捕捉模式。
patch:
"recognizer/patterns/punct": "^/([0-9]0?|[A-Za-z]+)$" # 标点符号识别模式
👆上面所配置的标点符号捕捉模式,可以实现以下符号输入功能,显然这是很有用(炫酷)的
schema_list
schema_list
用于管理输入方案列表,这里所谓的输入方案,指的是 程序文件夹 内的 schema.yaml
文档名,👇如下
patch:
schema_list:
- {schema: wubi_pinyin} # 五笔?拼音 输入方案
👆上面所配置的输入方案,在我们 F4
键进行输入方案切换时,将会体现其效果。
例如,如果我们按如下👇的内容来配置 default.custom.yaml
:
patch:
schema_list:
- {schema: wubi_pinyin} # 五笔?拼音 输入方案
- {schema: easy_en} # 英文输入方案
- {schema: latex} # latex输入方案
那么,当我们通过 F4
按键调出 Rime
选项时,将看到有三个输入方案(五笔?拼音
,Easy English
, latex
)可供选择,如下👇:
👆上图中,为什么我们看到的输入方案是 五笔?拼音, 而不是 default.custom.yaml
中所配的 wubi_pinyin 呢?这是因为 Rime
所显示给我们的交互选项,使用的是输入方案的 name
值,而不是输入方案的 schema.yaml
文档名,👇如下:
switcher
switcher
用来管理和控制输入方案及输入选项的开关状态。
如下👇,我们定义了输入法选项的唤出键是 F8
,这个按键在 Rime
中默认是 F4
和 grave
(键盘感叹号左边的那个键)
patch:
switcher:
abbreviate_options: true # 功能选项显示为简写模式
caption: "〔方案选单〕" # 选项菜单的名字
fold_options: true # 功能选项折叠显示
hotkeys: [F8] # 使用 F8 键调出 方案选单
👆上文中,我们在进行功能个性化定义的时候,已经多次提到对按键的功能进行定义,或者选择使用不同的按键。例如 Caps_Lock
,例如F8
;那么我们每一个按键,在yaml
文档中其对应的名字分别是什么呢?您可以参考 rime中州韵 按键名称一览表 以了解各按键对应的名称。
default.custom.yaml
文档今天分享的 default.custom.yaml
配置内容,也可以直接下载default.custom.yaml
文档,以进行使用或者对比。
当我们修改了 default.custom.yaml
文档并保存后,我们所做的修改并不会立即生效,我们需要 重新部署 rime
以使其可以感知并加载我们所做的个性化配置。如下👇
以上所分享的,就是 rime
中州韵/小狼毫 输入法的 default.yaml
配置个性化配置方法,我们需要在 用户文件夹 内修改编辑 default.custom.yaml
文档以达到定制 default.yaml
的目的。
如果你的 用户文件夹 内没有 default.custom.yaml
文档,你需要在 用户文件夹 内创建一个新的 default.custom.yaml
文档,然后修改它。
每当你修改了 default.custom.yaml
文档后,不要忘了保存。同时,你所做的修改不会立即生效,你需要进行重新部署,方可使输入法感知并加载到你所做的修改。