# Rime schema # encoding: utf-8 # 方案说明 schema: schema_id: wanxiang_pro name: 万象拼音PRO version: "LTS" author: - amzxyz description: | 请勾选【万象拼音PRO】以启用,万象拼音 支持常见双拼方案和全拼输入,辅助码同时支持 全拼拼音、墨奇码、鹤形、自然码、虎码首末、五笔前2、汉心码、首右,拥有超越大厂的输入体验!带声调的词库,支持语法模型,全拼、简拼、整句、声调辅助筛选 【文本框输入:/pinyin全拼,/zrm自然码,/flypy小鹤,/mspy,/sogou,/pyjj等,详见README.md】 dependencies: - wanxiang_mixedcode #中英文混合词汇 - wanxiang_reverse #部件拆字,反查及辅码 - wanxiang_english #中英文混合词汇 - wanxiang_chaifen #辅助码拆分注释、翻译注释、行政区划匹配、车牌、等等注释类显示滤镜,Lua专用:super_comment # 开关 # 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提示,避免候选被占用,快捷键配套ctrl+e,归属opencc 翻译滤镜 states: [ 翻译关, 翻译开 ] - name: chaifen_switch #开启后在候选的注释里面实时显示辅助码的拆分提醒优先级高于普通辅助提醒,不开启则采用系统配置,快捷键配套ctrl+c,影响的是comment_format,归属:super_comment.lua states: [ 拆分关, 拆分开 ] - name: charset_filter #字符集过滤,默认开启8105通规显示,即小字集,可通过开关实时开启全字集,快捷键配套ctrl+g,归属:super_filter.lua states: [ 大字集, 小字集 ] reset: 1 - name: super_tips #开启后在输入编码后面的提示区显示实时的提示数据,受tips数据库影响,表情、翻译、车牌、符号等对应关系数据,并可实现句号上屏,不开启则默认,影响的是segment.prompt参数,归属:super_tips.lua states: [ 提示关, 提示开 ] reset: 1 - options: [ raw_input, tone_display, full_pinyin ] #开启后在输入编码的位置实时转换为带声调全拼或者不带声调全拼,不开启则采用系统配置原始编码,影响的是preedit_format,归属:super_preedit.lua states: [ 原编码, 有声调, 无声调 ] # reset: 2 #对于开关组从0开始数,第几个就reset几可设为默认 - options: [ comment_off, fuzhu_hint, tone_hint ] #开启后在候选的注释里面实时显示辅助码或者全拼声调,不开启则采用系统配置,影响的是comment_format,快捷键配套ctrl+a,归属:super_comment.lua states: [ 注释关, 辅助开, 读音开 ] - options: [ s2s, s2t, s2hk, s2tw ] # 简繁转换开关组,可以在一个空选项和多个实际“- simplifier@s2hk”引入的项目之前切换,这是一个开关组,你可以将其中任意一个s2s等设置为toggle快捷键,多次按下将轮询 states: [ 简体, 通繁, 港繁, 臺繁 ] - options: [ abbrev_off, abbrev_lazy, abbrev_always ] states: [ 简码关, 空出简, 总出简 ] reset: 1 - name: char_priority #多体现在编码重合但候选有单字或者多字的情况`引导的辅码查词时是否单字优先,全拼常见,类似于特定编码情况下、反查状态下的调序能力。归属:super_lookup.lua states: [词组先, 单字先] # 输入引擎 engine: processors: - lua_processor@*super_processor #KP小键盘、字母选词、符号快打、超强分词、重复限制、退格限制、声调回退、以词定字 - lua_processor@*partial_commit #通过ctrl+1~0局部提交10个字以内的句子的前几个字(一般为正确的前几个)使用时要遵循合理的分词结构能促进后续编码打出正确的词汇 - lua_processor@*super_sequence*P #手动排序,高亮候选 ctrl+j左移动 ctrl+k 右移动 ctrl+l 移除位移 ctrl+p 置顶 - lua_processor@*super_tips #超级提示模块:表情、简码、翻译、化学式、等等靠你想象 - 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_english #英文词汇表导入 - table_translator@wanxiang_mixedcode #混合编码词汇表导入 - reverse_lookup_translator@wanxiang_reverse #挂接部件组字和笔画反查 - script_translator@user_dict_set #自造词之使用词汇入口 - script_translator@add_user_dict #自造词之制造词汇入口 filters: - lua_filter@*auto_phrase #comment前,无感造词,关闭调频的时候将汉字写入次翻译器,当没有英文候选的时候追加\上屏可完成英文造词 - lua_filter@*super_lookup #comment前,字词输入中反查辅助筛选 - lua_filter@*super_comment_preedit #OpenCC前,超级注释模块、超级preedit,支持错词提示、辅助码显示,部件组字读音注释,有声调、无声调全拼编码的转换,支持个性化配置和关闭相应的功能,详情搜索super_comment_preedit进行详细配置 - lua_filter@*super_replacer #OpenCC替代器,更灵活的处理方式,更自由的自定义方式,支持简繁转换、简码模式、支持候选替换、注释替换、候选派生等等 - lua_filter@*super_filter #replacer后面,先进行转换后过滤,这样能繁体继承简体权重。本质功能相关功能见Lua文件 - lua_filter@*super_english #comment前,负责英文方案及中英混输中英文单词格式化,语句流,自动加空格等策略 - lua_filter@*super_sequence*F #手动排序,对高亮候选 ctrl+j左移动 ctrl+k 右移动 ctrl+0 移除位移 - uniquifier #去重 grammar: language: wanxiang-lts-zh-hans collocation_max_length: 7 collocation_min_length: 2 collocation_penalty: -10 non_collocation_penalty: -20 weak_collocation_penalty: -35 rear_penalty: -12 super_comment: # 超级注释模块,子项配置 true 开启,false 关闭 candidate_length: 1 # 候选词辅助码提醒的生效长度,0为关闭 但同时清空其它,应当使用上面开关来处理 corrector_type: "〔comment〕" # 随意更换左右括号,比如"〔comment〕" 不加括号为无括号,comment占位不能动 chaifen: "〔chaifen〕" # 随意更换左右括号,比如"〔chaifen〕" 不加括号为无括号,chaifen占位不能动 # Tips 配置项 tips: # 禁用的 tips 类型,初始化 tips 数据库的时候会直接忽略相关规则,修改部署后生效 # 可选项为:偏旁,符号,化学式,时间,符号,组字,翻译,表情,货币,车牌 disabled_types: [] # 给 kp_number_processor 用的小键盘模式,能自动读取recognizer下面正则与之功能对齐 kp_number_mode: auto #小键盘数字处理逻辑 # "compose" : 小键盘数字始终不上屏参与编码 # "auto" : 输入中 push,空闲时 commit(默认) #成语简码前置位置,只能设置在第一页,大于当前页数量则默认在最后一个 idiom_preposition: 3 super_replacer: db_name: lua/replacer delimiter: "|" comment_format: "〔%s〕" chain: true #true表示流水线作业,上一个option产出交给下一个处理,典型的s2t>t2hk=s2hk,false就是并行,直接用text转换 types: # 场景1:输入 '哈哈' -> 变成 '1.哈哈 2.😄' - option: emoji # 开关名称与上面开关名称保持一致 mode: append # 新增候选append 替换原候选replace 替换注释comment 简码模式abbrev匹配输入编码置顶词组 comment_mode: none # 注释模式: "append"(原候选注释继承), "text"(原候选文本放在注释), "none"(空,默认) tags: [abc] # 生效的tag prefix: "_em_" # 前缀用于区分同一个数据库的不同用途数据 files: - lua/data/emoji.txt # 场景2:输入 'hello' -> 显示 'hello 〔你好 | 哈喽〕' - option: chinese_english mode: append # <--- 添加注释模式 comment_mode: none tags: [abc] prefix: "_en_" files: - lua/data/english_chinese.txt - lua/data/chinese_english.txt # 场景3:用于常驻的直接替换 option: true - option: true mode: append # <--- 新增候选模式 comment_mode: none tags: [abc] prefix: "_ot_" files: - lua/data/others.txt # 场景4:用于简繁转换的直接替换 - option: [ s2t, s2hk, s2tw ] #后面依赖这条流水线有一个开关为true这条流水线就能工作 mode: replace # <--- 替换原候选模式 comment_mode: append sentence: true # <--- 句子级别替换 tags: [abc] prefix: "_s2t_" files: - lua/data/STCharacters.txt - lua/data/STPhrases.txt - option: s2hk mode: replace # <--- 替换原候选模式 comment_mode: append sentence: true # <--- 句子级别替换 tags: [abc] prefix: "_s2hk_" files: - lua/data/HKVariants.txt - lua/data/HKVariantsRevPhrases.txt - option: s2tw mode: replace # <--- 替换原候选模式 comment_mode: append sentence: true # <--- 句子级别替换 tags: [abc] prefix: "_s2tw_" files: - lua/data/TWVariants.txt - lua/data/TWVariantsRevPhrases.txt - option: [ abbrev_lazy, abbrev_always ] mode: abbrev # <--- 新增的简码模式 tags: [abc] prefix: "_abbr_" files: - lua/data/abbrev.txt # 格式:zm\t怎么|在吗 # 字符集过滤lua # a,通用规范汉字表 # b,GB2312, # g,GBK, # T,Big5,(台港澳常用) # j,简体,OpenCC (t2s) # f,通用繁体,OpenCC (s2t) # h,香港繁体, OpenCC (s2hk) # t,台湾繁体, OpenCC (s2tw) # u,基本区,U+4E00 - U+9FFF # A-I,扩展 A-I 区,U+3400 及各扩展区 (支持到 Ext-I) # c,兼容区汉字 # 你可以通过黑白名单微调你自己每个开关下面的字符集过滤清单,主数据库位于lua/charset.reverse.bin不可编辑 # 你可以按上面提到的规则代号在base处填写上基础集,还可以在每一个开关的开白名单设置微调数据,就像默认添加的字符集过滤在8105基础上新增了一些 # 你可以定义多个开关,多个开启状态的开关求并集,比如charset_filter开着,s2hk也开着,那么就会显示这两个集合的所有汉字 # 优雅的地方在于s2hk开着,charset_filter关着 我们照样能使用 港繁能用到的所有字,是真正的本体,无关字会被过滤,而当都开着则是享受简体转换成繁体的后的结果 # 这个设计真正的兼容了简繁转换与字符集过滤的矛盾,还能满足用户多种自定义需求,你可以在开关增加类别,并在charset下面新增option类去选择按照字区去过滤,等多种组合方式 charset: - option: charset_filter base: a #可以填入多个类别如aj addlist: - "诶濛硷氽尛躝〇冇吔咗囧屌鲶芶咲畑垅𰻝𰻞" blacklist: [] - option: s2t base: f addlist: [] blacklist: [] - option: s2hk base: h addlist: [] blacklist: [] - option: s2tw base: t addlist: [] blacklist: [] #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: trigger: "\\" #(注意反斜杠这是转义写法\\使用时\单反斜杠即可) 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: "⦉⦊" # 双弯方括号 fa: "⦋⦌" # 双弯方括号 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: "![|](img)" # 图片 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_pro # 挂载词库 wanxiang.dict.yaml # packs: user #导入根目录下名称为user.dict.yaml的自定义固定词典 # prism: double_pinyin # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。 enable_completion: true # 启用候选词补全 # user_dict: zrm.userdb # 用户词典的文件名称 # db_class: tabledb #开启后就不会产生zrm.userdb这样的文件夹,会直接输出文本zrm.txt同时无法使用同步能力 enable_user_dict: false # 是否开启自动调频 contextual_suggestions: false #模型用来开启词组权重预测,效果一般关闭 max_homophones: 5 max_homographs: 5 # disable_user_dict_for_patterns: # - "^[a-z]{1,6}" #基本的6码3字不调频 enable_correction: false #是否开启自动纠错 initial_quality: 4 # 初始质量拼音的权重应该比英文大 spelling_hints: 50 # 将注释以词典字符串形式完全暴露,通过super_comment.lua完全接管,灵活配置。 always_show_comments: true # Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供super_comment_preedit.lua做判断用。 comment_format: {comment} #将注释以词典字符串形式完全暴露,通过super_comment.lua完全接管,灵活配置。 # 自定义短语 custom_phrase: dictionary: "" user_dict: custom_phrase # 需要手动创建 custom_phrase.txt 文件 db_class: stabledb enable_completion: false # 补全提示 enable_sentence: false # 禁止造句 initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 wanxiang_en 大 # 简码词库导入位于dicts得txt文件词库 chengyu: dictionary: "" user_dict: dicts/chengyu db_class: stabledb enable_sentence: false enable_completion: false initial_quality: 1.2 #本表词和系统词重码居后 # 中文、英文、数字、符号等混合词汇 wanxiang_english: dictionary: wanxiang_english user_dict: en enable_completion: true enable_sentence: true initial_quality: 2.1 comment_format: #这里很重要如果残留带声调字母,剩余编码提示计算出错引发程序崩溃 - xform/^~.+$// #英文自动加空格,除关闭外共有3种模式可供选择 #off: 关闭; before: 总是前加; after: 总是后加; #smart: 智能模式连续输入英文时第二个单词前开始加空格,非输入状态的回车与空格都能打断加空格状态 #支持设置延时销毁加空格状态,单位秒,0不超时,大于0为超时时间,极大的保证了连续输入的体验。 english_spacing: smart spacing_timeout: 5 wanxiang_mixedcode: dictionary: wanxiang_mixedcode db_class: stabledb enable_completion: true enable_sentence: false initial_quality: 2 comment_format: #这里很重要如果残留带声调字母,剩余编码提示计算出错引发程序崩溃 - xform/^~.+$// # 部件拆字反查 wanxiang_reverse: tag: wanxiang_reverse dictionary: wanxiang_reverse prefix: "`" # 反查前缀(反查时前缀会消失),与 recognizer/patterns/wanxiang_reverse 匹配 tips: "〔反查:拆分|笔画〕" wanxiang_lookup: #设置归属于super_lookup.lua tags: [ abc ] # 检索当前tag的候选 key: "`" # 输入中反查引导符,要添加到 speller/alphabet lookup: [ wanxiang_reverse ] #反查滤镜数据库,万象都合并为一个了 enable_tone: true #启用声调反查 data_source: ['aux', 'db'] #data_source: ['db', 'aux'] #用来配置你的反查数据来自哪里,注释aux:即词库携带的辅助编码,数据库db:即反查方案携带的两分、多分、笔画 #谁在前哪种权重高比如 身db dian即dm,深aux dm 就能让相应的候选排在前面 #但注释在前有时候与笔画的感知会有一定冲突,可针对习惯使用一类数据库即可 # 处理符合特定规则的输入码,如网址、反查 recognizer: import_preset: default # 从 default.yaml 继承通用的 patterns: # 再增加方案专有的: punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols.yaml 的 symbols wanxiang_reverse: "^`[A-Za-z]*$" # 响应部件拆字与笔画的反查,与 radical_lookup/prefix 匹配 add_user_dict: "^``[A-Za-z/`']*$" #自造词 unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符 number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写 sjc: "^[/o]rc\\d+[-+=op]?$" 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.*$" #计算器功能引导 email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$" # email @ 之后不上屏 url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$" # URL # 标点符号 # punctuator 下面有三个子项: # 设置为一个映射,就自动上屏;设置为多个映射,如 '/' : [ '/', ÷ ] 则进行复选。 # full_shape: 全角没改,使用预设值 # half_shape: 标点符号全部直接上屏,和 macOS 自带输入法的区别是 # '|' 是半角的, # '~' 是半角的, # '`'(反引号)没有改成 '·'(间隔号)。 # symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的修改 symbols.yaml punctuator: digit_separators: ":,." #数字分隔符 __include: wanxiang_symbols:/symbol_table # 从 symbols.yaml 导入配置 # 从 default 继承快捷键 key_binder: import_preset: default # 从 default.yaml 继承通用的 # Lua 配置: 以词定字(上屏当前词句的第一个或最后一个字),和中括号翻页有冲突 select_first_character: "bracketleft" # 左中括号 [ select_last_character: "bracketright" # 右中括号 ] 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找 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+c拆分显示 - { when: has_menu, accept: "Control+c", toggle: chaifen_switch } # 使用快捷键Control+a开启和关闭辅助码显示 - { when: has_menu, accept: "Control+a", toggle: fuzhu_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+g开启字符集过滤 - { when: has_menu, accept: "Control+g", toggle: charset_filter } - { when: composing, accept: "Control+g", toggle: charset_filter } #通过快捷键Shift+space开启输入模式切换 #- { when: always, accept: Shift+space, select: wanxiang } #直接跳转指定方案 #- { when: always, accept: Shift+space, select: wanxiang_pro } #直接跳转指定方案 - { when: always, accept: Shift+space, select: .next } #下一个方案 # 使用 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: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA1234567890`;/\ # initials 定义仅作为始码的按键,排除 ` 让单个的 ` 可以直接上屏 initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/ delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。 visual_delimiter: " " # super_preedit.lua配置:是否让分隔符号跟着一起转换,例如nǐ'hǎo 在实际使用中表现出视觉拥挤,我们可以让delimiter平时是'转换为拼音的时候使用空格nǐ hǎo,更符合实际。 algebra: __patch: #- 模糊音 #模糊音选择性开启 - wanxiang_algebra:/pro/自然码 #拼音转双拼码 - wanxiang_algebra:/pro/直接辅助 #辅助码部分 ###############################以下是拼写运算规则中全拼转双拼码以及形码的过程,按照不同的方案规则划分段落########################### user_dict_set: dictionary: wanxiang_pro initial_quality: 2.5 enable_completion: false enable_sentence: false core_word_length: 4 # >0 启用,按段学词 + 相邻段拼接 max_word_length: 7 # >0 启用,过长短语不记整词,只加元素权重 contextual_suggestions: false max_homophones: 5 max_homographs: 5 spelling_hints: 50 comment_format: enable_user_dict: true user_dict: zc # 自定义词典加词(ac引导) add_user_dict: tag: add_user_dict dictionary: wanxiang_pro initial_quality: -1 user_dict: zc enable_completion: true # 提前显示尚未输入完整码的字〔仅 table_translator 有效〕 enable_user_dict: true spelling_hints: 50 enable_auto_phrase: true # lua造词功能,在custom开启,相关功能位于auto_phrase.lua,开启后:模型能造的句子不造词,现有的词不造词,只造词库没有的,选词可造词 comment_format: prefix: "``" tips: "〔开始造词〕"