今天我们所做的配置,将实现扩展符号的输入效果,如下👇:
要实现输入法能够输入扩展的符号,我们需要在输入方案中引入扩展符号集。
如果你使用的输入方案是 wubi_pinyin.schema.yaml
, 那么你需要在 用户文件夹 中修改 wubi_pinyin.custom.yaml
文档以加入符号集。
如果你使用的输入方案是 luna_pinyin.schema.yaml
, 那么你需要在 用户文件夹 中修改 luna_pinyin.custom.yaml
文档以加入符号集。
你应该明白,我的意思是你应该在你所使用的输入方案对应的 用户文件夹 下的 custom.yaml
文档内做修改。
什么? 用户文件夹 下没有对应的 custom.yaml
?没关系,没有就创建他,如下👇:
# 请先确认你在 **用户文件夹** 内哦
touch wubi_pinyin.custom.yaml
假如你已经找到并打开了对应输入方案的 custom.yaml
文档,请你在文档内的添加如下👇的修改/添加(注意节点位置):
# encoding:utf-8
patch:
punctuator: # 设置标点符号集
import_preset: symbols
完成上述修改/添加后,请保存你的 custom.yaml
文档,然后 重新部署 你的 Rime
输入法。
然后,你将可以通过 /
符号做为前缀来使用扩展符号了,如下👇
如上👆,我们可以看到在符号 /sb
(上标)的输入候选框内,上标 ?
对应的索引号是 1
, 上标 1
对应的索引号是 2
,而上标 ?
对应的索引号是 0
。也就是说,上标的号码与索引的号码是错位的。
不知道其它人的使用体验如何,就我个人而言,更希望上标 ?
对应的索引号是 0
,而上标 1
对应的索引号是 1
,其它上标 2
~ 上标 ?
对应的索引号依次对应数字 2
~ 9
,如此在进行上标号输入时,就可以快速的进行选字了。
有人问,如果编号超过了 9
怎么办?确实,例如在甲子纪年中,60年一甲子,第 1
年是 甲子
年,第 9
年是 壬申
,这都可以和索引序号对齐,这都好理解。那第 10
年的 癸酉
年怎么和索引序号对应呢?
关于这个问题,我的解决方案是使用翻页次数来标示十位上的数值。这怎么理解呢?下面举个例子就明白了。例如我们表示第 10
年的 癸酉
年。我们可以把 10
里十位上的 1
看成需要翻页一次,而 10
里个位上的 0
表示候选项的索引序号,如此以来,则候先项 癸酉
的位置应该位于第二页(翻一次页)的索引序号 0
的位置。
照此逻辑,在干支纪年序列中,第 23
个年份的干支选项应该位于翻两次页后的索引序号为 3
的位置。这个位置应该是 丙戌
。
有了上面的符号与候选项之间的映射关系,我们很容易就有了需求,就是我们需要重新定义符号集,以使这些符号的出现位置与索引序号之间建立对应的关系。
symbols.custom.yaml
文档我们要定制符号集,我们需要在 用户文件夹 下的 symbols.custom.yaml
文档内操作。如果你的 用户文件夹 下没有 symbols.custom.yaml
文档,请创建它。
# 请确认你已经在 **用户文件夹** 内
touch symbols.custom.yaml
patch
节点显然,我们在 symbols.custom.yaml
文档内所做的定制内容,应该位于 patch
节点内。
/zt
状态👇以下所定义的符号用于表示一组状态,可以通过 /zt
来进行输入:
patch:
punctuator/symbols/+:
"/zt": ["?", "?", "?", "?"]
/tj
推荐指数👇以下所定义的符号用于表示一组推荐指数,可以通过 /tj
来进行输入:
patch:
punctuator/symbols/+:
"/tj": ["★☆☆☆☆", "★★☆☆☆", "★★★☆☆", "★★★★☆", "★★★★★", "None6", "None7", "None8", "None9", "☆☆☆☆☆"]
/jd
进度条👇以下所定义的符号用于表示一组进度条,可以通过 /jd
来进行输入:
patch:
punctuator/symbols/+:
"/jd": ["▉▁▁▁▁", "▉▉▁▁▁", "▉▉▉▁▁", "▉▉▉▉▁", "▉▉▉▉▉", "None6", "None7", "None8", "None9", "▁▁▁▁▁"]
/dc
对错👇以下所定义的符号用于表示一组对错符号,可以通过 /dc
来进行输入:
patch:
punctuator/symbols/+:
"/dc": ["?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?"]
/lm
罗马数字👇以下所定义的符号用于表示一组罗马数字,可以通过 /lm
来进行输入:
patch:
punctuator/symbols/+:
"/lm": ["ⅰ", "ⅱ", "ⅲ", "ⅳ", "ⅴ", "ⅵ", "ⅶ", "ⅷ", "ⅸ", "None", "?", "?", "?", "?", "?", "?", "17", "18", "19", "ⅹ"]
/lmd
罗马数字大写👇以下所定义的符号用于表示一组罗马数字的大写符号,可以通过 /lmd
来进行输入:
patch:
punctuator/symbols/+:
"/lmd": ["Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ", "None", "Ⅺ", "Ⅻ", "?", "?", "?", "?", "17", "18", "19", "Ⅹ"]
/szd
数字(带)点👇以下所定义的符号用于表示一组还有点号的数字,可以通过 /szd
来进行输入:
patch:
punctuator/symbols/+:
"/szd": ["⒈", "⒉", "⒊", "⒋", "⒌", "⒍", "⒎", "⒏", "⒐", "None", "⒒", "⒓", "⒔", "⒕", "⒖", "⒗", "⒘", "⒙", "⒚", "⒑", "None11", "None12", "None13", "None14", "None15", "None16", "None17", "None18", "None19", "⒛"]
/szk
数字(带)括号👇以下所定义的符号用于表示一组还有括号的数字,可以通过 /szk
来进行输入:
patch:
punctuator/symbols/+:
"/szk": ["⑴", "⑵", "⑶", "⑷", "⑸", "⑹", "⑺", "⑻", "⑼", "None", "⑾", "⑿", "⒀", "⒁", "⒂", "⒃", "⒄", "⒅", "⒆", "⑽", "None21", "None22", "None23", "None24", "None25", "None26", "None27", "None28", "None29", "⒇"]
/szm
数字(苏州码字)👇以下所定义的符号用于表示一组苏州码字,可以通过 /szm
来进行输入:
patch:
punctuator/symbols/+:
"/szm": ["〡", "〢", "〣", "〤", "〥", "〦", "〧", "〨", "〩", "None", "None11", "None12", "None13", "None14", "None15", "None16", "None17", "None18", "None19", "?", "None21", "None22", "None23", "None24", "None25", "None26", "None27", "None28", "None29", "?", "None31", "None32", "None33", "None34", "None35", "None36", "None37", "None38", "None39", "?"]
/szq
数字(带)圈👇以下所定义的符号用于表示一组带圈的数字,可以通过 /szq
来进行输入:
patch:
punctuator/symbols/+:
"/szq": ["①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "⑩", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "None51", "None52", "None53", "None54", "None55", "None56", "None57", "None58", "None59", "?"]
/szz
数字(中文)👇以下所定义的符号用于表示一组中文数字,可以通过 /szz
来进行输入:
patch:
punctuator/symbols/+:
"/szz": ["壹", "貳", "叄", "肆", "伍", "陆", "柒", "捌", "玖", "零", "佰", "仟", "None13", "None14", "None15", "None16", "None17", "None18", "None19", "拾"]
/hzq
汉字(带)圈👇以下所定义的符号用于表示一组带圈的汉字,可以通过 /hzq
来进行输入:
patch:
punctuator/symbols/+:
"/hzq": ["一", "二", "三", "四", "五", "六", "七", "八", "九", "月", "火", "水", "木", "金", "土", "日", "株", "有", "社", "十", "名", "特", "财", "祝", "劳", "秘", "男", "女", "适", "优", "?", "注", "项", "休", "写", "㊣", "?", "?", "?", "?", "?", "医", "宗", "学", "监", "企", "资", "协", "夜", "?", "?", "?", "?"]
/hzk
汉字(带)括号👇以下所定义的符号用于表示一组带括号的汉字,可以通过 /hzk
来进行输入:
patch:
punctuator/symbols/+:
"/hzk": ["㈠", "㈡", "㈢", "㈣", "㈤", "㈥", "㈦", "㈧", "㈨", "月", "火", "水", "木", "金", "土", "日", "㈱", "有", "社", "㈩", "名", "特", "财", "祝", "劳", "代", "呼", "学", "监", "企", "资", "协", "祭", "休", "自", "至"]
/fs
分数符号👇以下所定义的符号用于表示一组分数符号,可以通过 /fs
来进行输入:
patch:
punctuator/symbols/+:
"/fs": ["?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "None21", "None22", "?", "None24", "?", "None26", "None27", "None28", "None29", "None20", "None31", "None32", "None33", "?", "?", "None36", "None37", "?", "None39", "None30", "None41", "None42", "None43", "None44", "?", "None46", "None47", "None48", "None49", "None40", "None51", "None52", "None53", "None54", "None55", "?", "None57", "?", "None59", "None50", "None61", "None62", "None63", "None64", "None65", "None66", "None67", "None68", "None69", "None60", "None71", "None72", "None73", "None74", "None75", "None76", "None77", "?", "None79", "None70"]
/gz
干支👇以下所定义的符号用于表示一组干支记数的序列,可以通过 /gz
来进行输入:
patch:
punctuator/symbols/+:
"/gz": ["甲子", "乙丑", "丙寅", "丁卯", "戊辰", "己巳", "庚午", "辛未", "壬申", "None", "甲戌", "乙亥", "丙子", "丁丑", "戊寅", "己卯", "庚辰", "辛巳", "壬午", "癸酉", "甲申", "乙酉", "丙戌", "丁亥", "戊子", "己丑", "庚寅", "辛卯", "壬辰", "癸未", "甲午", "乙未", "丙申", "丁酉", "戊戌", "己亥", "庚子", "辛丑", "壬寅", "癸巳", "甲辰", "乙巳", "丙午", "丁未", "戊申", "己酉", "庚戌", "辛亥", "壬子", "癸卯", "甲寅", "乙卯", "丙辰", "丁巳", "戊午", "己未", "庚申", "辛酉", "壬戌", "癸丑", "None61", "None62", "None63", "None64", "None65", "None66", "None67", "None68", "None69", "癸亥"]
/xzm
星座名👇以下所定义的符号用于表示一组星座名,可以通过 /xzm
来进行输入:
patch:
punctuator/symbols/+:
"/xzm": ["白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "室女座", "天秤座", "天蝎座", "射手座", "摩羯座", "宝瓶座", "双鱼座"]
/sb
上标👇以下所定义的符号用于表示一组上标符号,可以通过 /sb
来进行输入:
patch:
punctuator/symbols/+:
"/sb": ["1", "2", "3", "?", "?", "?", "?", "?", "?", "?", "???", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?"]
/xb
下标👇以下所定义的符号用于表示一组下标符号,可以通过 /xb
来进行输入:
patch:
punctuator/symbols/+:
"/xb": ["?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?"]
/an
按钮👇以下所定义的符号用于表示一组按钮符号,可以通过 /an
来进行输入:
patch:
punctuator/symbols/+:
"/an": ["🅰", "🆎", "🅱", "🆑", "🆒", "🆓", "?", "🆔", "?", "🆕", "🆖", "🅾", "🆗", "🅿", "🆘", "🆙", "🆚", "?", "🈯", "💹", "??", "??", "?", "🏧", "🚾", "?", "🅿?", "🈳", "🈂?", "🛂", "🛃", "🛄", "🛅", "🚹", "🚺", "🚼", "🚻", "🚮", "🎦", "📶", "🈁", "🔣", "??", "🔤", "🔡", "🔠", "🆖", "🆗", "🆙", "🆒", "🆕", "🆓", "0??", "1??", "2??", "3??", "4??", "5??", "6??", "7??", "8??", "9??", "🔟", "🔢", "#??", "*??", "??", "??", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "??", "🔼", "🔽", "??", "??", "??", "??", "↗?", "↘?", "↙?", "↖?", "??", "??", "??", "??", "??", "??", "🔀", "🔁", "🔂", "🔄", "🔃"]
/jq
节气👇以下所定义的符号用于表示一组节气,可以通过 /jq
来进行输入:
patch:
punctuator/symbols/+:
"/jq": ["立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至", "小寒", "大寒"]
/bs
部首👇以下所定义的符号用于表示一组部首符号,可以通过 /bs
来进行输入:
patch:
punctuator/symbols/+:
"/bs": ["丨", "亅", "丿", "乛", "一", "乙", "丶", "乚", "十", "厂", "匚", "刂", "卜", "冂", "亻", "八", "人", "入", "勹", "儿", "匕", "几", "亠", "冫", "丷", "冖", "讠", "凵", "卩", "阝", "刀", "力", "又", "厶", "廴", "干", "艹", "屮", "彳", "巛", "川", "辶", "寸", "大", "飞", "彑", "工", "弓", "廾", "广", "己", "彐", "巾", "口", "马", "门", "宀", "女", "犭", "山", "彡", "尸", "饣", "士", "扌", "氵", "纟", "巳", "土", "囗", "兀", "夕", "小", "忄", "幺", "弋", "尢", "夂", "子", "贝", "比", "灬", "长", "车", "歹", "斗", "厄", "方", "风", "父", "戈", "卝", "户", "火", "旡", "见", "斤", "耂", "毛", "木", "牛", "牜", "爿", "片", "攴", "攵", "气", "欠", "犬", "日", "氏", "礻", "手", "殳", "水", "瓦", "王", "韦", "文", "无", "毋", "心", "穴", "牙", "爻", "曰", "月", "爫", "支", "止", "爪", "车", "白", "癶", "甘", "瓜", "禾", "钅", "立", "龙", "矛", "皿", "母", "目", "疒", "鸟", "皮", "生", "石", "矢", "示", "罒", "田", "玄", "疋", "业", "衤", "用", "玉", "臣", "虫", "而", "耳", "缶", "艮", "虍", "臼", "老", "耒", "米", "糸", "齐", "肉", "色", "舌", "糹", "网", "西", "覀", "行", "血", "羊", "页", "衣", "羽", "聿", "至", "舟", "竹", "自", "辰", "赤", "辵", "豆", "谷", "龟", "角", "里", "卤", "麦", "身", "豕", "辛", "言", "邑", "酉", "鱼", "豸", "走", "足", "采", "齿", "非", "阜", "金", "隶", "黾", "青", "鱼", "雨", "隹", "釒", "革", "骨", "鬼", "韭", "面", "食(飠)", "首", "香", "音", "髟", "高", "鬲", "黄", "鹿", "麻", "鼎", "黑", "黍", "鼓", "鼠", "裏", "鼻", "龠"]
👇以下,定义一半角标点符号的候选项,当我们输入对应的标点时,输入法会根据我们的定义给我们提供更丰富的候选项。
patch:
punctuator/full_shape/+:
# 全角标点暂不做处理
punctuator/half_shape/+:
"@": "@"
"$": ["¥", "$"]
"*": "*"
"{": "{"
"}": "}"
"[": ["[", "【","「", "╚", "└", "『", "╔", "┌", "╠"]
"]": ["]", "】", "」", "╝", "┘", "』", "╗", "┐", "╣"]
"|": "|"
"-": "-"
_: ["_", "╩", "╦"]
"\\": "、"
"/": ["/"]
"%": "%"
"`": ["`", "```", "```python", "```bash", "```Python 3", "```C#", "```yaml"]
"~": "~"
"=": "="
"^": "……"
"#": ["#", "%23", "№", "╬"]
wubi_pinyin.custom.yaml
文档以上👆所配置的 wubi_pinyin.custom.yaml
文档内的内容,你也可以直接下载 wubi_pinyin.custom.yaml
使用。
symbols.custom.yaml
文档以上👆所配置的 symbols.custom.yaml
文档内的内容,你也可以直接下载 symbols.custom.yaml
使用。
今天的分享,完成了 symbols.custom.yaml
的定制。根据你的需要,你可以调整和增加更丰富的符号集。