chore: 修改说明

This commit is contained in:
amzxyz
2025-12-24 11:51:12 +08:00
parent a1e849caea
commit b377e9b598
4 changed files with 82 additions and 5 deletions

View File

@@ -215,7 +215,7 @@ wanxiang.custom.yaml是对wanxiang.schema.yaml的补丁以此类推
schema,default,weasel,squirrel
```
注意不要删除和变更每一个custom的表头。
注意不要删除和变更每一个custom的表头。**关于如何patch参见方案文件中custom目录携带的patch方法论**
更详细参照:[🚀 Rime 万象拼音输入方案 新手安装配置指南](https://docs.qq.com/doc/DQ0FqSXBmYVpWVFpy?rtkey=)
@@ -341,12 +341,19 @@ wanxiang_lookup:
#shijian:仅仅作为提示使用编码已经写死引导键可以在key_binder下修改前缀
#时间osj 或者 /sj
#日期orq 或者 /rq
#日期差orc 或者 /rc
#之所以单独列出是为了保证rq能直接数字上屏这个功能需要输入数字所以/rc这一步不能上屏
#但我们把逻辑后置用来代表结束就能在结束时也使用数字上屏,使用方法:
#/rc26p,/rc26+,/rc26p= 随意一个都是加上这个差值,得到未来日期;
#/rc26-,/rc26o 随意一个都是减去这个差值,得到过去日期
#以此实现了主键盘不用刻意按下shift-=两个按键直接按手机上也有op兼容可用小键盘-+直接用
#农历onl 或者 /nl
#星期oxq 或者 /xq
#今年第几周oww 或者 /ww
#节气ojq 或者 /jq
#日期+时间odt 或者 /dt
#时间戳ott 或者 /tt
#/utc查询热门城市UTC时间
#大写N日期N20250315 或者N0312不带年
#节日ojr 或者 /jr
#问候模板:/day 或者 oday
@@ -425,6 +432,9 @@ datetime_formats:
**自动上屏:** 例如:三位、四位简码唯一时,自动上屏如`jjkw岌岌可危` `zmhu怎么回事` 。默认未开启,方案文件中`speller:`字段下取消注释这两句开启 `# auto_select: true # auto_select_pattern: ^[a-z]+/|^[a-df-zA-DF-Z]\w{3}|^e\w{4}`
**数字后自动半角:** 当中文状态输入数字的时候后面立即输入,。将自动转换为数字分割符例如科学记数法1000,000 小数点 3.1415,如果你加入冒号:还可以优雅的输入时间12:30当然你还可以双击输入的符号恢复全角符号的输出。但若你完全没有场景使用该功能则可以通过patch将其修改为commit
```punctuator/digit_separators: ",." > punctuator/digit_separators: commit```
**错音错字提示:** 例如:输入`gei yu给予`,获得`jǐ yǔ`提示,此功能与全拼、双拼类型无关全部支持;
<img src="https://storage.deepin.org/thread/202509260127525844_错音给予.jpg" height="80"> <img src="https://storage.deepin.org/thread/202509260127524705_错音崩溃.jpg" height="80">
@@ -469,7 +479,7 @@ datetime_formats:
**中文无感造词Lua仅PRO** 在关闭调频的情况下通过逐步选字选词的方式上屏将为你记录整段且不会产生小碎片所造词汇与db用户词是一回事遵循用户词管理的相关逻辑其中直接上屏不造词。相比按需造词更加不打断输入。
**英文造词Lua** 例如当输入scx的时候没有任何候选此时可以追加\```scx\```可以触发创建候选,但是有的时候我们想要任意编码进行英文造词,但是又有汉字在前面怎么办,本着一次不行就来两次的原则```nihao\\```末尾输入两个就可以了。然后空格上屏他就记录到了en.userdb导出和同步与用户词逻辑一致。
**英文造词Lua** 例如当输入scx的时候没有任何候选此时可以追加\```scx\```可以触发创建候选,但是有的时候我们想要任意编码进行英文造词,但是又有汉字在前面怎么办,本着一次不行就来两次的原则```nihao\\```末尾输入两个就可以了。当然你也可以统一理解为按两下来触发强制英文候选。然后空格上屏他就记录到了en.userdb导出和同步与用户词逻辑一致。
**用户词删除:** 使用Ctrl+del是rime系统删除用户词,就可以将用户词标记为c<=0这在rime系统中就表现为不使用假性删除。

View File

@@ -1,12 +1,77 @@
# Rime YAML Custom Patch 语法指南
patch是对方案文件前端配置文件做出补丁修改的最高权重配置文件
权重排序为 custom.yaml > schema.yaml > default.yaml
我们修改方案功能要找准目标例如修改wanxiang.schema.yaml则需要创建或者修改wanxiang.custom.yamldict.yaml是不能被patch的
知道了以上信息我们还要了解custom的工作逻辑在编译的时候文件将先处理本文件内的引用如引用__include: 补丁__patch: 跟随__append:
因此当schema中如果涉及到__include等这些方法那么你看到的则不是最终形态最终形态可以在build文件夹中看到他递归整理后的样子而我们custom patch就是对这个最终形态进行修改所以我们不能patch一个__include段落就是这个缘故。
同样在custom文件中我们为了简化也可以使用__include这样的命令比如我们预设文件中引用了关系到双拼类型的转写文件同样是先将这个文件对应的段落拿进来再用这个段落替换schema原本的段落从而完成修改。
```
patch:
speller/algebra:
__patch:
- wanxiang_algebra:/pro/自然码
- wanxiang_algebra:/pro/直接辅助
```
知道了这些我们说一个极为重要的点:**一个custom文件顶层必须只有一个patch:**
在YAML语法中同一个段落内的内容必须按层级进行两个空格的缩进依次4个、6个缩进下去因此写在patch:下面的内容也不例外,那么能不能顶层再写东西了?答案是可以
但不能插入到patch内容的中间这将会截断整个patch段落你可以将这些内容放在文件的最后不干扰patch段落就像万象携带的模糊音等段落。
1、引用__include
```
schema:
__include: xxx
```
将顶层段落xxx下面的内容放在schema下面
```
schema:
__include: xxx
```
将顶层段落xxx下面的内容放在与schema同级的位置注意看缩进的位置
```
schema:
__include: wanxiang_algebra:/xxx
```
将wanxiang_algebra.yaml文件中顶层段落xxx下面的内容放在与schema下面
2、补丁__patch: 跟随__append:
在单个段落下功能用法等同于__include几乎没什么区别但他可以叠加使用
```
patch:
speller/algebra:
__include: wanxiang_algebra:/mixed/通用派生规则
__patch: wanxiang_algebra:/mixed/全拼
```
在使用了__include的下面我们可以继续使用__patch来让另一个段落继续跟过来如果是两个__include摞起来是没用的
但这也并非__patch自己完全的功劳因为在转写段落跟随在一起的情况下我们还会在原段落加入跟随__append命令形如
```
patch:
speller/algebra:
__include: wanxiang_algebra:/mixed/通用派生规则
__patch: wanxiang_algebra:/mixed/全拼
#另一个文件中
mixed:
全拼:
__append:
- xxx
- yyy
```
patch可单用于段落整合也可用于表与表之间的内容拼接拼接时叠加__append:跟随命令使得两个表段落拼接到一起共同作为上层段落的值
知道了以上几个命令我们大概率能完成本文件内“最终态”的认识在这个基础上我们开始了对schema打补丁的操作。
在打补丁前我们可以将段落的上层认为是本层的key键本层及其下面所有认为是上层的值value在这个概念的加持下我们学习一些patch语法如下
## 语法表格
| 操作类型 | 语法 | 说明 |
| -------------- | ------------------------- | ---------------------------- |
| **新增** | `key/+:` | 在某个列表中追加值,自动加在末尾 |
| **删除** | `key/-:`(不可用) | 从列表中移除值(不可用) |
| **删除** | `key/-:`错误示例不可用) | 从列表中移除值(错误示例不可用) |
| **全局替换** | `key: new_value` | 替换整个键的值 |
| **部分替换** | `key/index/subkey: value` | 修改列表中的特定项,不影响其他项 |
| **特定行替换** | engine/filters/@12 | 替换列表中第13行的值 |
@@ -35,6 +100,8 @@ patch:
# Rime YAML Patch 机制解析
我们看到可以基于层级使用/依次代表下一层的路径,也可以:换行空两格代表但是在patch中这个事情确整出了差别如下
## 为什么 `menu/page_size: 10` 和 `menu: { page_size: 10 }` 结果不同?
**Rime YAML Patch 机制** 下,`menu/page_size: 10``menu: { page_size: 10 }` **看似等价**,但 **行为是不同的**,主要原因在于 **Patch 机制的覆盖策略**

View File

@@ -268,4 +268,4 @@ patch:
- xlit/qwertyuiopasdfghjklzxcvbnm/QWWRRYUIIPASSFFHJJLZXXVBBM
14jian:
__append:
- xlit/qwertyuiopasdfghjklzxcvbnm/QQEETTUUOOAADDGGJJLZZCCBBM
- xlit/qwertyuiopasdfghjklzxcvbnm/QQEETTUUOOAADDGGJJLZZCCBBM

View File

@@ -2,7 +2,7 @@ patch:
speller/algebra:
__patch:
#- 模糊音 # 这里启用后,本文件末尾可配置具体条目
- wanxiang_algebra:/pro/自然码 # 可选输入方案名称:自然码, 自然龙, 小鹤双拼, 搜狗双拼, 微软双拼, 智能ABC, 紫光双拼, 国标双拼,龙三
- wanxiang_algebra:/pro/自然码 # 可选输入方案名称:自然码, 自然龙, 小鹤双拼, 搜狗双拼, 微软双拼, 智能ABC, 紫光双拼, 国标双拼
- wanxiang_algebra:/pro/直接辅助 #辅助码升级为直接辅助和间接辅助两种类型都是句中任意不同点在于直接辅助是nire=你 而间接则需要/引导 ni/re=你 ,在这个基础上直接辅助支持拼音后任意位置数字声调参与,间接辅助声调在/引导前参与
#- 自然码提权 #本文件末尾,有自然码和小鹤的可以用
##########################以上格式受指令初始化控制,最好保持格式不变,如果发生变更请不要使用指令修改相关数据#####################################