Rime 输入法指北

前言出于对国产输入法软件的不信任,再加上国产输入法广告太多等因素的影响,促使我想要尽快找到一个开源、快捷、不自动上传云端的输入法。

在网上搜索时,Rime 收到了一致好评,让我萌生了非常大的兴趣,故特意找到了 Rime 的相关资料并整理。

本文基于 Rime v1.5.3 版本进行整理,其他版本可能不适用。

关于 Rime什么是 RimeRime 全名是「中州韵输入法引擎」,Rime 不是一种输入法。是从各种常见键盘输入法中提炼出来的抽象的输入算法框架,由 佛振 大佬开发。Rime 通过各种输入方案来实现对几乎所有中文的支持,包括但不限于【拼音】、【注音】、【双拼】、【五笔】、【仓颉】,并且可以简单的进行【简繁】的切换

什么是输入方案Rime 由于本质只是一个框架,本身是不知道如何输入的。如果我们想要使用 Rime,就得定义一些关于如何输入的设置来告诉 Rime,这些设置就是输入方案。

Rime 的版本Rime 是一个天生跨平台的框架,在每一个平台都有对应的发行版本:

Linux:官方:ibus-rime(中州韵)第三方:fcitx-rimewindowns:官方:Weasel(小狼毫)第三方:PRIMEmacOS:官方:Squirrel(鼠须管)第三方:XIMEAndroid:第三方:Trime(同文)iOS:第三方:iRime上面是 Rime 在各平台对应的软件,Rime 默认提供了两个拼音输入方案「朙月拼音」和「地球拼音」,两者都可以输入准确的繁体和简体,而且「地球拼音」还支持声调输入。Rime 还支持了许多种方言拼音,如吴语、粤语,甚至中古汉语。

Rime 的文件架构Rime 所有的配置文件、输入方案及词典文件,均是普通的文本文档,均要求 UTF8 编码。其中配置文件、输入方案要求使用 yaml 格式的文件。词典文件使用普通的 txt 文档即可。

Rime 中将文件分为 共享文件夹 和 用户文件夹。

共享文件夹 中存放的是 Rime 发行版的默认文件,一般是不允许进行修改的【中州韵 ibus-rime】 /usr/share/rime-data/【小狼毫 Weasel】 安装目录\data【鼠须管 Squirrel】 /Library/Input Methods/Squirrel.app/Contents/SharedSupport/用户文件夹 的存放位置【中州韵 ibus-rime】 ~/.config/ibus/rime/【小狼毫 Weasel】 %APPDATA%\Rime,也可以通过“开始菜单\小狼毫输入法\用户文件夹”打开。【鼠须管 Squirrel】 ~/Library/Rime/,也可以通过“系统输入法菜单/鼠须管/用户设置”打开。用户文件夹刚开始安装后,在 用户文件夹 中是没有文件的,当我们运行 Rime 后会出现以下文件/文件夹:

build/*:这个文件夹下存放的是我们每次部署之后生成的静态文件<输入方案名>.prism.bin:Rime 棱镜,拼写运算规则<词典名>.table.bin:Rime 固态词典,按音节编码检索词条的索引<词典名>.reverse.bin:Rime 反查词典,按词条检索编码的索引<词典名>.userdb/*:这个文件夹是我们的词典文件夹,当我们进行了输入之后,会将输入的内容存入,以便进行词语调频installation.yaml:这个文件是关于我们本机 Rime 的安装时间、版本信息等user.yaml:这个文件是关于 Rime 的一些设置选项,比如我们上次选择的输入方案Rime 的配置文件都需要放于 用户文件夹 下,分为三类:

default.yaml:全局配置,存放跨输入方案的通用配置<输入方案名>.schema.yaml:存放某一个输入方案的配置如:double_pinyin_flypy.schema.yaml<发布版名>.yaml:存放某个发行版的独有配置如:symbols.yaml如果有其他额外文件,也需要放入 用户文件夹 下,才能被配置文件正确使用

自定义 Rime 的全局配置我的全局配置 default.custom.yaml

menu可配置项:

page_size:每页个数,默认 5,允许 1~9该项可在每个输入方案中单独设置

示例:

menu:

page_size: 8schema_list可配置项:

schema:每一项 schema 对应一项方案的 schema_id示例:

schema_list:

- schema: luna_pinyin

- schema: luna_pinyin_simp

- schema: luna_pinyin_fluency

- schema: bopomofo

- schema: bopomofo_tw

- schema: cangjie5

- schema: stroke

- schema: terra_pinyinswitcher可配置项:

caption:切换器被调用时屏幕显示的名字hotkeys:切换器调用的快捷键abbreviate_options:fold_options:option_list_separator:save_options:示例:

switcher:

abbreviate_options: true

caption: "〔方案選單〕"

fold_options: true

hotkeys:

- "Alt+Shift+Control+grave"

- "Control+grave"

option_list_separator: "/"

save_options:

- full_shape

- ascii_punct

- simplification

- extended_charset

- zh_hant

- zh_hans

- zh_hant_tw自定义 Rime 的输入法方案Rime 输入方案主要分为三部分

schema:关于整个输入方案的信息阐述switches:可以切换的开关,比如切换全半角,切换简繁体engine:Rime 的核心配置,配置整个 Rime 是如何进行运作特殊说明:

输入方案的某些细项设置是可以写在全局设置中,比如

key_binderpunctuatorascii_composerrecognizer在输入方案中设置 menu/page_size 是可以的

schema可配置项:

name:方案的显示名称〔即出现于方案选单中,通常为中文〕schema_id:方案内部名,在代码中引用此方案时的名称,通常由英文,数字,下划线组成author:方案作者。如果您对方案做出了修改,请保留原作者名,放入自己的名字加在后面description:简要描述方案历史,码表来源,该方案规则等dependencies:如果本方案依赖于其他方案〔通常来说会依赖其他方案做为反查,抑或是两种或多种方案混用时]version:版本号,在发布新版前请确保已升版本号示例:小鹤双拼

schema:

name: "小鶴雙拼"

schema_id: double_pinyin_flypy

author:

- "double pinyin layout by 鶴"

- "Rime schema by 佛振 <[email protected]>"

description: |

朙月拼音+小鶴雙拼方案。

dependencies:

- stroke

version: 0.18switchesascii_mode:中英文切换开关。0 为中文,1 为英文

full_shape:全角符号/半角符号开关。默认 0 为半角,1 为全角。注意,开启全角时英文字母亦为全角。

extended_charset:字符集开关。0 为 CJK 基本字符集,1 为 CJK 全字符集。仅 table_translator 可用

ascii_punct:中西文标点切换开关,0 为中文句读,1 为西文标点。

simplification:是转化字开关。一般情況下与上同,0 为不开启转化,1 为转化。simplification 选项名称可自定义,亦可添加多套替換用字方案:

- name: zh_cn

states: ["漢字", "汉字"]

reset: 0或

- options: [ zh_trad, zh_cn, zh_mars ]

states:

- 字型 → 漢字

- 字型 → 汉字

- 字型 → 䕼茡

reset: 0name/options:須与 engine 中 simplifier 的 option_name 相同

switches:

- name: zh_simp

reset: 1

states: [ 漢字, 汉字 ]

simplifier:

option_name: zh_simpstates:可不写,如不写则此开关存在但不可见,可由快捷鍵操作

reset:设定开关默认状态〔若 reset 为空,则使用上次状态〕

字符集过滤。此选项沒有默认名称,須配合 charset_filter 使用。可單用,亦可添加多套字符集

示例:

switches:

- name: ascii_mode

reset: 0

states: ["中文", "西文"]

- name: full_shape

states: ["半角", "全角"]

- name: extended_charset

states: ["通用", "增廣"]

- name: simplification

states: ["漢字", "汉字"]

- name: ascii_punct

states: ["句讀", "符號"]engineRime 的核心原理是通过 enagine 下的 4 大组件对用户输入进行处理,4 大组件分别是:

ProcessorsSegmentorsTranslatorsFilters整个流程为:

Processors 下的各个 processor 对用户的输入(即按下键盘的哪一个键)依次进行处理,将按键按照预设的规则对按键进行响应不处理:Rime 不对该按键做任何响应,使用系统默认操作特殊操作:比如 Enter 上屏,切换输入方案、组合键等输入候选:该按键是需要转换为文字的按键,比如 123abc,将该按键字符存入【输入码】上下文当【输入码】上下文改变时,Segmentors 下的 segmentor 会将当前输入码根据格式分段,各自打上标签。比如【朙月拼音】中,输入码 2012nian\,划分为三个编码段:2012(贴 number 标签)、nian(贴 abc 标签)、\(贴 punct 标签)。顾名思义,Translators 完成由编码到文字的翻译。但有几个要点:翻译的对象是划分好的一个代码段。某个 translator 组件往往只翻译具有特定标签的代码段。翻译的结果可能有多条,每条结果成为一个展现给用户的候选项。代码段可由几种 translator 分别翻译、翻译结果按一定规则合并成一列候选。候选项所对应的编码未必是整个代码段。用拼音敲一个词组时,词组后面继续列出单字候选,即是此例。翻译完成后,由 Filters 对所有翻译结果进行处理,比如去重示例:

engine:

processors:

- ascii_composer

- recognizer

- key_binder

- speller

- punctuator

- selector

- navigator

- express_editor

segmentors:

- ascii_segmentor

- matcher

- abc_segmentor

- punct_segmentor

- fallback_segmentor

translators:

- punct_translator

- script_translator

- "table_translator@custom_phrase"

filters:

- "simplifier@emoji_suggestion"

- "simplifier@zh_simp"

- uniquifier

- single_char_filterProcessorsascii_composer:处理英文模式及中英文切换recognizer:与 matcher 搭配,处理符合特定规则的输入码,如网址,反查等key_binder:在特定条件下将按键绑定到其他按键,如重定义逗号,句号为预设翻页,开关快捷键等处理某些自定义的组合键speller:拼写处理器,接受字符按键,编辑输入处理自定义的键,通常为 26 个英文字母punctuator:句读处理器,将个别字符按键直接映射为标点符号或文字处理句读键、数字键selector:选字处理器处理数字键、上下方向键、PageUp、PageDownnavigator:处理输入栏内的光标移动处理左右方向键、Home、Endexpress_editor:编辑器处理空格、回车、回退键不常用:

fluid_editor:句式编辑器,用于以空格断开词,回车上屏的【注音】,【语句流】等输入方案,与 express_editor 互斥,也可以写作 fluency_editorchord_composer:和弦作曲家或曰并击处理器,用于【宫保拼音】等多键并击的输入方案lua_processor:使用 lua 自定义按键,后接 @lua函数名lua 函数名即用户文件夹内 rime.lua 中函数名,参数为(key, env)recognizer可配置项:

import_preset:从外部文件导入patterns:配合 segmentor 的 prefix 和 suffix 完成段落划分、tag 标记示例:

recognizer:

import_preset: default

patterns:

code: "[a-zA-Z]+(*$"

email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$"

html: "^<[a-z]+>$"

punct: "^/([a-z]+|[0-9]0?)$"

uppercase: "[A-Z][-_+.'0-9A-Za-z]*$"

url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]{1,10}[.:_-].*$"key_binder可配置项:

import_preset:从外部文件导入bindings:设置组合键的映射每一条 binding 中包含字段:accept:键盘输入的按键when:作用条件send:实际调用的按键toggle:切换开关,和 send 不共存accept 和 send 作用的键,需要输入 Ibus 风格的键名:

Mac 只支持 Alt/Option 键,不支持Command键,详见

Shift_L 左Shift

Shift_R 右Shift

Control_L 左Ctrl

Control_R 右Ctrl

Alt_L 左Alt

Alt_R 右Alt

# 在 windows 是 windows 键

Meta_L 左Meta

Meta_R 右Meta

Super_L 左Super

Super_R 右Super

Hyper_L 左Hyper

Hyper_R 右Hyper

BackSpace 退格

Tab 制表符

Caps_Lock 大写键

Linefeed 换行

Clear 清除

Return 回车

Pause 暂停

Escape Esc退出

Delete 刪除

Home Home

Left 左箭头

Up 上箭头

Right 右箭头

Down 下箭头

Prior 上翻

Page_Up 上翻

Next 下翻

Page_Down 下翻

space 空格

Sys_Req

End 末位

Begin 始位

Shift_Lock 上檔鎖

Scroll_Lock 滚动锁

Num_Lock 小键盘锁

Select 选择

Print 打印

Execute 执行

Insert 插入

Undo 还原

Redo 重做

Menu 菜单

Find 寻找

Cancel 取消

Help 帮助

Break 中断

grave `

asciitilde ~

exclam !

at @

numbersign #

dollar $

percent %

ampersand &

asciicircum ^

asterisk *

parenleft (

parenright )

underscore _

minus -

plus +

equal =

bracketleft [

bracketright ]

braceleft {

braceright }

bar |

slash /

backslash \

semicolon ;

colon :

apostrophe '

quotedbl "

comma ,

period .

less <

greater >

question ?

KP_Space 小键盘空格

KP_Tab 小键盘制表符

KP_Enter 小键盘回车

KP_Delete 小键盘刪除

KP_Home 小键盘原位

KP_Left 小键盘左箭头

KP_Up 小键盘上箭头

KP_Right 小键盘右箭头

KP_Down 小键盘下箭头

KP_Prior 小键盘上翻

KP_Page_Up 小键盘上翻

KP_Next 小键盘下翻

KP_Page_Down 小键盘下翻

KP_End 小键盘末位

KP_Begin 小键盘始位

KP_Insert 小键盘插入

KP_Equal 小键盘等于

KP_Multiply 小键盘乘号

KP_Add 小键盘加号

KP_Subtract 小键盘減号

KP_Divide 小键盘除号

KP_Decimal 小键盘小数点

KP_0 小键盘0

KP_1 小键盘1

KP_2 小键盘2

KP_3 小键盘3

KP_4 小键盘4

KP_5 小键盘5

KP_6 小键盘6

KP_7 小键盘7

KP_8 小键盘8

KP_9 小键盘9示例:

key_binder:

bindings:

- {accept: minus, send: Page_Up, when: paging}

- {accept: equal, send: Page_Down, when: has_menu}

- {accept: bracketleft, send: Page_Up, when: paging}

- {accept: bracketright, send: Page_Down, when: has_menu}

- {accept: 9, send: Page_Up, when: paging}

- {accept: 0, send: Page_Down, when: has_menu}

- {accept: semicolon, send: 2, when: has_menu}

- {accept: apostrophe, send: 3, when: has_menu}speller可配置项:

alphabet:设置本 speller 需要监听的键initials:设置哪些键仅在开头的时候才需要监听finals:设置哪些键仅在末尾的时候才需要监听delimiter:分词符algebra:Rime 核心的拼写运算规则,所有 algebra 算出的规则最后写入 prismmax_code_length:行码最大码長,超过则自动顶字上屏〔number〕auto_select:是否开启自动上屏〔true 或 false〕auto_select_pattern:自动上屏规则(正则),当输入码匹配正则时自动顶字上屏。use_space:空格是否可作为输入码〔true 或 false〕punctuator可配置项:

import_preset:从外部文件导入half_shape:半角模式下的句读映射每条选项可以设置上屏模式默认:选项模式commit:直接上屏pair:交替上屏full_shape:全角模式下的句读映射同 half_shape 可设置上屏模式use_space:是否使用空格顶字〔true 或 false〕示例:

punctuator:

# 标点及特殊表情,引入 symbols 文件

import_preset: symbols

# 覆盖 symbols 文件对应 key

symbols:

"/dn": [⌘, ⌥, ⇧, ⌃, ⎋, ⇪, , ⌫, ⌦, ↩︎, ⏎, ↑, ↓, ←, →, ↖, ↘, ⇟, ⇞]

"/fh": [ ©, ®, ℗, ℠, ™, ℡, ⓘ, ♂, ♀, ☉, ☊, ☋, ☌, ☍, ☐, ☑︎, ☒, ☜, ☝, ☞, ☟, ✎, ✄, ♲, ♻, ⚐, ⚑, ⚠]

"/xh": [ *, ×, ✱, ★, ☆, ✩, ✧, ❋, ❊, ❉, ❈, ❅, ✿, ✲]

half_shape:

"`": "·"

"~": "~"

"@": "@"

"#": "#"

"$": ["¥", "$", "€", "£", "¢", "¤"]

"%": "%"

"^": "……"

"*": ["*", "×", "·", "・", "※", "*", "❂"]

"_": "——"

"=": "="

'\': "、"

"'":

pair:

- "‘"

- "’"

"|": "|"

"(": "("

")": ")"

"[": "【"

"]": "】"

"{": "「"

"}": "」"

"<": "《"

">": "》"

"/": ["/", "÷"]Segmentorsascii_segmentor:标识英文段落〔例如在英文模式下〕字母直接上屛matcher:配合 recognizer 标识符合特定规则的段落,如网址,反查等,加上特定 tagabc_segmentor:标识常规的文字段落,加上 abc 这个默认tagpunct_segmentor:标识句读段落〔键入标点符号用〕加上 punct 这个tagfallback_segmentor:标识其他未标识段落affix_segmentor:用户自定义 tag可加载多个实例,后接 @tag名不常用:

lua_segmentor 使用lua自定义切分,后接 @lua函数名Translatorstable_translator:编码表翻译器,用于仓颉,五笔等基于编码表的输入方案可加载多个实例,后接 @翻译器名〔如:cangjie,wubi等〕script_translator:脚本翻译器,用于拼音,粤拼等基于音节表的输入方案可加载多个实例,后接 @翻译器名〔如:pinyin,jyutping等〕punct_translator:配合 punct_segmentor 转换标点符号echo_translator:没有其他候选字时,显示输入码〔输入码可以 Shift+Enter 上屛〕不常用:

reverse_lookup_translator:反查翻译器,用另一种种编码方案查码lua_translator:使用 lua 自定义输入,例如动态输入当前日期,时间,后接 @lua函数名lua 函数名即用户文件夹内 rime.lua 中函数名,参数为(input, seg, env)可以 env.engine.context:get_option(“option_name”)方式绑定到 switch 开关/key_binder 快捷键translator每个输入方案有一个关于 translator 的全局设置,可设置项:

dictionary:翻译器使用的字典名

prism:设定此翻译器的 speller 生成的棱镜文件名,或此副编译器调用的棱镜名

user_dict:设定用户词典名

db_class:设定用户词典类型,可设 tabledb〔文本〕或 userdb〔二进制〕

preedit_format:上屛码自定义

comment_format:提示码自定义

initial_quality:设定此翻译器结果优先级

disable_user_dict_for_patterns:禁止某些编码录入用户词典〔true 或 false〕

enable_sentence:是否开启自动造句〔true 或 false〕

enable_user_dict:是否开启用户词典〔用户词典记录动态字词频,用户词〕〔true 或 false〕

仅 table_translator 生效:

enable_charset_filter:是否开启字符集过滤〔cjk_minifier 启用后可适用于 script_translator〕〔true 或 false〕enable_encoder:是否开启自动造词〔true 或 false〕encode_commit_history:是否对已上屛词自动成词〔true 或 false〕max_phrase_length:最大自动成词词长〔number〕enable_completion:提前显示尚未输入完整码的字〔true 或 false〕sentence_over_completion:在无全码对应字而仅有逐键提示时也开启智能组句〔true 或 false〕strict_spelling:配合 speller 中的 fuzz 规则,仅以畧拼码组词〔true 或 false〕仅 script_translator 生效

spelling_hints:设定多少字以内部预定标注完整带调拼音除了 translator 项设置,其他通过 @ 定义的副翻译器还可单独设置:

tag:设定此翻译器针对的 tag。默认 abcprefix:设定此翻译器的前缀标识,默认无suffix:设定此翻译器的后缀标识,默认无tips:设定此翻译器的输入前提示符,默认无closing_tips:设定此翻译器的输入结束提示符,默认无示例:

# tarnslator

translator:

dictionary: luna_pinyin

prism: luna_pinyin_simp

preedit_format:

- xform/([nl])v/$1ü/

- xform/([nl])ue/$1üe/

- xform/([jqxy])v/$1u/

# 副翻译器设置

custom_phrase: # 這是一個 table_translator

dictionary: ""

user_dict: custom_phrase

db_class: tabledb

enable_sentence: false

enable_completion: false

initial_quality: 1词典与码表translator 通过词典来翻译对应的片段,通常命名为 <词典名>.dict.yaml

词典:

name:词典名,内部使用,可以与配套的输入方案名一致,也可不同;version:管理词典的版本;sort:词条初始排序方式,〔by_weight(按词频高低排序)或 original(保持原码表中的顺序)〕;use_preset_vocabulary:选择是否导入默认词汇表【八股文】〔true 或 false〕。示例:

# 这里以 --- ... 分別标记出 YAML 文件的起始与结束位置

---

name: luna_pinyin

version: "0.9"

sort: by_weight

use_preset_vocabulary: true

# 在 ... 标记之后的部分就不会作为 YAML 文件來解析

...码表,定义编码与文字的映射关系,通过制表符分割为三列:

文字编码,如果该编码有多个音节,各音节以空格分开权重,相同编码时出现在候选列表前面的几率示例:

你 ni

我 wo

的 de 99%

的 di 1%

地 de 10%

地 di 90%

目 mu

好 hao

你我

你的

我的

我的天

天地 tian di

好天

好好地

目的 mu di

目的地 mu di diFilterssimplifier:简繁转换,表情转换等可加载多个实例,后接 @d转化器名〔如:zh_simp、emoji_suggestion 等〕uniquifier:过滤重复的候选字,有可能来自 simplifierreverse_lookup_filter:反查滤镜,以更灵活的方式反查,Rime1.0 后替代 reverse_lookup_translator可加载多个实例,后接 @滤镜名〔如:pinyin_lookup,jyutping_lookup 等〕charset_filter 字符集过滤后接 @字符集名〔如:utf-8(无过滤),big5,big5hkscs,gbk,gb2312〕lua_filter:使用 lua 自定义过滤,例如过滤字符集,调整排序,后接 @lua函数名lua函数名即用户文件夹内rime.lua中函数名,参数为(input, env)可以env.engine.context:get_option(“option_name”)方式绑定到switch开关/key_binder快捷键仅 script_translator:

cjk_minifier:字符集过滤,使之支持 extended_charset 开关仅 table_translator:

single_char_filter:单字过滤器,如加载此组件,则屛敝词典中的词组使用小鹤双拼小鹤双拼原始配置文件:double_pinyin_flypy.schema.yaml

我的小鹤双拼配置 double_pinyin_flypy.schema.yaml

Mac 上如何使用 Squirrel在 mac 上通常使用 homebrew 的方式安装 app

brew cask install squirrel如果没有 homebrew,点击这里

Squirrel 设置项Squirrel 配置项基于 0.14.0 整理

我的 suirrel 配置 squirrel.custom.yaml

特定程序操作 options可配置项:

ascii_mode:是否使用英文〔true 或 false〕vim_mode:config_version 0.34.0 启用,是否支持使用 ESC 键退出编辑模式并切换为英文〔true 或 false〕示例:

options:

com.apple.Xcode:

ascii_mode: true可视化的自定义皮肤可视化编辑器

Android 上如何使用 Trime正式版,点击下载

测试版,点击下载

我的 Trime 同文配置 jiz4oh.trime.yaml

基础设置启用输入法

将用户文件夹指向自定义配置文件所在位置

部署

使用自定义主题

其他设置

Rime 使用心得重点(必看!)很多人修改了方案不生效,或者新安装了 Rime,却发现无法使用,一个很重要但很容易被忽视的解决方案是:

修改方案后,一定要点击部署!!!修改方案后,一定要点击部署!!!修改方案后,一定要点击部署!!!

如何部署?点击这里

【小狼毫】从开始菜单选择「重新部署」;或当开启托盘图标时,在托盘图标上右键选择「重新布署」;【鼠须管】在系统语言文字选单中选择「重新布署」;【中州韵】点击输入法状态栏(或IBus菜单)上的⟲ (Deploy) 按钮修改方案时,强烈建议使用 <输入方案名>.custom.yaml 的方式进行,除非这个方案是你自己原创!

使用 <输入方案名>.custom.yaml 修改方案时,一定要写 patch !

如何切换 Rime 输入方案比如如果需要更换输入方案-小鹤双拼,那就需要创建 default.custom.yaml 文件,写入以下内容

# patch 一定要写

patch:

schema_list:

# 默认的明月拼音

- schema: luna_pinyin_simp

# 额外添加的小鹤双拼,前提是需要存在 double_pinyin_flypy.schema.yaml 文件,不然的话会导致无法输入字符

- schema: double_pinyin_flypy如何修改 Rime 输入方案的配置如果我们对默认的明月拼音方案的一些设置不满意,我们需要创建一个 luna_pinyin_simp.custom.yaml 文件。

Q:为什么我要用 luna_pinyin_simp.custom.yaml,而不是 luna_pinyin_simp.schema.yaml,我听说 <输入方案名>.schema.yaml 才是输入方案的正确命名。A:<输入方案名>.schema.yaml 确实是输入方案的正确命名方式。A:我们使用 <输入方案名>.custom.yaml 是因为原始的 <输入方案名>.schema.yaml 方案(比如 luna_pinyin_simp.schema.yaml)是由他人所编写A:我们不使用 <输入方案名>.custom.yaml 而是直接修改 <输入方案名>.schema.yaml 文件进行自定义,如果作者对其进行了一些更新,我们会出现两种情况:

跟随原作者更新了 <输入方案名>.schema.yaml 文件,我们之前所做的自定义全部白费不跟随更新,失去原作者新增或修复的功能在 luna_pinyin_simp.custom.yaml 中修改

# 重点!custom.yaml 必须写 patch,且在第一行并只有一个

patch:

# 需要覆写的设置项

xxxx: xxxx一个高度定制化的 Rime 配置文件结构示例:

opencc/*:OpenCC字形转换配置及字典文件,简繁转换,emoji 转换等custom_phrase.txt:自定义的词典default.custom.yaml:自定义的全局设置double_pinyin_flypy.custom.yaml:自定义的小鹤双拼输入方案设置double_pinyin_flypy.schema.yaml:从网上下载的小鹤双拼原始输入方案luna_pinyin_simp.custom.yaml:自定义的明月拼音输入方案设置pinyin_simp.dict.yaml:网上下载的默认词库文件squirrel.custom.yaml:自定义的 Squirrel 设置symbols.yaml:额外的关于表情符号的输入配置如何删除自造词打错字后,立刻删掉是不会录入词库的。Rime 是在有新词输入时才把之前的词录入词库选中已造词,使用 Shift + Delete 即可删除mbp 因为移除了 Delete 键,使用 Shift + Fn + Backspaces 键删除如何同步 Rime 词库同步原理点击同步按钮从 installation.yaml 中获取installation_idsync_dir在 sync_dir 文件夹下生成 installation_id 文件夹Rime 会将 用户文件夹 下所有文件写入到步骤 3中文件夹根据 <词典名>.userdb/* 下的词典文件,生成一个词典快照文件 <词典名>.userdb.txt将快照文件内容与 sync 文件夹下其他文件夹的同名快照文件进行对比,更新当前步骤 5中词典文件将更新后的快照文件放入步骤 3中文件夹所以重点是设置 installation.yaml 中的 installation_id 和 sync_dir

installation_id 默认为随机生成的 UUIDsync_dir 默认为 用户文件夹 下的 sync 文件夹

示例:

distribution_code_name: Squirrel

distribution_name: "鼠鬚管"

distribution_version: 0.14.0

install_time: "Tue Apr 28 22:33:50 2020"

rime_version: 1.5.3

# 上面几项由 Rime 维护

installation_id: "nuc8_mac"

sync_dir: "/Users/jiz4oh/OneDrive/RimeSync"同步进阶知道原理之后,我们可以通过云盘来同步不同设备的词库及设置

比如使用 OneDrive

在 OneDrive 中设置 RimeSync 文件夹将设备 A 的 sync_dir 指向 OneDrive 下 RimeSync将设备 B 的 sync_dir 指向 OneDrive 下 RimeSync这样就是实现了 A 和 B 的的词库同步

参考注:本文由 Rime 鼠须管【小鹤双拼】输入方案撰写

RIME 官网

Rime 定製指南

Schema.yaml 詳解

Copyright © 2022 中国足球世界杯_90年世界杯 - doulol.com All Rights Reserved.