中文九键
如何启用『中文九键』
Section titled “如何启用『中文九键』”-
更新内置输入方案
进入「rime」页面,点击「方案重置」旁的「运行」按键,并选择『确认』,此操作将内置雾凇方案更新到支持中文九键的版本。

-
更新内置键盘皮肤
点击『键盘皮肤』中右上角『…』菜单,选择『重置内置键盘』,并选择『确认』。

-
设置中文九键匹配的方案
如果您想使用其他输入方案来配合九键的使用,可参考下面的『RIME 方案如何配置中文九键』修改方案。
内置的雾凇输入方案中包含有支持中文九键的方案,以下步骤已内置的雾凇方案为例:
- 点击『RIME-方案列表管理』,按住『中文九键』右侧 ≡ 符号,拖拽它,将其排列到首个位置并点击『保存』按键(出现”警告”信息可忽略),点击确认保存;
- 点击『输入方案』,检查并确认『中文九键』方案排列在首位(如果没有,请按上一步重新操作)。

-
进入皮肤页面,选择『T9』皮肤。
- 如果没有找到『T9』皮肤,请按前置条件中的步骤重置皮肤。
- T9 是元书内置的支持九键功能的皮肤,您也可以使用第三方九键皮肤。

RIME 方案如何配置中文九键
Section titled “RIME 方案如何配置中文九键”- 在全拼的方案文件中添加 t9 配置参数
t9: # 是否显示 rime 中原始的预编辑文本,默认为 true # true: 对 preedit 不做处理,显示 rime 返回的原始 preedit 值。 # 如果想通过 lua 自己调整 preedit 的显示,可以设置为 true。 # false: 根据候选字 comment 显示转换后的 preedit 内容。 # 注意:请务必保证候选字 comment 有效且正确,否则可能导致预编辑文本显示异常。 isDisplayOriginalPreedit: false- 在上一步修改的方案文件中的
processors添加t9_processor
t9_processor会用来处理九键输入的字符,如回车键、删除键等。
engine: processors: - t9_processor #其他 processors- 在上一步修改的方案文件中的
speller添加t9映射
此步骤将词库中的 ASCII 小写字母派生为数字,如 “abc” 映射为 “2”等,输入数字可模糊匹配词库,输入 ASCII 小写字母可精确匹配词库。
speller: # 注意: 这里添加了 0123456789 alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA0123456789 initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA0123456789 algebra: # ### 超级简拼(可选) - abbrev/^([a-z]).+$/$1/ # 超级简拼 - abbrev/^([zcs]h).+$/$1/ # 超级简拼中,zh ch sh 视为整体(ch'sh → 城市),而不是像这样分开(c'h's'h → 吃好睡好)。 - derive/^([nl])ve$/$1ue/ - derive/^([jqxy])u/$1v/ - derive/un$/uen/ - derive/ui$/uei/ - derive/iu$/iou/ - derive/([aeiou])ng$/$1gn/ - derive/([dtngkhrzcs])o(u|ng)$/$1o/ - derive/ong$/on/ - derive/ao$/oa/ - derive/([iu])a(o|ng?)$/a$1$2/ # ### 九宫格映射(必须) - derive/[abc]/2/ - derive/[def]/3/ - derive/[ghi]/4/ - derive/[jkl]/5/ - derive/[mno]/6/ - derive/[pqrs]/7/ - derive/[tuv]/8/ - derive/[wxyz]/9/上面的『九宫格映射』部分可以进一步优化为:
- derive/^(.*)$/\U$1/- xform/[ABC]/2/- xform/[DEF]/3/- xform/[GHI]/4/- xform/[JKL]/5/- xform/[MNO]/6/- xform/[PQRS]/7/- xform/[TUV]/8/- xform/[WXYZ]/9/这样可以生成更少体积的 prism 文件,但在不同的输入方案下,效果不太一样。具体使用那种配置,自己可以都尝试看看效果,哪种效果好用哪个。
- 在上一步修改的方案文件中,屏蔽对候选字 comment 处理的 Lua 脚本
为什么我使用九键皮肤后输入的是数字
Section titled “为什么我使用九键皮肤后输入的是数字”九键皮肤必须与对应的方案匹配,否则会出现输入数字的情况。方案配置请参考『RIME 方案如何配置中文九键』。
为什么九键输入后有中文候选字,但不显示拼音,而是显示数字
Section titled “为什么九键输入后有中文候选字,但不显示拼音,而是显示数字”这里存在两种情况:
- 方案中存在 lua 脚本将候选字的 comment 信息屏蔽了,导致预编辑文本无法正确显示。
- 没有为方案添加
isDisplayOriginalPreedit选项或者选项值不对。
无论是哪种情况,都请参考『RIME 方案如何配置中文九键』中的步骤,检查方案的配置。
如何屏蔽候选字右侧显示的拼音
Section titled “如何屏蔽候选字右侧显示的拼音”点击「键盘设置」,在候选文字区域内,关闭「候选 Comment」选项。
方案配置示例
Section titled “方案配置示例”以下以雾凇方案 t9.schema.yaml 为例,展示完整配置:
# Rime schema# encoding: utf-8
# 中文九键输入方案配置## 可选,支持英文:# 1. 解开 `engine/translators` 下的注释# 2. 将 `others/Hamster/melt_eng.custom.yaml` 里的文件拷贝至配置目录,该补丁转写了英文的拼写规则到九宫格;
__include: rime_ice.schema.yaml:/
schema: schema_id: t9 name: 中文九键 version: "3.0.0" author: - Dvel - "[morse.hsiao](https://github.com/imfuxiao)" description: | 中文九键·T9 dependencies: - melt_eng # 英文输入,作为次翻译器挂载到拼音方案
engine: processors: - t9_processor - 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 - lua_translator@*date_translator # 时间、日期、星期 - table_translator@custom_phrase # 自定义短语 custom_phrase_t9.txt # - table_translator@melt_eng # 英文输入 - lua_translator@*calc_translator # 计算器 filters: - simplifier@emoji # Emoji - simplifier@traditionalize # 简繁切换 - uniquifier # 去重
calculator: prefix: "=" # 计算器前缀 show_prefix: true
# 处理符合特定规则的输入码,如网址、反查recognizer: import_preset: default # 从 default.yaml 继承通用的 patterns: # 再增加方案专有的: calculator: "^=.*$" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
translator: prism: t9 spelling_hints: 100 comment_format: []
# 自定义短语:custom_phrase_t9.txt# ⚠️ 编码要用数字custom_phrase: dictionary: "" user_dict: custom_phrase_t9 db_class: stabledb enable_completion: false enable_sentence: false initial_quality: 99
# 九宫格 1 键上的符号序列punctuator: half_shape: "1": [1, "@", ".", "/", ":", "_", "-", "#"] "@": [1, "@", !, :, 、, ……, ~] "#": [0, "#", "$", "%", "^", "&", "*", "(", ")"]
t9: isDisplayOriginalPreedit: false
# 输入时按 1 可以分词key_binder: bindings: - { when: has_menu, accept: 1, send: apostrophe }
speller: alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA0123456789 initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA0123456789 algebra: # ### 超级简拼 - abbrev/^([a-z]).+$/$1/ # 超级简拼 - abbrev/^([zcs]h).+$/$1/ # 超级简拼中,zh ch sh 视为整体(ch'sh → 城市),而不是像这样分开(c'h's'h → 吃好睡好)。 - derive/^([nl])ve$/$1ue/ - derive/^([jqxy])u/$1v/ - derive/un$/uen/ - derive/ui$/uei/ - derive/iu$/iou/ - derive/([aeiou])ng$/$1gn/ - derive/([dtngkhrzcs])o(u|ng)$/$1o/ - derive/ong$/on/ - derive/ao$/oa/ - derive/([iu])a(o|ng?)$/a$1$2/ # ### 九宫格映射 - derive/[abc]/2/ - derive/[def]/3/ - derive/[ghi]/4/ - derive/[jkl]/5/ - derive/[mno]/6/ - derive/[pqrs]/7/ - derive/[tuv]/8/ - derive/[wxyz]/9/