Rime-ice flypy 中州韻輸入法-小狼毫-雾凇拼音-小鹤双拼 关闭输入emoji以及恢复中文顿号、的解决办法

在雾凇拼音中,默认是开启 emoji 输入的。然而我并不需要输入 emoji,只想凑合的话,按ctrl+\即可唤出输入法的设置菜单,选中那个 emoji 图标即可短暂地切换是否输入 emoji 的状态,就像图里的第 5 个:

切换前
img

切换后
img

但是切换不同的窗口,默认又是有输入 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.yamldouble_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 先继承,再修改,就能完美地实现想要的效果了。
这就中啦


  1. 雾凇拼音 - 以-patch-的方式打补丁 ↩︎

  2. Rime 輸入法 - 定製指南 ↩︎

posted @ 2025-08-26 13:17  半朵栀子花  阅读(235)  评论(0)    收藏  举报