小小输入法是一款可定制的输入法平台,集成永码、86五笔、拼音、郑码、张码、二笔、英文等输入方案于一体,可挂接任意【形码】【音形码】【笔划】等输入法码表(包括大、小键盘数字编码)。具有临英、联想、并击、直通车、云端输入、密码输入等多项功能。Window、Linux和Android系统均适用,windows支持从xp到win11,还自带云端同步功能,可谓是相当强大,个人感觉毫不逊色于国内主流输入法以及RIME、多多等输入法平台。
官方论坛:http://yong.dgod.net/

双拼是一种与现代汉语拼音方案几乎同时提出的一种拉丁化拼音文字方案,双拼方案在编码上不像全拼那样有长有短,而一律双码,即每个汉字的拼音都固定用两个字母表示。双拼方案的双码形式比较简短,符合韵律,可以快速输入。因此,越来越受到广大用户的青睐。“自然双拼方案”是简便快捷的压缩拼音,即声母 zh、ch、sh 分别定义在 V I U 键上,然后将多个拼音字母组成的韵母压缩在一个键上,使得每个汉字的拼音都简化成了两个字母。自然双拼能与标准全拼和简拼最大程度兼容,是目前应用较多的双拼。此外,较为流行的还有微软双拼、小鹤双拼(双拼+形)等方案。
本文所讲的“挂接双拼”并非真正的双拼码表,而是在全拼的基础上加上了一个转双拼的规则,默认使用的还是一般的拼音码表,只是在输入时使用双拼的按键而已。为方便小小输入法爱好者定制和使用双拼方案,特制作此帮助文档,以下主要以小鹤双拼方案为例讲解如何在小小输入法中定制双拼规则,以及详细解读有关参数设置,对于其它双拼用户也具有参考性。如在设置和使用中有任何问题,敬请反馈,我再进一步完善!
本教程适合对小小输入法有一定基础的用户学习使用,由于本人非双拼用户,部分内容参考了小鹤官方文档简介。
如果对于双拼零声母按键比较熟悉,可以略过以下内容
汉字中有些拼音是没有声母的, 没有声母即零声母:a、e、o、ai、ei、ao、ou、an、en、er、ang、eng
全拼中这几个没有声母的音节可以直接打韵母,双拼则需要把这个零声母实质化,于是就有了零声母方案。一是固定式,二是非固定式。
单一零声母方案(又称固定零声母方案),如微软双拼方案:固定一个字母做零声母 + 韵母所在键
三分零声母方案(又称非固定零声母方案),如自然码方案:韵母首字母为零声母 + 韵母所在键
这里主要探讨非固定式方案(后文中有两种方案编码对比):
对于单韵母汉字,如“啊、哦、鹅”,按键编码表示为“aa、oo、ee”;
对于两个字符的复韵母拼音汉字如“爱、诶、澳、欧、安、恩、儿、呒”,采用直接使用韵母编码“ai、ei、ao、ou、an、en、er、em”
对于三个字符的复韵母拼音汉字如“ang、eng”,其双拼编码为拼音的第一个字母加上该韵母压缩的键位,分别压缩为“ah eg”。
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 分别对应:ah eg 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
对于不同的双拼方案,以上音节对应的按键可能不同,均需要定制相应双拼规则文件才能实现双拼挂载
看了以上双拼规则的简单介绍,应该就明白双拼是怎么回事了。下面将重点讲解如何在拼音中定制双拼规则挂接双拼方案(小鹤双拼、微软双拼等)。
要在小小输入法中挂载双拼,必须要有双拼规则文件,该文件后缀为 .sp,文件名可自定义,例如 hepy.sp。文件编码格式为 GB18030(或者 GB2312、GBK),最好不要使用 UTF-8 编码。由于小小输入法默认就支持自然码,如果只使用自然码双拼,则可以略过本节内容,直接看 第四节 怎么挂载双拼。
如果你的双拼规则和自然码的按键不一致(主要是零声母处理方式及韵母按键位),则需要自行配置双拼规则。
如果是微软双拼,则零声母使用字母 O 代替,而小鹤双拼的零声母音节与自然码相同不需专门定制规则

由于微软拼音中,零声母 o 本身与自然码按键相同,故也不需再单独设置其规则。

以上,不同于自然码的韵音有 14 个:ai ao ei ia ie in ing iao ou ua un uai uang iang, 故小鹤双拼的 .sp 文件只需对这些不同的韵音键进行处理即可。其它双拼规则请参照上面的方法自行制作。
将以上总结的与自然码不同的韵音键,与不同的声母进行组合,形成一套符合拼音(全拼)规律的双拼规则。手工制作过程可能相对复杂,如果有自动化的工具则会相对简单很多,本人不会哈 😅。
规则说明: 每行一个全拼和双拼相对应,格式为:全拼 双拼规则,如 bai bd。以下为小鹤双拼 .sp 文件规则(纯手工制作)
#小鹤双拼
#制作:by 初一的阳光 20230626
#本文件可通过http://yong.dgod.net/edit/sp.html自动生成,但似乎不全面,建议纯手工打造
#更新历史(新版中若未加入以下规则可能会导致候选不出字)
#20221010加入eng 音处理
#20230108加入chua 音处理
#20230226加入biang音处理
#20230311加入rua 音处理
#20230311加入tei 音处理
#零声母处理(与自然码一致可不设置)
#ang ah
#不同于自然码的音节处理
bai bd
bao bc
bei bw
biang bl
biao bn
bie bp
bin bb
bing bk
cai cd
cao cc
chai id
chao ic
chou iz
chua ix
chuai ik
chuang il
chun iy
cou cz
cun cy
dai dd
dao dc
dei dw
dia dx
diao dn
die dp
ding dk
dou dz
dun dy
eng eg
fei fw
fou fz
gai gd
gao gc
gei gw
gou gz
gua gx
guai gk
guang gl
gun gy
hai hd
hao hc
hei hw
hou hz
hua hx
huai hk
huang hl
hun hy
jia jx
jiang jl
jiao jn
jie jp
jin jb
jing jk
jun jy
kai kd
kao kc
kei kw
kou kz
kua kx
kuai kk
kuang kl
kun ky
lai ld
lao lc
lei lw
lia lx
liang ll
liao ln
lie lp
lin lb
ling lk
lou lz
lun ly
mai md
mao mc
mei mw
miao mn
mie mp
min mb
ming mk
mou mz
nai nd
nao nc
nei nw
niang nl
niao nn
nie np
nin nb
ning nk
#新版需加入此音
nun ny
nou nz
pai pd
pao pc
pei pw
piao pn
pie pp
pin pb
ping pk
pou pz
qia qx
qiang ql
qiao qn
qie qp
qin qb
qing qk
qun qy
rao rc
rou rz
rua rx
run ry
sai sd
sao sc
shai ud
shao uc
shei uw
shou uz
shua ux
shuai uk
shuang ul
shun uy
sou sz
sun sy
tai td
tao tc
tei tw
tiao tn
tie tp
ting tk
tou tz
tun ty
wai wd
wei ww
xia xx
xiang xl
xiao xn
xie xp
xin xb
xing xk
xun xy
yao yc
yin yb
ying yk
you yz
yun yy
zai zd
zao zc
zei zw
zhai vd
zhao vc
zhei vw
zhou vz
zhua vx
zhuai vk
zhuang vl
zhun vy
zou zz
zun zy 注意事项:
此文件不能有空行,文件编码应设为 GB2312、GBK 或 GB18030,否则会出现乱码
如果在输入法根目录和配置文件目录中同时存在多个 sp 文件时会优先使用 .yong 目录中的文件
第一行的注释为图形设置界面(输入法-> 拼音-> 双拼)的显示名称,若无注释则只显示该文件名

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

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

直通车快速切换配置
双拼简单使用说明。双拼支持用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]之后连续2个按键识别为辅助码,再输入时则为正常后续编码,在设置[pinyin]->assist_series=1后为连续间接辅助码,TAB键之后可连续输入不同按键直到筛选出合适的字(新版中已失效,改为2位辅助码)。比如打“一个线程”,输入yigexmig由于词库中没有这个词,得到的会是“一个县城”,这时可按TAB键,然后逐一输入每个字的辅助码a r s t并选择需要的字即可。
直接辅助码的使用。双拼支持输入直接辅助码和间接辅助码。比如要打“移除”,只需输入yiiue,此时就会将该词筛至首选,或按照间接辅助码的方式输入yiiu【TAB】h,也可筛选出来。双拼还支持单字双拼双辅,即正常编码后再连续输入2位辅助码,然后按TAB键得到相应单字,比如要打“辐”字,可输入fuit【TAB】,当按下 TAB 键时就精准的筛出“辐”字了。
辅助码的使用问题。辅助码也不一定都准确或者说智能的,例如打“一个线程”,想使用直接辅助码来输入yigexmigh,却输出的是“一个县程”。因为词库中有“一个县”这个词,输入法不知道你需要的是“一个”还是“一个县”,这时可按切分键将yige和xmigh进行正确切分就能得到合适的词[^注6],或者使用间接辅助码来输入,看哪种方式方便就选用哪种。


为设置一些区别于其它方案的参数,如自动造词、简拼、联想、辅助码等,可设置专项配置文件 sp.ini。
#名称:双拼专项配置文件(附部分问题说明)
[IM]
overlay=libmb.so mb/pinyin.txt
#拼音选字造词、切分造词及保存用户词库,0禁止自动造词和保存,1启用(默认)
#注:仅拼音输入法使用此参数,禁用后py_switch_save的设置不再生效
#auto_add=0
#自动调频,0禁用调频(默认),1快速调频,2比较慢点的调频(逐次上移)
auto_move=2
#自动调频保存设置,如发生3次调频后保存一次(目前已不起作用)
#auto_save=3
[input]
#在此更换皮肤不起作用
#skin=skin/Pithiness 0
[key]
#重定义二三选重键(双拼时'号被强制为简拼切换功能,若此时'指定为选重键则会影响简拼效果)
#select=/ RSHIFT
#切分编码长度(拼音输入法的特定设置),用来匹配字词的编码位置,配合py_switch_save使用
py_switch=CTRL_'
#一键到简拼(该设置已弃用,已强制'键进行简拼切换),与[pinyin]->simple=1配合使用
#注:简拼仅双拼时有效,按单引号切换正常/简拼模式,比如输入jua,再按'输出“就是啊”
#py_simple='
[shuangpin]
#要想实现全拼和双拼切换,最好的方式是使用直通车,方法略
#切换方案时显示此名称,注意在手机中无效,原因是在没加载输入方案时不会额外加载配置文件
name=双拼
#设置拼音输入法语料库,简拼会检索语料库(旧版仅在[pinyin]下有效,20240121之后随意设置)
predict=mb/pypre.bin
#设置简拼功能(使用双拼时支持按'号键来回切换正常与简拼),0或不设置禁用(默认),1启用
#注1:启用后输入wm输出“我们”(与语料库有关),不启用则出“我吗”(类似单字一简合并出词)
#注2:旧版只在[pinyin]下有效,其它[xxxx]无效,简拼时优先显示用户词库内容(20221108)
simple=1
#指定分词库(最多10个),可以是目录或文件(指定路径的话,用\\代替一个\,或者用/代替\)
#注:20250621支持加载搜狗细胞词库,例如直接将xx.scel文件放入以下sogou目录中即可使用
dicts=mb/pinyin/pinyinkz.txt mb/pinyin/sogou
#固顶词库,格式同用户词库,一个编码对应一个候选,编码最长度为8,20230503取消的限制
pin=mb/pinyin/top.txt
#切分编码保存设置,即调整编码长度时否添加到户词库中(拼音特定参数),0不保存,1保存
py_switch_save=1
#使用句尾直接辅助码选字时保存到用户词库(20230611挂载双拼时有效),默认0不保存,1保存
py_assist_save=0
#辅助码设置,格式为“码表+空格+辅助码开始的位置”,辅助码位置从0起算,如2表示编码中第三位
#注1:旧版仅在主码表中设置才有效,20221112支持在配置文件中设置[xxxx]->assist设置辅码表
#注2:全拼只支持1位间接辅助码,双拼支持间接辅助、句末直接辅助和单字双拼双辅(需按TAB键)
#注3:不设置时默认以自然码作辅助码,以下小鹤音形编码从第3位起作辅码,码表须GB18030编码
assist=mb/flypydz.txt 2
#连续间接辅助码设置,0或不设置为非连续间接辅助码(默认),1连续
#设0时TAB键后第一个按键识别为辅助码,再输入就是正常后续编码打字
#设1时TAB键后均识别为辅助码,不再识别为编码,直到筛选出合适的字
#20251227后改为使用2位间接辅助码此功能已失效,此处保留以便参考
assist_series=1
#自动造词,只对普通码表输入法有效,对拼音无效(拼音是通过切分编码后自动保存到用户词库)
#20230617新增auto_phrase=0,0,1,手机版勾选“加载联系人”并在输入联系人后保存到用户词库
#auto_phrase=0,0,1
#挂接双拼方案,自然码及其辅码sp=zrm,其它需自行设置规则文件(参考.sp文件)
#注1:不设置或值为空时默认为全拼。双拼支持用shift+[a..z]快速定位编码位置
#注2:双拼不支持符号(如;/.等)作为编码,$[]、$|等用法也不支持(或有问题)
sp=hepy
#高级编码展开提示,具体用法详见官方帮助说明(旧版在[IM]下设置,新版在此配置)
key_desc=mb/sp.dsc
#------------------------------联想功能的设置------------------------------
#联想功能设置,0禁用,1-n开启(大于等于1个字或n个字时才联想,包括“输入+联想”的字词在内)
assoc_len=1
#开始联想的输入字数,当输入字数大于等于该数值时才开始联想,如3表示输入3个字及以上才联想
assoc_begin=1
#已上屏字词与联想前缀的字数限定,即在输入字数范围内去匹配可用的联想前缀(拼音输入法无效)
#例如4表示只匹配4字内的联想前缀,若在联想词库中有大于4个字的前缀词就算正确输入也不会联想
#assoc_hungry=4
#联想历史记录(需重启输入法),设置联想记录多少句1-65535(在设置assoc_hungry之后无效)
#注:history使用过程中会写硬盘,可能会被杀毒软件拦截,也不要设置太大,会影响出字速度
#assoc_history=100
#循环联想模式,0不开启(输入并上屏后只根据规则联想一次),1联想词上屏后继续进行循环联想
assoc_loop=1
#联想词组的自动调频,0禁用,1启用,仅与assoc_dict配合使用时才有效,且不会保存到用户词库
assoc_move=1
#保存联想调频结果,根据选择调整联想词序并写入联想词库(重载时写入),需先启用assoc_move
assoc_save=0
#利用联想结果对后续输入进行顺序调整20220811,0禁用,1部分匹配,2完全匹配(20230401)
#注1:形码支持联想词库自定义编码,该编码仅在后续输入没有匹配的联想词的正常编码时才有效
#注2:此设置对拼音(双拼)类码表无效,故assoc_adjust和assoc_adjust_add均应设置为0
assoc_adjust=0
#联想词库编码检索(20220926)
#0不检索(不允许联想时输入编码),1-n在第n个编码时检索,-1全码匹配时检索
#注:设置为1-n时,若此处设置大于联想词条的自定义编码长度也会在全码时检索
assoc_adjust_add=0
#联想窗口自动隐藏时间设置(毫秒),联想编码在此时间内输入才有效
assoc_hide=1500
#自定义联想词库,默认在码表中联想,若要更好的联想功能需自己设置联想词库(详见assoc.txt)
#注1:20220918允许在联想词库中加入编码,仅在assoc_adjust=1时有效
#注2:最好不要设置为dict.txt,因为这个文件是本地查询的默认文件名
assoc_dict=assoc.txt
#当编码与候选选择键冲突时优先进行选词还是编码(20241005),0优先编码(默认),1优先选词
#注:一般用于数字键参与编码时冲突处理,设置为2表示除了标点(;',./)外都优先选择联想的候选
assoc_select=0 教程结束
如在设置和使用有任何问题,敬请反馈,我再进一步完善!
修订历史:
20230626 详细说明小小输入法中双拼设置规则及使用说明
20241105 修订文章逻辑更易阅读,修订部分参数使用说明
20260417 完善小鹤双拼规则文件,再次修订使用说明内容
[^注1]:yu是整体认读音节。
[^注2]:图形设置界面默认使用mb/sp.ini文件。
[^注3]:全拼只支持间接辅助码,双拼两种都支持且还支持单字双拼双辅。
[^注4]:直接辅助码的好处是比间接辅助码少按TAB键,坏处是容易把正常编码和辅助码混。
[^注5]:间接码引导键默认是TAB,故其它按键定义时请勿与其冲突,比如切分按键[key]->py_switch等。
[^注6]:切分编码后,编码igh不会将h作为辅助码,因为igh可能会组成“成和”一词。