Skip to content

顶功编码 ​

音节码固态词典 ​

构词规则的差异 ​

冰雪键道的五字及以上词构词规则与星空键道有所不同。在星空键道中,五字及以上词的打法为第一、二、三和末字的声母加上前两个字的笔画;但在冰雪拼音体系内,由于无法采用这样的逻辑来查询词典,因此改为用前四个字的声母加上前两个字的笔画。例如,「三下五除二」的编码为 sxwjvv: rime 在有些情况下,使用这种方式输入可能会导致重码较为显著。例如,「科学发展观」的编码为 kxfquo,与「科学发展」相同;「中华人民共和国」的编码为 fhrmii,与「中华人民」相同: rimerime 因此,本方案还提供了另一种方法来重码更低地输入多字词,即先输入前四个字的声母,然后用大写字母继续输入其余的声母,这样既不影响顶功,又增加了多字词的信息量。例如,输入 kxfqG,「科学发展观」就出现在首选: rime

由于冰雪键道是动态调频的,因此用户在实际使用中可以结合上述两种方法:对于没打过或重码较多的词,宜使用大写字母补全后续的声母以尽快筛选;对于已经打过或重码较少的词,宜用常规方法通过补充笔画将其提升到首选,这样可以避免输入大写字母。

音节码用户词典 ​

动态调频与动态码长 ​

冰雪键道采用动态调频策略,用户打过的词会出现在候选中更靠前的位置。由于键道可以通过追加形码来进一步区分词语,因此本策略使得码长在输入中也可以动态变化,这个特性称为动态码长。例如,用户第一次想打「史诗」时,输入 ekek 的时候整个第一页都没有想要的词,需要输入到 ekekio 才能将「史诗」提到首选。但输入过一次「史诗」之后,下一次只需要 ekek 就能输入「史诗」: rimerime

自动造词 ​

冰雪键道造词的方法为:在没有输入编码的情况下,按 v 进入造词模式,然后将想造词的内容拆分成较小的单位来完成输入,此时输入的内容会积累在缓冲区中而不上屏。输入完想造词的内容后,再按一次空格,此时缓冲区中的内容上屏,同时也完成了造词。

下面以造「冰雪键道」这个词为例:首先按 v,此时会提示「造词」(取决于前端的实现,也可能不会有提示),然后输入 bgxhjmdz(此时的输入逻辑与平时相同,顶功的功能也有效,因此 j 会把 bgxh 对应的首选「冰雪」顶上屏),如下图所示: rime 然后空格确认「键道」,这样想要造词的内容就全部进入了缓冲区: rime 再按一次空格,「冰雪键道」上屏,同时也完成了造词。 rime

注意,在拆分输入的过程中不能使用 630 简码(因为这些是特殊的简码,系统中没有这些简码对应的完整拼音,会导致造词失败)。另外,如果是在输入过程中才想起来造词,此时不能按 v 进入造词模式(因为它通常代表追加形码),而是需要按 Control+j 进入造词模式。

这种造词方式非常灵活,可以以任意方式拆分任意次来输入,例如二字加二字得到四字词、一字加二字得到三字词、二字加三字得到五字词等等。但是,其缺点就是必须提前想好要造词,按照拆分的方式来输入,如果已经不小心按照词的编码来打了,就需要先清空再完成造词。

为了部分地解决这个问题,对于「一字加一字得到二字词」这种比较常见的情况提供了另一种造词方式,即定位补码造词。例如,想打「星猫」一词时已经按词的编码输入了 xgmz,发现候选中没有「星猫」这个词;此时不必清空,而是可以补充「星」的形码 oi 将其提到首选: rime 空格确认后,再补充「猫」的形码 ua: rime 再次空格后,「星猫」上屏,同时也造好了词「星猫」。 rime

这种造词方式的优点是可以复用已有的编码。

英数混输造词 ​

在科技与流行文化中,经常出现混有英文、数字的词语的情况。为了让这些词也能够自动造词,本方案给 10 个阿拉伯数字、26 个大写英文字母、26 个小写英文字母也指定了相应的音节码。

  • 阿拉伯数字与相应中文数字(零~九)相同
  • 英文字母的音节码规定为
    • bpmfdtnlgkhjqxzcsrywe 加后缀 e,例如 b 的音节码是 be
    • viuoa 的音节码是 x 加上对应的韵母:i = xk, u = xj, o = xl, a = xs, 而 v 因为已经被占用规定为 xh
    • 所有大写字母固定在二码的次选,所有小写字母固定在二​码的三选

使用这些候选,就可以轻易造出如「5G通信」「哆啦A梦」这样的词:

方案码固态词典 ​

考虑到保持原有的用户习惯,对于一至三码的一字词和特殊简码(声声简词、630 简词)不使用动态调频策略。这些固定的编码定义在 snow_jiandao.fixed.txt 中,如果想要调整请直接修改这个文件。

方案码用户词典 ​

用户可以利用方案码用户词典来对方案码固态词典中的条目进一步自定义。与音节码用户词典不同的是,音节码用户词典存储在 snow_pinyin.userdb 文件夹中、并同步到 snow_pinyin.userdb.txt 中;方案码用户词典存储在 snow_jiandao.userdb 文件夹中、并同步到 snow_jiandao.userdb.txt 中。也就是说,用户同样可以利用 Rime 的同步机制来在多个设备之间同步方案码用户词典。其操作方式如下:

固定和取消固定 ​

在有编码且选中了一个未固定的词时,Control+; 可以固定该候选至当前位置。例如,当 bma 的第一候选词为「编码」时,按下 Control+;,该词出现「📌」标志,表示已经固定到第一位: rime

在有编码且选中了一个已固定的词时,Control+; 可以取消固定该候选。例如,当 xsi 的第一候选词为「现实」且被固定时(这是内置的固顶词),按下 Control+;,该词「📌」标志消失,表示不再被固定到第一位: rime

自由加词 ​

在有编码时,按下 Control+' 之后候选框消失,以任意方式输入想加的词,再按一下 Control+' 即将词加到该编码第一个可用的候选位置上。例如,按下 cctv → Control+' → 输入「中国中央电视台」→ Control+',则「中国中央电视台」添加为 cctv 的第一候选词。 rime 再例如,按下 dna → Control+' → 输入「脱氧核糖核酸」→ Control+',此时 dna 已经有固定的第一候选词为「半」,则「脱氧核糖核酸」添加为 dna 的第二候选词。 rime

前移和后移 ​

在有编码且选中了一个已固定的词时,按 Control+[ 将已经固定的候选前移,Control+] 将已经固定的词后移。如果前移和后移的过程中遇到其他已经固定的词,则会交换位置。例如,这里 fmje 对应「吧」和「邑」两个候选, rime 但「吧」已经有了 fa 编码,所以可以在编码为 fmje 时按 Control+] 把「吧」往后移一位。结果如下: rime

重置 ​

在有编码时,按下 Control+\ 将当前编码上所有的自定义取消。


用户可以使用 snow_jiandao.custom.yaml 定制上述几种操作的快捷键:

yaml
patch:
  translator/fix_key: "Control+semicolon" # 固定和取消固定
  translator/add_key: "Control+apostrophe" # 自由加词
  translator/up_key: "Control+bracketleft" # 前移
  translator/down_key: "Control+bracketright" # 后移
  translator/reset_key: "Control+backslash" # 重置

采用 VitePress 构建