Rime-ice flypy 中州韻輸入法-小狼毫-雾凇拼音-小鹤双拼 关闭输入emoji以及恢复中文顿号、的解决办法
在雾凇拼音中,默认是开启 emoji 输入的。然而我并不需要输入 emoji,只想凑合的话,按ctrl+\即可唤出输入法的设置菜单,选中那个 emoji 图标即可短暂地切换是否输入 emoji 的状态,就像图里的第 5 个:
切换前

切换后

但是切换不同的窗口,默认又是有输入 emoji 的状态了,又要重复上述的操作,相当麻烦。所以同样使用 patch 的方法,就像前一篇文章一样:
修改用户文件夹下的 double_pinyin_flypy.custom.yaml
没有这个文件的话就在用户文件夹下创建一个。
注意:此文件仅适用于小鹤双拼。
修改 emoji:
patch:
"switches/@3/reset": 0
修改中文顿号:
patch:
punctuator/half_shape:
__include: default:/punctuator/half_shape
"/": "、"
一点点小小的原理:
patch 的方式打补丁:创建.custom.yaml
根据雾凇拼音的官方 patch 教程[1]以及 Rime 输入法的教程[2],以 default.yaml 和 double_pinyin_flypy.schema.yaml 为例,解释如下:
創建一個文件名的主體部份(「.」之前)與要定製的文件相同、次級擴展名(「.yaml」之前)爲 .custom 的定製文檔:
default.yaml
|--↑--|
主体部分
double_pinyin_flypy.schema.yaml
|---------↑--------|--↑--|
-------主体部分------次级扩展名
default.yaml 是没有次级扩展名的,所以可以直接在 default 后添加.custom,也就变成了:
default.custom.yaml
而double_pinyin_flypy.schema.yaml有拓展名 schema,所先将拓展名去掉,再加上.custom,也就变成了:
double_pinyin_flypy.custom.yaml
.custom.yaml 中的 patch 修改规则
patch:
"一级设定项/二级设定项/三级设定项": 新的设定值
"另一个设定项": 新的设定值
"再一个设定项": 新的设定值
"含列表的设定项/@n": 列表第 n 个元素新的设定值,从 0 开始计数
"含列表的设定项/@last": 列表最后一个元素新的设定值
"含列表的设定项/@before 0": 在列表第一个元素之前插入新的设定值(不建议在补靪中使用)
"含列表的设定项/@after last": 在列表最后一个元素之后插入新的设定值(不建议在补靪中使用)
"含列表的设定项/@next": 在列表最后一个元素之后插入新的设定值(不建议在补靪中使用)
"含列表的设定项/+": 与列表合并的设定值(必须为列表)
"含字典的设定项/+": 与字典合并的设定值(必须为字典,注意 YAML 字典的无序性)
emoji 的修改:
在double_pinyin_flypy.schema.yaml 里涉及到 emoji 的内容是这样的:
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符,abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中,A ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简,繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角,全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
states: [正常,单字]
abbrev: [词,单]
可以看到,emoji 是 switches 里的第 4 个列表项,根据:
"含列表的设定项/@n": 列表第 n 个元素新的设定值,从 0 开始计数
所以得到
"switches/@3/reset": 0
中文顿号的修改
如果你打开过 Rime 输入法的指南,你会发现指南里的修改实例就是在改中文顿号:
欲令 / 鍵直接輸出「、」,可如此定製 luna_pinyin.custom.yaml:
patch:
punctuator/full_shape:
"/" : "、"
punctuator/half_shape:
"/" : "、"
以上在輸入方案設定中寫入兩組新值,合併後的輸入方案成爲:
# luna_pinyin.schema.yaml
# ...
punctuator:
import_preset: default
full_shape:
"/" : "、"
half_shape:
"/" : "、"
但请注意,这里是全角和半角都改了,我们只需要改中文状态下的也就行了,也就是 half_shape。那么,再参考一下double_pinyin_flypy.schema.yaml里关于标点符号的叙述有:
punctuator:
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_caps_v:/symbols # 从 symbols_caps_v.yaml 导入配置
结合起来,那我们也便这样抄:
patch:
punctuator/half_shape:
__include: default:/punctuator/half_shape
"/": "、"
为什么不这样写呢?似乎这样写比较符合先前修改的逻辑
patch:
punctuator/half_shape:
"/": "、"
原因是:这样写的话,等同于把后面的所有标点符号的对应关系都删掉了,只留下了"/": "、"
也就是说,除了按/会出现顿号、以外,其余所有符号都会变成英文状态。
所以,使用和原先的double_pinyin_flypy.schema.yaml一致的 _include 先继承,再修改,就能完美地实现想要的效果了。
这就中啦

浙公网安备 33010602011771号