小小输入法是一款可定制的输入法平台,集成永码、86五笔、拼音、郑码、张码、二笔、英文等输入方案于一体,可挂接任意【形码】【音形码】【笔划】等输入法码表(包括大、小键盘数字编码)。具有临英、联想、并击、直通车、云端输入、密码输入等多项功能。Window、Linux和Android系统均适用,windows支持从xp到win11,还自带云端同步功能,可谓是相当强大,个人感觉毫不逊色于国内主流输入法以及RIME、多多等输入法平台。
为方便小小输入法爱好者定制和使用双拼方案,特制作此帮助文档,以下主要以小鹤双拼方案为例讲解在小小输入法中定制双拼规则,进行参数设置等,对于其它双拼用户也具有参考性。由于本人非双拼用户,部分内容参考了小鹤双拼官方文档简介。如在设置和使用中有任何问题,敬请反馈,我再进一步完善!
小小 Q 群:23262261,官方论坛:http://yong.dgod.net/

全拼中有几个音节是没有声母的, 没有声母即零声母:a、an、ai、ao、ang、e、en、ei、er、eng、o、ou
全拼中这几个没有声母的音节可以直接打韵母,双拼则需要把这个零声母实质化,于是就有了零声母方案
单一零声母方案(又称固定零声母方案),如微软双拼方案:固定一个字母做零声母 + 韵母所在键
三分零声母方案(又称非固定零声母方案),如加加双拼方案:韵母首字母为零声母 + 韵母所在键
小鹤双拼或自然双拼方案:唯一区别就是双字母音节保持全拼方式不变,如 ai en ou er,一、三字母音节为:首字母+韵母所在键,如:e e(e)、a h(ang)
首先,初步了解下在双拼中是如何对应按键的,“双拼”顾名思义就是用 2 个按键来表示整个拼音,具体实现方法是将多个字母的拼音转化为用 26 个单英文字母来表示
b p m f d t n l g k h j q x zh ch sh r z c s y w 其中 zh ch sh 分别用 v i u 代替,其余不变
单韵母 6 个:a o e i u ü
其中 a o e 作单音节声母时用 aa oo ee 不表示,作韵母时不变。i u ü 只能作韵母,分别用 i u v 表示
复韵母 9 个:ai ei ui ao ou iu ie üe er
分别对应:d w v c z q p t er(零声母)
前鼻韵 5 个:an en in un ün
分别对应:j f b y y
后鼻韵 4 个:ang eng ing ong
分别对应:a h e g k s
zhi chi shi ri zi ci si yi wu yu ye yue yuan yin yun ying
分别对应:vi ii ui ri zi ci si yi wu yu ye yt yr yb yy yk
介母 3 个:i u ü,其中 ü 与 n、l 在一起时使用时应写作 nü、lü,与 j、q、x、y 在一起使用时应写作 ju、qu、xu、yu 1
非韵母音节有 10 个:uan ve(üe) uo iong uai uang ia ua iao ian,小鹤双拼中对应按键如下:
uan-> r ve(üe)-> t uo-> o iong-> s uai-> k uang-> l ia-> x ua-> x iao-> n ian-> m
以上 2 种音节不同双拼方案对应的按键可能不同,均需要定制相应双拼规则文件,才能实现双拼的正确挂载
看了以上双拼规则的简单介绍,应该就明白双拼是怎么回事了。下面将重点讲解如何在拼音中定制双拼规则挂接双拼方案(小鹤双拼、微软双拼等)。
要在小小输入法中挂载双拼,必须要有双拼规则文件,该文件后缀为 .sp,文件名可自定义,例如 hepy.sp。文件编码格式为 GB18030(或者 GB2312、GBK),最好不要使用 UTF-8 编码。由于小小输入法默认就支持自然码,如果只使用自然码双拼,则可以略过本节内容,直接看 第四节 怎么挂载双拼。
如果你的双拼规则和自然码的按键不一致,则需要自行配置双拼规则。
小鹤双拼的零声母音节与自然码相同,故以下按键不需专门定制规则
| 零声母韵音 | 小鹤双拼规则 |
|---|---|
| a | aa |
| ai | ai |
| an | an |
| ang | ah |
| ao | ao |
| e | ee |
| ei | ei |
| er | er |
| eng | eg |
| er | er |
| o | oo |
| ou | ou |
如果是微软双拼,则零声母使用字母 O 字母代替,如:
| 零声母韵音 | 微软双拼规则 |
|---|---|
| a | oa |
| e | oe |
| ai | ol |
| ei | oz |
| ao | ok |
| ou | ob |
| er | or |
| an | oj |
| en | of |
| ang | oh |
| eng | og |
由于微软拼音中,零声母 o 本身与自然码按键相同,故不需再单独设置其规则。
| 序号 | 键位(按键) | 自然码韵音键 | 小鹤双拼韵音键 |
|---|---|---|---|
| 1 | Q | iu | iu |
| 2 | W | ia ua | ei |
| 3 | E | e | e |
| 4 | R | uan | uan |
| 5 | T | ue üe | ue üe |
| 6 | Y | ing uai | un |
| 7 | U | sh u | sh u |
| 8 | I | ch i | ch i |
| 9 | O | o uo | o uo |
| 10 | P | un | ie |
| 11 | A | a | a |
| 12 | S | iong ong | iong ong |
| 13 | D | iang uang | ai |
| 14 | F | en | en |
| 15 | G | eng | eng |
| 16 | H | ang | ang |
| 17 | J | an | an |
| 18 | K | ao | ing uai |
| 19 | L | ai | iang uang |
| 20 | Z | ei | ou |
| 21 | X | ie | ia ua |
| 22 | C | iao | ao |
| 23 | V | zh ui ü | zh ui ü |
| 24 | B | ou | in |
| 25 | N | in | iao |
| 26 | M | ian | ian |
以上,不同于自然码的韵音有 14 个:ai ao ei ia ie in ing iao ou ua un uai uang iang, 故小鹤双拼的 .sp 文件只需对这些不同的韵音键进行处理即可。其它双拼规则请参数上面的方法自行制作。
将以上总结的与自然码不同的韵音键,与不同的声母进行组合,形成一套符合拼音(全拼)规律的双拼规则。手工制作过程可能相对复杂,如果有自动化的工具则会相对简单很多,本人不会哈 😅。
规则说明: 每行一个全拼和双拼相对应,格式为 全拼 【声母+韵音】,如 bai bd。以下为小鹤双拼 .sp 文件规则(纯手工制作)
xxxxxxxxxx1681#小鹤双拼2#制作:by 初一的阳光 202306263#本文件可通过http://yong.dgod.net/edit/sp.html自动生成,但似乎不全面,建议纯手工打造4#更新历史(新版中若未加入以下规则可能会导致候选不出字)5#20221010加入eng 音处理6#20230108加入chua 音处理7#20230226加入biang音处理8#20230311加入rua 音处理9#20230311加入tei 音处理10#零声母处理(默认与自然码一致可不设置)11#ang ah12bai bd13bao bc14bei bw15biang bl16biao bn17bie bp18bin bb19bing bk20cai cd21cao cc22chai id23chao ic24chou iz25chua ix26chuai ik27chuang il28chun iy29cou cz30cun cy31dai dd32dao dc33dei dw34dia dx35diao dn36die dp37ding dk38dou dz39dun dy40eng eg41fei fw42fou fz43gai gd44gao gc45gei gw46gou gz47gua gx48guai gk49guang gl50gun gy51hai hd52hao hc53hei hw54hou hz55hua hx56huai hk57huang hl58hun hy59jia jx60jiang jl61jiao jn62jie jp63jin jb64jing jk65jun jy66kai kd67kao kc68kei kw69kou kz70kua kx71kuai kk72kuang kl73kun ky74lai ld75lao lc76lei lw77lia lx78liang ll79liao ln80lie lp81lin lb82ling lk83lou lz84lun ly85mai md86mao mc87mei mw88miao mn89mie mp90min mb91ming mk92mou mz93nai nd94nao nc95nei nw96niang nl97niao nn98nie np99nin nb100ning nk101#nun ny102nou nz103pai pd104pao pc105pei pw106piao pn107pie pp108pin pb109ping pk110pou pz111qia qx112qiang ql113qiao qn114qie qp115qin qb116qing qk117qun qy118rao rc119rou rz120rua rx121run ry122sai sd123sao sc124shai ud125shao uc126shei uw127shou uz128shua ux129shuai uk130shuang ul131shun uy132sou sz133sun sy134tai td135tao tc136tei tw137tiao tn138tie tp139ting tk140tou tz141tun ty142wai wd143wei ww144xia xx145xiang xl146xiao xn147xie xp148xin xb149xing xk150xun xy151yao yc152yin yb153ying yk154you yz155yun yy156zai zd157zao zc158zei zw159zhai vd160zhao vc161zhei vw162zhou vz163zhua vx164zhuai vk165zhuang vl166zhun vy167zou zz168zun zy注意事项:
1.此文件不能有空行,文件编码应设为 GB2312、GBK 或 GB18030,否则会出现乱码
2.如果根目录和配置文件目录中同时存在多个 sp 文件时会优先使用.yong 目录中的文件
3.第一行的注释为图形设置界面(输入法-> 拼音-> 双拼)的显示名称,若无注释则只显示该文件名

小小输入法的双拼是在拼音(全拼)码表基础上外挂双拼规则来实现的,具体定制方法参考上节内容。本节将介绍如何挂载 .sp 文件,以及如何快速的切换输入法方案。
复制上节中双拼规则代码并保存为 hepy.sp 文件,将其放在小小输入法根目录或用户配置目录中(%APPDATA%\yong 或 .yong),并在 yong.ini 中设置 [pinyin]->sp=hepy(不带.sp后缀)即可启用双拼,也可在图形设置界面选择“输入法-> 拼音-> 双拼”2,从下拉菜单中选择相应双拼方案。若使用自然码双拼则直接设 sp=zrm。
重启/重载输入法即可进行双拼输入。

专项配置文件须知。 为有更良好的双拼使用体验,建议将双拼的一些专有设置保存到 sp.ini 中,如连续间接辅助码、自定义短语的分词库等,相关参数设置和说明请查看 双拼专项配置文件说明。
直通车的使用技巧。 新版输入法中提供了 yong-config.exe --set 程序调用方法,可利用直通车快速在双拼和全拼中切换配置文件。具体方法如下:
xxxxxxxxxx31#在拼音码表或用户词库中设置直通车词条2quanpin $GO([切换全拼],yong-config.exe$_--set$_pinyin$_overlay$_"mb/pinyin.ini"$_--reload)3vu $GO([切换双拼],yong-config.exe$_--set$_pinyin$_overlay$_"mb/sp.ini"$_--reload)若需更精准的切换,可在专项配置文件的分词库(用户词库)中设置切换全拼和双拼的直通车

双拼简单使用说明。 双拼支持用 shift + [a-z] 快速定位编码位置。支持一键简拼功能,即在输入时,按单引号 ' 可切换简拼模式,比如输入jua按 ' 输出“就是啊”。最常用的是使用辅辅码,请看下节。
双拼使用注意事项。 拼音码表中支持自定义短语(非正常拼音编码),但双拼时可能有问题。目前双拼不支持符号如; / .等作为编码,也不完全支持$[]、$|等用法,如直通车 ykh $[圆括号]($|) 不会显示这个候选(需要加一组正常的编码 ykh 圆括号 才显示)。

辅助码的作用是在正常编码之外输入额外编码,以达到筛选候选项减少重码的目的,由 [pinyin]-> assist 参数指定,如 assist=mb/yong.txt 2,表示使用永码的第3码,即形部编码的开始位置。如果要使用其它形码作辅助码,请自行制作相应码表,并在assist参数中指定正确形码开始位置。辅助码分为间接辅助码和直接辅助码。3
间接辅助码。 是在正常输入编码之后先按一个引导键(TAB 键)进入间接辅助码模式,然后再输入辅助码,作一次筛选,减少候选的数量。
直接辅助码。 在正常编码之后直接输入辅助码(多为音形码的形部),比如输入“zici”,候选有“自此、字词”,此时再继续输入 y 如 zici y ,“字词”就会位于首选。识别规则:单字识别汉字形部首码,词语和句子识别末字首码,例如打 vijp f 得到“直接”。4
间接辅助码的使用。 默认按 TAB 键 5 之后第一个按键识别为辅助码,再输入时则为正常后续编码,在设置 [pinyin]->assist_series=1 后为连续间接辅助码,TAB 键之后可连续输入不同按键直到筛选出合适的字。比如打“一个线程”,输入 yigexmig 由于词库中没有这个词,得到的会是“一个县城”,这时可按 TAB 键,然后逐一输入辅助码 a r s t 并选择需要的字即可。
直接辅助码的使用。 双拼支持输入直接辅助码和间接辅助码。比如要打“移除”,只需输入 yiiu e,此时就会将该词筛至首选,或按照间接辅助码的方式输入 yiiu TAB h,也可筛选出来。双拼还支持单字双拼双辅,即正常编码后再连续输入 2 位辅助码,然后按 TAB 键得到相应单字,比如要打“辐”字,可输入 fu it,默认在首选中是其它无用的词,再按 TAB 键就筛出“辐”字。
辅助码的使用问题。 辅助码也不一定都准确或者说智能,例如打“一个线程”,想使用直接辅助码来输入 yigexmig h,却输出的是“一个县程”。因为词库中有“一个县”这个词,输入法不知道你需要的是“一个”还是“一个县”,这时可按切分键将 yige 和 xmigh 进行正确切分就能得到合适的词 6,或者使用间接辅助码来输入,看哪种方式方便就选用哪种。


为设置一些区别于其它方案的参数,如自动造词、简拼、联想、辅助码等,可设置专项配置文件sp.ini。
xxxxxxxxxx871#名称:双拼专项配置文件(附部分问题说明)2[IM]3overlay=libmb.so mb/pinyin.txt4#自动调频,0禁用调频(默认),1快速调频,2比较慢点的调频(逐次上移)5auto_move=26
7[key]8#切分编码长度,用来匹配字词的编码位置(拼音输入法的特定设置),与py_switch_save配合使用9py_switch=LCTRL10#一键到简拼,与[pinyin]->simple=1配合使用(该设置已弃用)11#简拼功能:按单引号切换正常/简拼模式,仅挂载双拼时使用,目前已规定为单引号'键,不能再更改12#比如输入wm,为非正常双拼编码自动进入简拼模式,输入jua按'输出“就是啊”,再按单引号来回切换13#py_simple='14
15[pinyin]16#切换方案时显示此名称,注意在手机中无效,原因是在没加载输入方案时不会额外加载配置文件17name=双拼18#设置拼音输入法语料库,简拼会检索语料库(旧版仅在[pinyin]下有效,20240121之后随意设置)19predict=mb/pypre.bin20#设置简拼功能(使用双拼时支持按'号键来回切换正常与简拼),0或不设置禁用(默认),1启用21#注1:启用后输入wm输出“我们”(与语料库有关),不启用则出“我吗”(类似单字一简合并出词)22#注2:旧版只在[pinyin]下有效,其它[xxxx]无效,简拼时优先显示用户词库内容(20221108)23simple=124#指定分词库(最多10个),可以是目录或文件(指定路径的话,用\\代替一个\,或者用/代替\)25dicts=mb/pinyin/pinyinkz.txt mb/pinyin/sogou26#固顶词库,格式同用户词库,一个编码对应一个候选,编码最长度为8,20230503取消的限制27pin=mb/pinyin/top.txt28#切分编码保存设置,即调整编码长度时否添加到户词库中(拼音特定参数),0不保存,1保存29py_switch_save=130#使用句尾直接辅助码选字时保存到用户词库(20230611挂载双拼时有效),默认0不保存,1保存31py_assist_save=032#辅助码设置,格式为“码表+空格+辅助码开始的位置”,辅助码位置从0起算,如2表示编码中第三位33#注1:旧版仅在主码表中设置才有效,20221112支持在配置文件中设置[xxxx]->assist 辅码表34#注2:全拼只支持1位间接辅助码,双拼支持间接辅助、句末直接辅助和单字双拼双辅(需按TAB键)35#注3:不设置时默认以自然码作辅助码,以下小鹤音形编码从第3位起作辅码,码表须GB18030编码36assist=mb/flypydz.txt 237#连续间接辅助码设置,0或不设置为非连续间接辅助码(默认),1连续38#设0时TAB键后第一个按键识别为辅助码,再输入就是正常后续编码打字39#设1时TAB键后均识别为辅助码,不再识别为编码,直到筛选出合适的字40assist_series=141#自动造词,只对普通码表输入法有效,对拼音无效(拼音是通过切分编码后自动保存到用户词库)42#20230617新增auto_phrase=0,0,1,手机版勾选“加载联系人”并在输入联系人后保存到用户词库43#auto_phrase=0,0,144#挂接双拼方案,自然码及其辅码sp=zrm,其它需自行设置规则文件(参考.sp文件)45#注1:不设置或值为空时默认为全拼。双拼支持用shift+[a..z]快速定位编码位置46#注2:双拼不支持符号(如;/.等)作为编码,$[]、$|等用法也不支持(或有问题)47sp=hepy48#高级编码展开提示,具体用法详见官方帮助说明(旧版在[IM]下设置,新版在此配置)49key_desc=mb/sp.dsc50#------------------------------联想功能的设置------------------------------51#联想功能设置,0禁用,1-n开启(大于等于1个字或n个字时才联想,包括“输入+联想”的字词在内)52assoc_len=153#开始联想的输入字数,当输入的字数大于等于该数值时才开始联想,如3表示输入3个字及以上才联想54assoc_begin=155#已上屏字词与联想前缀的字数限定,即在输入字数范围内去匹配可用的联想前缀(拼音输入法无效)56#以下4表示只匹配4字内的联想前缀,若在联想词库中有大于4个字的前缀词就算正确输入也不会联想57#assoc_hungry=458#联想历史记录(需重启输入法),设置联想记录多少句1-65535(在设置assoc_hungry之后无效)59#注:不要设置太大,可能会影响出字速度60#assoc_history=10061#循环联想模式,0不开启(输入并上屏后只根据规则联想一次),1联想词上屏后继续进行循环联想62assoc_loop=163#联想词组的自动调频,0禁用,1启用,仅与assoc_dict配合使用时才有效,且不会保存到用户词库64assoc_move=165#是否保存联想调频后的结果,启用assoc_move时才有效,根据用户选择调序联想词(直到重启系统)66assoc_save=167#利用联想结果对后续输入进行顺序调整20220811,0禁用,1部分匹配,2完全匹配(20230401)68#注1:形码支持联想词库自定义编码,该编码仅在后续输入没有匹配的联想词的正常编码时才有效69#注2:此设置对拼音(双拼)无效,即assoc_adjust和assoc_adjust_add均应设置为070assoc_adjust=071#联想词库编码检索(20220926)72#0不检索(不允许联想时输入编码),1-n在第n个编码时检索,-1全码匹配时检索73#注:设置为1-n时,若此处设置大于联想词条的自定义编码长度也会在全码时检索74assoc_adjust_add=075#联想窗口自动隐藏时间设置(毫秒),联想编码在此时间内输入才有效76assoc_hide=150077#自定义联想词库,默认在码表中联想,若要更好的联想功能需自己设置联想词库(详见assoc.txt)78#注1:20220918允许在联想词库中加入编码,仅在assoc_adjust=1时有效79#注2:最好不要设置为dict.txt,因为这个文件是本地查询的默认文件名80assoc_dict=assoc.txt81#当编码与候选选择键冲突时优先进行选词还是编码(20241005),0优先编码(默认),1优先选词82#注:一般用于数字键参与编码时冲突处理,设置为2表示除了标点(;',./)外都优先选择联想的候选83assoc_select=084
85[table]86#万能键设置,优先于码表中的wildcard的设置,使用双拼时最好禁用以下设置,因为v键是编码键87#wildcard=v本教程已传 小小输入论坛 和 B 站专栏,希望更多人认识小小输入法。
修订历史:
20230626 详细说明小小输入法中双拼设置规则及使用说明
20241105 修订文章逻辑更易阅读,修订部分参数使用说明