mirror of
https://github.com/d0zingcat/rime_wanxiang.git
synced 2026-05-13 15:10:03 +00:00
642 lines
33 KiB
YAML
642 lines
33 KiB
YAML
# Rime schema
|
||
# encoding: utf-8
|
||
# 方案说明
|
||
schema:
|
||
schema_id: wanxiang
|
||
name: 万象拼音
|
||
version: "LTS"
|
||
author:
|
||
- amzxyz
|
||
description: |
|
||
请勾选【万象拼音】以启用,万象拼音标准版本,带声调的词库,支持语法模型,全拼、简拼、整句、声调辅助筛选,拥有超越大厂的输入体验!
|
||
【文本框输入:/pinyin全拼,/zrm自然码,/flypy小鹤,/mspy,/sogou,/pyjj等,详见README.md】
|
||
dependencies:
|
||
- wanxiang_mixedcode #中英文混合词汇
|
||
- wanxiang_reverse # 部件拆字,反查及辅码
|
||
|
||
# 开关
|
||
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
|
||
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
|
||
# abbrev: 默认的缩写取 states 的第一个字符,abbrev 可自定义一个字符
|
||
switches:
|
||
- name: ascii_mode # 中英输入状态
|
||
states: [ 中文, 英文 ]
|
||
- name: ascii_punct # 中英标点,可以在中文输入状态输入英文符号
|
||
states: [ 中标, 英标 ]
|
||
- name: full_shape #全角、半角字符输出
|
||
states: [ 半角, 全角 ]
|
||
- name: emoji #候选出现emoji滤镜,会显示在相应的候选后面,万象侧重于tips提示,避免候选被占用,因此默认为reset: 0,归属opencc emoji滤镜
|
||
states: [表情关, 表情开]
|
||
- name: chinese_english #候选进入翻译模式滤镜,会显示在相应的候选后面,万象侧重于tips提示,避免候选被占用,归属opencc 翻译滤镜
|
||
states: [ 翻译关, 翻译开 ]
|
||
- options: [ raw_input, tone_display, full_pinyin ] #开启后在输入编码的位置实时转换为带声调全拼或者不带声调全拼,不开启则采用系统配置原始编码,影响的是preedit_format,归属:super_preedit.lua
|
||
states: [ 原编码, 有声调, 无声调 ]
|
||
# reset: 2 #对于开关组从0开始数,第几个就reset几可设为默认
|
||
- options: [ s2s, s2t, s2hk, s2tw ] # 简繁转换开关组,可以在一个空选项和多个实际“- simplifier@s2hk”引入的项目之前切换,这是一个开关组,你可以将其中任意一个s2s等设置为toggle快捷键,多次按下将轮询
|
||
states: [ 简体, 通繁, 港繁, 臺繁 ]
|
||
- name: tone_hint #开启后在候选的注释里面实时显示全拼声调,不开启则采用系统配置,影响的是comment_format,归属:super_comment.lua
|
||
states: [ 读音关, 读音开 ]
|
||
- name: super_tips #开启后在输入编码后面的提示区显示实时的提示数据,受tips数据库影响,表情、翻译、车牌、符号等对应关系数据,并可实现句号上屏,不开启则默认,影响的是segment.prompt参数,归属:super_tips.lua
|
||
states: [ 提示关, 提示开 ]
|
||
reset: 1
|
||
- name: charset_filter #字符集过滤,默认开启8105通规显示,即小字集,可通过开关实时开启全字集,快捷键配套ctrl+g,归属:super_filter.lua
|
||
states: [ 小字集, 大字集 ]
|
||
reset: 1
|
||
- name: char_priority #多体现在编码重合但候选有单字或者多字的情况`引导的辅码查词时是否单字优先,全拼常见,类似于特定编码情况下、反查状态下的调序能力。归属:super_lookup.lua
|
||
states: [词组先, 单字先]
|
||
- options: [ mixed, zh_only, en_only ]
|
||
states: [ 混合输入, 仅中文, 仅英文 ]
|
||
|
||
# 输入引擎
|
||
engine:
|
||
processors:
|
||
- lua_processor@*select_character #以词定字,默认左中括号上屏一个词的前一个字,右中括号上屏一个词的后一个字
|
||
- lua_processor@*partial_commit #通过ctrl+1~0局部提交10个字以内的句子的前几个字(一般为正确的前几个)使用时要遵循合理的分词结构能促进后续编码打出正确的词汇
|
||
- lua_processor@*letter_selector #在N模式R模式下输入数字被视为编码,那么如何上屏呢,现在除了方向键还提供qwertyuio对照1-9来选词
|
||
- lua_processor@*quick_symbol_text #快符引导以及重复上屏,配合quick_symbol_text顶层配置清单定义扩展按键
|
||
- lua_processor@*super_tips #超级提示模块:表情、简码、翻译、化学式、等等靠你想象
|
||
- lua_processor@*tone_fallback #声调辅助回退,当你输入声调数字错误时,继续输入正确的而不用回退删除
|
||
- lua_processor@*super_sequence*P #手动排序,高亮候选 ctrl+j左移动 ctrl+k 右移动 ctrl+l 移除位移 ctrl+p 置顶
|
||
- lua_processor@*limit_repeated #用于限制最大候选长度以及最大重复输入声母编码长度,避免性能异常
|
||
- lua_processor@*backspace_limit #防止连续 Backspace 在编码为空时删除已上屏内容
|
||
- lua_processor@*kp_number_processor #管理小键盘的处理逻辑,有输入中数字不上屏和数字一直不上屏设置可选
|
||
- ascii_composer #处理英文模式及中英文切换
|
||
- recognizer #与 matcher 搭配,处理符合特定规则的输入码,如网址、反查等 tags
|
||
- key_binder #在特定条件下将按键绑定到其他按键,如重定义逗号、句号为候选翻页、开关快捷键等
|
||
- lua_processor@*key_binder #绑定按键扩展能力,支持正则扩展将按键生效情景更加细化
|
||
- speller #拼写处理器,接受字符按键,编辑输入
|
||
- punctuator #符号处理器,将单个字符按键直接映射为标点符号或文字
|
||
- selector #选字处理器,处理数字选字键〔可以换成别的哦〕、上、下候选定位、换页
|
||
- navigator #处理输入栏内的光标移动
|
||
- express_editor #编辑器,处理空格、回车上屏、回退键
|
||
segmentors:
|
||
- ascii_segmentor #标识英文段落〔譬如在英文模式下〕字母直接上屛
|
||
- matcher #配合 recognizer 标识符合特定规则的段落,如网址、反查等,加上特定 tag
|
||
- abc_segmentor #标识常规的文字段落,加上 abc 这个 tag
|
||
- affix_segmentor@wanxiang_reverse #反查 tag
|
||
- affix_segmentor@add_user_dict #自造词tag
|
||
- punct_segmentor #标识符号段落〔键入标点符号用〕加上 punct 这个 tag
|
||
- fallback_segmentor #标识其他未标识段落,必须放在最后帮助tag模式切换后回退重新处理
|
||
translators:
|
||
- punct_translator #配合 punct_segmentor 转换标点符号
|
||
- script_translator #脚本翻译器,用于拼音、粤拼等基于音节表的输入方案
|
||
- lua_translator@*version_display #输入'/wx',显示万象项目网址和当前版本号
|
||
- lua_translator@*set_schema #输入'/zrm',快速切换为自然码双拼, /flypy→小鹤双拼 /mspy→微软双拼 /zrm→自然码 /sogou→搜狗双拼 /abc→智能ABC /ziguang→紫光双拼 /pyjj→拼音加加 /gbpy→国标双拼 /lxsq→乱序17 /pinyin→全拼
|
||
- lua_translator@*shijian #农历、日期、节气、节日、时间、周、问候模板等等,触发清单看下文
|
||
- lua_translator@*unicode #通过输入大写U引导,并输入Unicode编码获得汉字输出
|
||
- lua_translator@*number_translator #数字、金额大写,通过输入大写R1234获得候选输出
|
||
- lua_translator@*super_calculator #超级计算器,Lua内查看高级用法
|
||
- lua_translator@*input_statistics #一个输入统计的脚本,以日、周、月、年等维度的统计
|
||
- table_translator@custom_phrase #自定义短语 custom_phrase.txt,用于置顶自定义编码候选词
|
||
- table_translator@chengyu #简码成语词汇表导入
|
||
- table_translator@wanxiang_mixedcode #中英等混合词汇表导入
|
||
- table_translator@wanxiang_reverse #挂接部件组字和笔画反查
|
||
- script_translator@add_user_dict #按需自造词
|
||
- script_translator@user_dict_set #使用自造词
|
||
filters:
|
||
- reverse_lookup_filter@radical_reverse_lookup #部件拆字滤镜,放在super_comment前面,进一步被超级注释处理以获得拼音编码的提示
|
||
- lua_filter@*auto_phrase #无感造词,关闭调频的时候将汉字写入次翻译器,当没有英文候选的时候追加\上屏可完成英文造词
|
||
- lua_filter@*super_comment_preedit #超级注释模块、超级preedit,支持错词提示、辅助码显示,部件组字读音注释,有声调、无声调全拼编码的转换,支持个性化配置和关闭相应的功能,详情搜索super_comment_preedit进行详细配置
|
||
- simplifier@emoji #Emoji滤镜
|
||
- simplifier@s2t #简繁切换通繁
|
||
- simplifier@s2tw #简繁切换台繁
|
||
- simplifier@s2hk #简繁切换港繁
|
||
- simplifier@chinese_english #中英翻译滤镜
|
||
- lua_filter@*super_sequence*F #手动排序,对高亮候选 ctrl+j左移动 ctrl+k 右移动 ctrl+0 移除位移
|
||
- lua_filter@*super_filter #功能太多详见Lua文件
|
||
- lua_filter@*super_lookup #字词输入中反查辅助筛选
|
||
- uniquifier # 去重
|
||
|
||
grammar:
|
||
language: wanxiang-lts-zh-hans
|
||
collocation_max_length: 8 #命中的最长词组
|
||
collocation_min_length: 2 #命中的最短词组,搭配词频健全的词库时候应当最小值设为3避开2字高频词
|
||
collocation_penalty: -10 #默认-12 对常见搭配词组施加的惩罚值。较高的负值会降低这些搭配被选中的概率,防止过于频繁地出现某些固定搭配。
|
||
non_collocation_penalty: -17 #默认-12 对非搭配词组施加的惩罚值。较高的负值会降低非搭配词组被选中的概率,避免不合逻辑或不常见的词组组合。
|
||
weak_collocation_penalty: -24 #默认-24 对弱搭配词组施加的惩罚值。保持默认值通常是为了有效过滤掉不太常见但仍然合理的词组组合。
|
||
rear_penalty: -18 #默认-18 对词组中后续词语的位置施加的惩罚值。较高的负值会降低某些词语在句子后部出现的概率,防止句子结构不自然。
|
||
|
||
super_comment: # 超级注释模块,子项配置 true 开启,false 关闭
|
||
candidate_length: 2 # 候选词辅助码提醒的生效长度,0为关闭 但同时清空其它,应当使用上面开关来处理
|
||
corrector_type: "〔comment〕" # 随意更换左右括号,比如"〔comment〕" 不加括号为无括号,comment占位不能动
|
||
chaifen: "〔chaifen〕" # 随意更换左右括号,比如"〔chaifen〕" 不加括号为无括号,chaifen占位不能动
|
||
|
||
# Tips 配置项
|
||
tips:
|
||
# 禁用的 tips 类型,初始化 tips 数据库的时候会直接忽略相关规则,修改部署后生效
|
||
# 可选项为:偏旁,符号,化学式,时间,符号,组字,翻译,表情,货币,车牌
|
||
disabled_types: []
|
||
|
||
#在8105基础上你可以通过黑白名单微调你自己的字符集过滤清单,主数据库位于lua/charset.bin不可编辑
|
||
charsetlist: []
|
||
charsetblacklist: []
|
||
|
||
#shijian:仅仅作为提示使用,编码已经写死,引导键可以在key_binder下修改前缀
|
||
#时间:osj 或者 /sj
|
||
#日期:orq 或者 /rq
|
||
#农历:onl 或者 /nl
|
||
#星期:oxq 或者 /xq
|
||
#今年第几周:oww 或者 /ww
|
||
#节气:ojq 或者 /jq
|
||
#日期+时间:odt 或者 /dt
|
||
#时间戳:ott 或者 /tt
|
||
#大写N日期:N20250315 或者N0312不带年
|
||
#节日:ojr 或者 /jr
|
||
#问候模板:/day 或者 oday
|
||
# 通用日期时间格式化函数(供 /rq、/sj、/dt、N0101、N20150101 场景复用)
|
||
# 支持转义:
|
||
# \X —— 转义单个字符 X,按字面量输出(如 \Y \m \H 等)
|
||
# [[...]] —— 区块整体按字面量输出
|
||
#
|
||
# 约定占位符:
|
||
# 【日期】
|
||
# Y 四位年份 0000-9999 例:2025
|
||
# y 两位年份 00-99 例:25
|
||
# m 月(前导零) 01-12 例:02
|
||
# n 月(不带前导零) 1-12 例:2
|
||
# d 日(前导零) 01-31 例:09
|
||
# j 日(不带前导零) 1-31 例:9
|
||
#
|
||
# 【时间】
|
||
# H 24小时(前导零) 00-23 例:08
|
||
# G 24小时(不带零) 0-23 例:8
|
||
# I 12小时(前导零) 01-12 例:08
|
||
# l 12小时(不带零) 1-12 例:8 (注意是小写 L)
|
||
# M 分钟(前导零) 00-59 例:05
|
||
# S 秒(前导零) 00-59 例:09
|
||
# p am/pm(小写) am / pm
|
||
# P AM/PM(大写) AM / PM
|
||
# 【时区】
|
||
# O 带冒号格式 +08:00、-04:30、+05:45
|
||
# o 不带冒号格式 +0800、-0430、+0545
|
||
date_formats:
|
||
- "Y年m月d日"
|
||
- "Y-m-d"
|
||
- "Y/m/d"
|
||
- "Y.m.d"
|
||
- "Ymd"
|
||
- "Y年n月j日"
|
||
- "y年n月j日"
|
||
- "n月j日"
|
||
time_formats:
|
||
- "H:M"
|
||
- "H点M分"
|
||
- "H:M:S"
|
||
- "H时M分S秒"
|
||
- "下午I:M"
|
||
- "I:M P"
|
||
datetime_formats:
|
||
- "Y-m-d H:M:S"
|
||
- "Y-m-dTH:M:S O"
|
||
- "YmdHMS"
|
||
- "Y年m月d日 H点M分"
|
||
- "y/m/d I:M p"
|
||
|
||
#常规状态下数字转换成相应的字符,由超级preedit接管
|
||
tone_preedit:
|
||
"7": "¹"
|
||
"8": "²"
|
||
"9": "³"
|
||
"0": "⁴"
|
||
|
||
# a/、单字母组合,触发预设编码自动上屏快符,支持将值设为"repeat" 以支持对应按键重复上屏功能,custom>schema>lua最终合并键值
|
||
# 现在就支持26字母快符,结合成对符号输入,这边的压力小一些
|
||
quick_symbol_text:
|
||
trigger: "^([a-z])/$"
|
||
symkey:
|
||
q: "repeat"
|
||
w: "?"
|
||
e: "("
|
||
r: ")"
|
||
t: "~"
|
||
y: "·"
|
||
u: "『"
|
||
i: "』"
|
||
o: "〖"
|
||
p: "〗"
|
||
a: "!"
|
||
s: "……"
|
||
d: "、"
|
||
f: "“"
|
||
g: "”"
|
||
h: "‘"
|
||
j: "’"
|
||
k: "【"
|
||
l: "】"
|
||
z: "。”"
|
||
x: "?”"
|
||
c: "!”"
|
||
v: "——"
|
||
b: "%"
|
||
n: "《"
|
||
m: "》"
|
||
|
||
#通过在有候选的情况下,通过末尾检测到形如\a来触发为第一候选进行成对符号包裹例如nihao\c 候选[你好]
|
||
#trigger只能设置为单符号,因为按下一次锁定第一候选,按下映射开始包裹符号pro用户不能设置为/
|
||
#两个字符可以不用|默认前后分割,需要明确区分前后的使用|分割,可以有一侧为空,不可以使用多个||
|
||
paired_symbols:
|
||
#sort_window: 10
|
||
trigger: "\\" #(注意反斜杠这是转义写法\\使用时\单反斜杠即可)
|
||
mirror: true #包裹后完全替换第一候选true,原候选后移到第二false
|
||
symkey:
|
||
# ===== 基本括号与引号 =====
|
||
a: "[]" # 方括号
|
||
b: "【】" # 黑方头括号
|
||
c: "❲❳" # 双大括号 / 装饰括号
|
||
d: "〔〕" # 方头括号
|
||
e: "⟮⟯" # 小圆括号 / 装饰括号
|
||
f: "⟦⟧" # 双方括号 / 数学集群括号
|
||
g: "「」" # 直角引号
|
||
# h: 预留用于 Markdown 一级标题
|
||
i: "『』" # 双直角引号
|
||
j: "<>" # 尖括号
|
||
k: "《》" # 书名号(双)
|
||
l: "〈〉" # 书名号(单)
|
||
m: "‹›" # 法文单书名号
|
||
n: "«»" # 法文双书名号
|
||
o: "⦅⦆" # 白圆括号
|
||
p: "⦇⦈" # 白方括号
|
||
q: "()" # 圆括号
|
||
r: "〖〗" # 花括号扩展 / 装饰括号
|
||
s: "[]" # 全角方括号
|
||
t: "⟨⟩" # 数学角括号
|
||
u: "〈〉" # 数学尖括号
|
||
v: "❰❱" # 装饰角括号
|
||
w: "()" # 全角圆括号
|
||
x: "{}" # 全角花括号
|
||
y: "⟪⟫" # 双角括号
|
||
z: "{}" # 花括号
|
||
|
||
# ===== 扩展括号族 / 引号 =====
|
||
dy: "''" # 英文单引号
|
||
sy: "\"\"" # 英文双引号
|
||
zs: "“”" # 中文弯双引号
|
||
zd: "‘’" # 中文弯单引号
|
||
fy: "``" # 反引号
|
||
|
||
# ===== 双字母括号族 =====
|
||
aa: "〚〛" # 双中括号
|
||
bb: "〘〙" # 双中括号(小)
|
||
cc: "〚〛" # 双中括号(重复,可用于 Lua 匹配)
|
||
dd: "❨❩" # 小圆括号装饰
|
||
ee: "❪❫" # 小圆括号装饰
|
||
ff: "❬❭" # 小尖括号装饰
|
||
gg: "⦉⦊" # 双弯方括号
|
||
ii: "⦍⦎" # 双弯方括号
|
||
jj: "⦏⦐" # 双弯方括号
|
||
kk: "⦑⦒" # 双弯方括号
|
||
ll: "❮❯" # 小尖括号装饰
|
||
mm: "⌈⌉" # 上取整 / 数学符号
|
||
nn: "⌊⌋" # 下取整 / 数学符号
|
||
oo: "⦗⦘" # 双方括号装饰(补齐)
|
||
pp: "⦙⦚" # 双方括号装饰(补齐)
|
||
qq: "⟬⟭" # 小双角括号
|
||
rr: "❴❵" # 花括号装饰
|
||
ss: "⌜⌝" # 数学上角符号
|
||
tt: "⌞⌟" # 数学下角符号
|
||
uu: "⸢⸣" # 装饰方括号
|
||
vv: "⸤⸥" # 装饰方括号
|
||
ww: "﹁﹂" # 中文书名号 / 注释引号
|
||
xx: "﹃﹄" # 中文书名号 / 注释引号
|
||
yy: "⌠⌡" # 数学 / 程序符号
|
||
zz: "⟅⟆" # 数学 / 装饰括号
|
||
|
||
# ===== Markdown / 标记 =====
|
||
md: "**|**" # Markdown 粗体
|
||
jc: "**|**" # 加粗
|
||
it: "__|__" # 斜体
|
||
st: "~~|~~" # 删除线
|
||
eq: "==|==" # 高亮
|
||
ln: "`|`" # 行内代码
|
||
cb: "```|```" # 代码块
|
||
qt: "> |" # 引用
|
||
ul: "- |" # 无序列表项
|
||
ol: "1. |" # 有序列表项
|
||
lk: "[|](url)" # 链接
|
||
im: "" # 图片
|
||
h: "# |" # 一级标题
|
||
hh: "## |" # 二级标题
|
||
hhh: "### |" # 三级标题
|
||
hhhh: "#### |" # 四级标题
|
||
sp: "\\|" # 反斜杠转义
|
||
br: "| " # 换行
|
||
cm: "<!--|-->" # 注释
|
||
|
||
# ===== 运算与标记符 =====
|
||
pl: "++"
|
||
mi: "--"
|
||
sl: "//"
|
||
bs: "\\\\"
|
||
at: "@@"
|
||
dl: "$$"
|
||
pc: "%%"
|
||
an: "&&"
|
||
cr: "^^"
|
||
cl: "::"
|
||
sc: ";;"
|
||
ex: "!!"
|
||
qu: "??"
|
||
sb: "sb"
|
||
|
||
# Lua 配置:计算器触发关键字
|
||
calculator:
|
||
trigger: "V"
|
||
|
||
# 主翻译器,拼音
|
||
translator:
|
||
dictionary: wanxiang # 挂载主词库
|
||
# packs: user #导入根目录下名称为user.dict.yaml的自定义固定词典
|
||
#prism: wanxiang # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
|
||
enable_completion: true # 启用候选词补全
|
||
# user_dict: zrm.userdb # 用户词典的文件名称
|
||
# db_class: tabledb #开启后就不会产生wanxiang.userdb这样的文件夹,会直接输出文本wanxiang.txt同时无法使用同步能力,可设 tabledb〔文本〕或 userdb〔二进制〕
|
||
enable_user_dict: true # 是否开启自动调频,即开启用户词典
|
||
# enable_encoder: true #是否开启自动造词
|
||
# enable_sentence: false #是否开启自动造句
|
||
# enable_correction: false #是否开启自动纠错
|
||
# encode_commit_history: true # 预留历史上屏自动编码成词
|
||
core_word_length: 4 # >0 启用,按段学词 + 相邻段拼接
|
||
max_word_length: 7 # >0 启用,过长短语不记整词,只加元素权重
|
||
contextual_suggestions: false #模型用来开启词组权重预测,效果一般关闭
|
||
max_homophones: 5
|
||
max_homographs: 5
|
||
initial_quality: 3 #初始质量拼音的权重应该比英文大
|
||
spelling_hints: 30 #将注释以词典code字符串形式完全暴露,通过super_comment.lua完全接管,灵活配置。
|
||
always_show_comments: true # Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供super_comment_preedit.lua做判断用。
|
||
comment_format: {comment} #将注释以词典字符串形式完全暴露,通过super_preedit.lua完全接管,灵活配置。
|
||
#disable_user_dict_for_patterns: #如果你开启调频,需要一并考虑这个配置是否需要,基本的6码3字不调频,你可以自定义,目前的逻辑是依然记录用户词但满足规则的不输出不被使用
|
||
# - "^[a-z]{1,6}"
|
||
|
||
# 自定义短语
|
||
custom_phrase:
|
||
dictionary: ""
|
||
user_dict: custom_phrase #需要手动创建 custom_phrase.txt 文件
|
||
db_class: stabledb #可设 tabledb〔文本〕或 userdb〔二进制〕
|
||
enable_completion: false #补全提示
|
||
enable_sentence: false #禁止造句
|
||
initial_quality: 99 #custom_phrase 的权重应该比 pinyin 和 wanxiang_en 大
|
||
|
||
|
||
# 简码词库导入位于dicts得chengyu.txt文件词库
|
||
chengyu:
|
||
dictionary: ""
|
||
user_dict: dicts/chengyu
|
||
db_class: stabledb
|
||
enable_sentence: false
|
||
enable_completion: false
|
||
initial_quality: 1.3
|
||
|
||
# 中文、英文、数字、符号等混合词汇
|
||
wanxiang_mixedcode:
|
||
dictionary: wanxiang_mixedcode
|
||
user_dict: en
|
||
enable_completion: true
|
||
enable_sentence: false
|
||
initial_quality: 2
|
||
comment_format:
|
||
- xform/^.+$//
|
||
|
||
|
||
# Emoji
|
||
emoji:
|
||
option_name: emoji
|
||
opencc_config: emoji.json
|
||
tags: [abc]
|
||
inherit_comment: false
|
||
|
||
|
||
#中文转英文
|
||
chinese_english:
|
||
option_name: chinese_english
|
||
opencc_config: chinese_english.json
|
||
tips: char
|
||
inherit_comment: false
|
||
|
||
# 简繁切换
|
||
s2t:
|
||
option_name: s2t
|
||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
|
||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||
tags: [ abc ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||
|
||
s2hk:
|
||
opencc_config: s2hk.json
|
||
option_name: s2hk
|
||
tags: [abc]
|
||
|
||
s2tw:
|
||
opencc_config: s2tw.json
|
||
option_name: s2tw
|
||
tags: [abc]
|
||
|
||
# 部件拆字反查
|
||
wanxiang_reverse:
|
||
tag: wanxiang_reverse
|
||
dictionary: wanxiang_reverse
|
||
db_class: stabledb
|
||
enable_user_dict: false
|
||
enable_sentence: false
|
||
prefix: "`" # 反查前缀(反查时前缀会消失),与 recognizer/patterns/wanxiang_reverse 匹配
|
||
tips: "〔反查:拆分|笔画〕"
|
||
|
||
# 部件拆字滤镜
|
||
radical_reverse_lookup:
|
||
tags: [ wanxiang_reverse ] #起作用tag范围
|
||
overwrite_comment: true #是否覆盖其他提示
|
||
dictionary: wanxiang #带音调的词典
|
||
|
||
wanxiang_lookup: #设置归属于super_lookup.lua
|
||
tags: [ abc ] # 检索当前tag的候选
|
||
key: "`" # 输入中反查引导符,要添加到 speller/alphabet
|
||
lookup: [ wanxiang_reverse ] #反查滤镜数据库,万象都合并为一个了
|
||
|
||
# 处理符合特定规则的输入码,如网址、反查
|
||
recognizer:
|
||
import_preset: default # 从 default.yaml 继承通用的
|
||
patterns: # 再增加方案专有的:
|
||
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols.yaml 的 symbols
|
||
wanxiang_reverse: "^`[A-Za-z]*$" # 响应部件拆字与笔画的反查,与 wanxiang_reverse/prefix 匹配
|
||
#add_user_dict: "^ac[A-Za-z/`']*$" #引导式造词
|
||
unicode: "^U[a-f0-9]+" # U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
|
||
number: "^R[0-9]+[.]?[0-9]*" # R 作为触发前缀, 响应 lua_translator@number_translator,数字金额大写
|
||
yr1: "^N0[1-9]?0?[1-9]?"
|
||
yr2: "^N1[02]?0?[1-9]?"
|
||
yr3: "^N0[1-9]?[1-2]?[1-9]?"
|
||
yr4: "^N1[02]?[1-2]?[1-9]?"
|
||
yr5: "^N0[1-9]?3?[01]?"
|
||
yr6: "^N1[02]?3?[01]?"
|
||
nyr1: "^N19?[0-9]?[0-9]?[0-1]?[0-9]?[0-9]?[0-9]?"
|
||
nyr2: "^N20?[0-9]?[0-9]?[0-1]?[0-9]?[0-9]?[0-9]?"
|
||
calculator: "^V.*$" # V 作为触发前缀,计算器功能引导
|
||
#add_user_dict: "^ac[A-Za-z/`']*$" #自造词引导方式
|
||
email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$" # email @ 之后不上屏
|
||
url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$" # URL
|
||
# 给 kp_number_processor 用的“命令模式 Lua 正则集合”
|
||
# 能够细化哪些情况数字是用来当作输入编码的,不在正则范围的将用于上屏
|
||
# 直接加载上面的正则会遇到不符合预期的情况,毕竟Lua正则逻辑与之不同
|
||
kp_number:
|
||
#小键盘数字处理逻辑
|
||
# "compose" : 小键盘数字始终参与编码
|
||
# "auto" : 输入中 push,空闲时 commit(默认)
|
||
kp_number_mode: auto
|
||
patterns:
|
||
# /符号引导模式
|
||
- "^/[0-9]$"
|
||
- "^/10$"
|
||
- "^/[A-Za-z]+$"
|
||
# U模式
|
||
- "^U[%da-f]+$"
|
||
# R模式
|
||
- "^R[0-9]+%.?[0-9]*$"
|
||
# N模式
|
||
# Lua 不支持 {1,8},改成等价写法:N 后 1~8 个数字
|
||
- "^N0[1-9]?0?[1-9]?$"
|
||
- "^N1[02]?0?[1-9]?$"
|
||
- "^N0[1-9]?[1-2]?[1-9]?$"
|
||
- "^N1[02]?[1-2]?[1-9]?$"
|
||
- "^N0[1-9]?3?[01]?$"
|
||
- "^N1[02]?3?[01]?$"
|
||
- "^N19?[0-9]?[0-9]?[01]?[0-9]?[0-3]?[0-9]?$"
|
||
- "^N20?[0-9]?[0-9]?[01]?[0-9]?[0-3]?[0-9]?$"
|
||
# 计算器模式
|
||
- "^V.*$"
|
||
# email
|
||
- "^[A-Za-z][-_.0-9A-Za-z]*@.*$"
|
||
# URL 前缀几种:
|
||
- "^www[.].*$"
|
||
- "^https?:.*$"
|
||
- "^ftp[.:].*$"
|
||
- "^mailto:.*$"
|
||
- "^file:.*$"
|
||
- "^webdav:.*$"
|
||
# 标点符号
|
||
# punctuator 下面有三个子项:
|
||
# 设置为一个映射,就自动上屏;设置为多个映射,如 '/' : [ '/', ÷ ] 则进行复选。
|
||
# full_shape: 全角没改,使用预设值
|
||
# half_shape: 标点符号全部直接上屏,和 macOS 自带输入法的区别是
|
||
# '|' 是半角的,
|
||
# '~' 是半角的,
|
||
# '`'(反引号)没有改成 '·'(间隔号)。
|
||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的修改 symbols.yaml
|
||
punctuator:
|
||
digit_separators: ",." #数字分隔符,系统逻辑是在中文状态下输入数字后继续输入句号按下两次即输入半角状态
|
||
__include: wanxiang_symbols:/symbol_table # 从 wanxiang_symbols.yaml 导入所有符号配置
|
||
|
||
# 从 default 继承快捷键
|
||
key_binder:
|
||
import_preset: default # 从 default.yaml 继承通用的
|
||
sequence: # Lua 配置:手动排序的快捷键 super_sequence.lua,不要用方向键,各种冲突,一定要避免冲突
|
||
up: "Control+j" # 上移
|
||
down: "Control+k" # 下移
|
||
reset: "Control+l" # 重置
|
||
pin: "Control+p" # 置顶
|
||
# Lua 配置: shijian.lua 的引导符,涉及:日期、时间、节日、节气、生日、问候模板等功能
|
||
shijian_keys: ["/", "o"]
|
||
# Lua 配置: 超级tips上屏按键
|
||
tips_key: "comma" #修改时候去default找
|
||
# Lua 配置: 以词定字(上屏当前词句的第一个或最后一个字),和中括号翻页有冲突
|
||
select_first_character: "bracketleft" # 左中括号 [
|
||
select_last_character: "bracketright" # 右中括号 ]
|
||
bindings: # 也可以再增加方案专有的
|
||
# 通过按下/发送/+1节约一个按键,不冲突的时候可以开启
|
||
#- { match: "[a-z]{1,4}", accept: "/", send_sequence: "/1" }
|
||
# 翻页 , .
|
||
# - { when: paging, accept: comma, send: Page_Up }
|
||
# - { when: has_menu, accept: period, send: Page_Down }
|
||
# 翻页 [ ]
|
||
# - { when: paging, accept: bracketleft, send: Page_Up }
|
||
# - { when: has_menu, accept: bracketright, send: Page_Down }
|
||
# 翻页 - =
|
||
- { when: has_menu, accept: minus, send: Page_Up }
|
||
- { when: has_menu, accept: equal, send: Page_Down }
|
||
# Option/Alt + ←/→ 切换光标至下/上一个拼音
|
||
- { when: always, toggle: ascii_punct, accept: Control+Shift+3 } # 切换中英标点
|
||
- { when: always, toggle: ascii_punct, accept: Control+Shift+numbersign } # 切换中英标点
|
||
- { when: always, toggle: s2t, accept: Control+Shift+4 } # 切换简繁
|
||
- { when: always, toggle: s2t, accept: Control+Shift+dollar } # 切换简繁
|
||
- { when: composing, accept: Alt+Left, send: Shift+Left }
|
||
- { when: composing, accept: Alt+Right, send: Shift+Right }
|
||
- { when: composing, accept: Control+w, send: Control+BackSpace }
|
||
#分号用于次选,微软、搜狗双拼不可启用
|
||
#- { when: has_menu, accept: semicolon, send: 2 }
|
||
#使用Control+e进入翻译模式
|
||
- { when: has_menu, accept: "Control+e", toggle: chinese_english}
|
||
#使用快捷键Control+a开启和关闭辅助码显示
|
||
- { when: has_menu, accept: "Control+a", toggle: tone_hint }
|
||
#通过快捷键Control+s使得输入码显示音调
|
||
- { when: has_menu, accept: "Control+s", toggle: tone_display }
|
||
#通过快捷键Control+t开启超级tips
|
||
- { when: has_menu, accept: "Control+t", toggle: super_tips }
|
||
#通过快捷键Control+q开启超级tips
|
||
- { when: has_menu, accept: "Control+q", toggle: corrector }
|
||
#通过快捷键Control+g开启字符集过滤
|
||
- { when: has_menu, accept: "Control+g", toggle: charset_filter }
|
||
#通过快捷键Control+q切换中文、英文、混合模式
|
||
- { when: has_menu, accept: "Control+q", toggle: zh_only }
|
||
# 使用 tab 在不同音节之间跳转
|
||
- { when: has_menu, accept: "Tab", send: "Control+Right" }
|
||
- { when: composing, accept: "Tab", send: "Control+Right" }
|
||
#当tab第一个字补码正确后,可以使用Ctrl+tab进行上屏并依次补码
|
||
- { when: composing, accept: "Control+Tab", send_sequence: '{Home}{Shift+Right}{1}{Shift+Right}' }
|
||
#当输入编码后发现没有词,则通过双击``进入造词模式而且不需要删除编码,这个功能与``直接引导相呼应相配合
|
||
- { match: "^.*`$", accept: "`", send_sequence: '{BackSpace}{Home}{`}{`}{End}' }
|
||
#斜杠被占用引导符号,因此输入本身设置为双击
|
||
- { match: "^/$", accept: "/", send_sequence: '{space}' }
|
||
|
||
editor:
|
||
bindings:
|
||
space: confirm # 空格键:上屏候选项
|
||
Return: commit_raw_input # 回车键:上屏原始输入
|
||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit转换的)
|
||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||
Delete: delete # Delete 键:向后删除
|
||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||
Escape: cancel # Esc 键:取消输入
|
||
|
||
# 拼写设定
|
||
speller:
|
||
# table_translator翻译器,支持自动上屏。例如 “zmhu”可以自动上屏“怎么回事”
|
||
# auto_select: true
|
||
# auto_select_pattern: ^[a-z]+/|^[a-df-zA-DF-Z]\w{3}|^e\w{4}
|
||
# 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射,alphabet就是将字符纳入输入编码的范畴
|
||
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA1234567890`;/\
|
||
# initials 定义仅作为始码的按键,排除 ` 让单个的 ` 可以直接上屏
|
||
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/
|
||
delimiter: " '" # 系统配置,第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
|
||
visual_delimiter: " " # super_preedit.lua配置:是否让分隔符号跟着一起转换,例如nǐ'hǎo 在实际使用中表现出视觉拥挤,我们可以让delimiter平时是'转换为拼音的时候使用空格nǐ hǎo,更符合实际。
|
||
tone_isolate: true # super_preedit.lua配置:是否将数字声调从转换后拼音中隔离出来(true=隔离, false 直接参与转换)例如:nǐ3
|
||
algebra:
|
||
__patch:
|
||
#- 模糊音 #模糊音选择性开启
|
||
- wanxiang_algebra:/base/全拼 #拼音转双拼码
|
||
|
||
|
||
# 自定义词典
|
||
user_dict_set:
|
||
dictionary: wanxiang
|
||
initial_quality: 0
|
||
enable_completion: false
|
||
enable_sentence: false
|
||
spelling_hints: 50
|
||
contextual_suggestions: false #模型预测,假设模型里面有的四个字的词汇 现在智能 而首选组合 现在只能 当你输入 现在 上屏后下一次输入zhi neng就会输出,智能前提是没有权重更高的了,很明显这与你的预期“现在只能”不符。很明显实际上又要预测又要连续句子,放一起是很难优雅的。
|
||
max_homophones: 5
|
||
max_homographs: 5
|
||
comment_format:
|
||
enable_user_dict: false
|
||
user_dict: zc
|
||
# 自定义词典加词(``引导)
|
||
add_user_dict:
|
||
tag: add_user_dict
|
||
dictionary: wanxiang
|
||
initial_quality: -1
|
||
user_dict: zc
|
||
enable_completion: true # 提前显示尚未输入完整码的字〔仅 table_translator 有效〕
|
||
enable_user_dict: false
|
||
enable_auto_phrase: true # lua造词功能,在custom开启,相关功能位于auto_phrase.lua,开启后:模型能造的句子不造词,现有的词不造词,只造词库没有的,选词可造词
|
||
spelling_hints: 50
|
||
comment_format:
|
||
prefix: "``"
|
||
tips: "〔开始造词〕"
|