1) 特殊符号与标点的定制
① 在说标点定制之前,先说明一下RIME默认的标点输入方式。
以明月拼音为例。打开luna_pinyin.schema.yaml文件查看代码,有以下

punctuator为标点的意思。下面import为导入,preset为预设,两词连起来就是导入预设的意思。从哪里导入呢?就是后面的default.yaml文件。
打开未经配置的default文件,你会看到标点

标点是由luna_pinyin.custom.yaml文件规定从哪里导入的。默认是从default.yaml文件中导入标点,那么我们可以为default.yaml打补丁。下面是复制粘贴:
按键/是被指定到"/",/, ÷ 等一组符号了。 并且全角和半角状态下,符号有不同的定义。
欲令/键直接输出「、」,可如此编辑定制luna_pinyin.custom.yaml:
patch:
punctuator/full_shape:
"/":"、"
punctuator/half_shape:
"/":"、"
以上在输入方案设定中写入两组新值,合并后的输入方案成为:
# luna_pinyin.schema.yaml
# ...
punctuator:
import_preset:default
full_shape:
"/":"、"
half_shape:
"/":"、"
含义是、在由 default 导入的符号表之上,覆写对按键/的定义。通过这种方法,既直接继承了大多数符号的默认定义,又做到了局部的个性化。
其它的关于标点的设置可参考官方给的教程,我这里只说我自己对标点等的设置。不过再说标点的设置之前,我先说对特殊表情符号的设置如下:
② RIME没有软键盘,有些童鞋说,打特殊字符不方便,其实,那是因为你还未了解到RIME 强大的特殊字符输出能力。如按/(问号键)之后敲入xl字符,你便可以看到完整地希腊字符了。如图

这个主要是symbols.yaml文件在起作用,打开此文档,你就可以看见RIME的所有的特殊符号了。通过定制symbols.yaml文档,我们可以添加些我们自己常用的表情。输出这些字符操作步骤如下。
添加自己表情时,我们新建一个表情符号文档,随意命名,姑且叫它mysymbols好了(symbols文件不能向前面那样通过custom来定制)。我们要注意,RIME自带的表情符号我们还是要用的,所以,添加自己的表情之前,需先将symbols.yaml中的内容复制进mysymbols.yaml文件中(类似于上文中对快捷键的定制,是在覆盖而不是打补丁),然后进行表情的添加,具体怎么添加,你就看着symbols.yaml中的样式来就好了,此处不予赘述。
之后修改luna_pinyin.custom.yaml文件中*punctuator/import_preset*:指向为mysymbols。
新建luna_pinyin.custom.yaml文档,打开后,填写代码如下:
patch:
*punctuator/import_preset*: mysymbols
*recognizer/patterns/punct*:"^/([a-z]+|[0-9])$"
重新部署即可。
当然你也可以导入默认的symbols.yaml中的标点文件配置。而我想做的是对它进行控制,添加自己常用的表情,比如这个→_→。像一些网站我也可以添加进去,故自行命名mysymbols.yaml文件,以进行表情添加的操作。
③ 标点定制
⑴ 如果注意观察上面给的那两行代码的话你会注意到*punctuator/import_preset*:这一行代码。它的意思是指,普通的标点符号也是在你指定的文件中导入的。打开symbols.yaml文件,你会注意到普通的标点符号。在上面操作中,即将symbols.yaml中的代码复制进mysymbols.yaml文件中时,你最好是全部复制进去,如果遗漏普通的标点复制工作,特殊符号表情也不会起作用的。就是讲
*punctuator/import_preset*: mysymbols
*recognizer/patterns/punct*:"^/([a-z]+|[0-9])$"
这两行代码共同决定了特殊符号的导入,而第一行代码同时又决定了普通标点的导入工作。(希望你懂了→_→)
所以现在我们通过定制mysymbols.yaml文件中的普通标点来达到我对标点符号的控制。
⑵ 我理想中的标点符号是在英文状态下半角输入(这个不用设置,一定是的)中文状态下也是半角输入(部分字符如逗号句号除外)。小狼毫自身提供的标点符号相当全面,可是大多数我用不到,每个字符都有好几个后选项,一定程度上影响了我的打字效率,本人并不是都用到,所以自己定制了标点输入。即,中文输入状态下为半角输入(逗号句号引号之类中文字符除外,因为word里面打文档,你是要正规的去打字符,要用全角的。)
说道半角全角,那么有必要解释一下了。半角字符主要是针对英文字符,如ABCDE,.!@#$等他们在二进制中占1B(不懂的话,简单的理解为占用一个空格)空间,而中文字符,如”这些汉字还有“”ABCD”。等是占2B空间的(占用两个空格)。
所以我们可直接直接编辑修改mysymbols.yaml文件中的punctuator部分。我对普通符号所做修改会在文末给出链接。
如此,便可实现我对标点的设置。