双拼输入法介绍

何为双拼输入

双拼,顾名思义是每个音都可以用两个按键打出的拼音方式,用一个字母表示声母,一个字母表示韵母。例如”双“的拼音是”shuang”,用u代表sh,用d代表uang,就可以用ud两个字母拼出shuang,比全拼6个字母节省了4次击键。而2字母的拼音和全拼相同,例如”你“还是用ni来拼。

全拼的原理是26×26字母的排列组合>声母数量×韵母数量的排列组合,用两个字母即可表示出所有的拼音。

我与双拼

我初次接触双拼,是在初中时参加打字比赛,2005年左右,指导老师跟我说智能abc输入法有一种“双打”模式,可以两个字母打一个拼音。我练了一段时间也只练到40字/分钟,马上要参赛了,用智能abc全拼模式练习时最多达到过120+字/分钟,而双打模式只能达到40字/分钟,于是就搁置了。再后来也再也没用过。

当时还尝试过紫光拼音输入法,感觉都不如智能abc用的熟练。很多字的顺序已经记在脑子里了。最终去地市参赛时还是用的智能abc全拼模式,成绩77字/分钟。地市有会五笔输入法的人,记得第一名的成绩是150字/分钟,有点不讲武德。如果都用智能abc我可能就是第一了。
后来搜狗输入法出世,那才是真的智能,智能abc输入法渐渐没落了。再后来直到2023年,我心血来潮,打开了搜狗输入法的双拼功能,发现双拼方案居然有10多种,不知所措。在网上搜寻一番,感觉自然码双拼方案比较好,于是用了几个月。用了几个月之后,又了解到辅助码,于是入了rime(中州韵/鼠须管/小狼毫)的坑。感觉自然码辅助码拆分规则有受限的地方,遇到字形别扭或者右边生僻字很难拆,又接触到小鹤双拼和鹤形。现在自己基于rime搞出了一套双拼+鹤形辅助码的配置,感觉挺适合日常用。

双拼方案对比

自然码、微软、搜狗双拼方案都大同小异,微软、搜狗双拼方案是在自然码的基础上把ing改到了;上。

做微软双拼方案的人错误的认为ve和ue是不同的韵母。

略的拼音是lüè 也就是ve,微软把它单独归为ve 放在了v上。而绝 jue韵母ue放在了t上。

实际上ve ue是同一个韵母。其实这里的u都是ü,牵一发而动全身,微软双拼把ve放到v上的后果就是绿 没法用lv拼了,又把v放在了y上,简直是个睿智。(把v放在了y上的后果是原本y上的ing只能挪到;上)

可以说微软双拼是不是好方案,一个好的方案不会改变原本2个字母的拼音。

比如:lv 就是lv,ai就是ai,an就是an,不应该因为双拼而改变拼写。

只把多于2个字母的拼音优化为2个字母,比如zh uang 优化为v d。

自然码就是这样的。

小鹤双拼方案和自然码双拼方案其实也类似,只有4-5个键位有区别,各有优劣。小鹤双拼有几个卡手的问题,恰=qx,绕=rc等等。但也有一些键位比自然码好打一点,比如ing放在了k上。但总的来说区别不大,小鹤的用户更多的也是在夸“鹤形”。

星空键道的方案和其他方案差异大一点,因为星空键道仅仅用了21个字母来实现双拼,有点极限。于是有了飞键、以k做i等情况。我看过星空键道方案,性能很好,缺点可能是上手更难一点。

辅助码筛选

双拼实际上和全拼一样,都是拼音,所以都存在重码的问题。例如jisu有极速 激素 寄宿等多个同音词,需要筛选。辅助码就是在打完拼音之后,再打1-2个辅助码作为筛选。例如使用鹤形辅助码,打ji suf可以筛选丰字头,就可以把“激素”这个词置顶。

ji sub可以筛选宝盖头,于是就可以把寄宿置顶。

ji suz可以筛选“走之旁”,于是就可以把极速置顶。

自然码的辅助码也有一样的功能,自然码的规则是部首为首码,另一半为次码。鹤形是首形或首笔画作为首码,末形或末笔画作为次码。自然码辅助码的好处是不用学,只要认识部首是什么,以及另一半读什么就能上手,但是有些独体字不好拆分。鹤形辅助码的好处是拆分规则固定,缺点是要学习拆字规则,上手成本高一点。鹤形还有一个缺点是只支持不到一万个简体字。生僻字和繁体字不能用。

星空键道也有类似的功能,不过星空键道是用笔画来筛选。

双拼与并击

普通话天然是单音节,一字一音节。除去零声母,每个音节都由声母和韵母组成。(有的音实际上是零声母但是加了w,例如wu yi;真正的零声母只有a o e ai an ang en)所以双拼天然适合打拼音。但是声母算上y w有23个,韵母有24个。而西文键盘只有26个字母。

如果有一种键盘 左手能控制23个声母,右手能控制24个韵母,那双拼就是无敌的。

我基于这个原则,设计了一个双拼方案,就是把右手上左手没有的键,映射到左手。例如在rime配置文件里,可以配置chord_composer字段如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
chord_composer:
# 字母表,包含用并击按键
# 击键一律以字母表顺序排列
alphabet: "aqzswxdecfrvgtbhynjumki,lo.;p',./"
algebra:
# - "xform/^,$/,/"
# - "xform/^\.$/./"
# 定义左手11键
- xform/^at(?![左右])/y左/
- xform/^ar(?![左右])/u左/
- xform/^ae(?![左右])/i左/
- xform/^aw(?![左右])/o左/
- xform/^qf(?![左右])/p左/
- xform/^as(?![左右])/l左/
- xform/^ad(?![左右])/k左/
- xform/^af(?![左右])/j左/
- xform/^ag(?![左右])/h左/
- xform/^ac(?![左右])/m左/
- xform/^av(?![左右])/n左/

# 定义右手15键
- xform/jp(?![左右])$/q右/
- xform/jo(?![左右])$/w右/
- xform/ji(?![左右])$/e右/
- xform/ul(?![左右])$/r右/
- xform/yl(?![左右])$/t右/
- xform/l;(?![左右])$/s右/
- xform/kl(?![左右])$/d右/
- xform/jk(?![左右])$/f右/
- xform/hl(?![左右])$/g右/
- xform/mk(?![左右])$/z右/
- xform/nk(?![左右])$/x右/
- xform/ml(?![左右])$/c右/
- xform/nl(?![左右])$/v右/
- xform/ni(?![左右])$/b右/
- xform/;(?![左右])$/a右/
# 并击完成后套用式样
output_format:
- "xform/^(.*)左/$1/"
- "xform/^(.*)右$/$1/"
- "xform/^(.*)左(.*)右$/$1$2/"

# 并击过程中套用式样
prompt_format:
# 加方括号
- "xform/^(.*)$/[$1]/"

这样相当于左右手都能控制26个字母。

我可以做到只用左手打字,也可以实现左右手并击,敲一次出一个字。因为我的字母顺序是左手字母在前,这样并击出来的字符就一定是声母在前,并击不会乱序。

例如:

地,本来就是左手声母,只需要并击d和i即可

皮,p在右手需要映射到左手,用qf,所以并击qf就出现p,并击qfi 就出现皮

么,m在右手,e在左手,正好相反。需要并击ac出m 并击ji出e,并击acji出么

我的方案优点是可串击可并击,可正常打字,可用单手。

我只是在正常双拼基础上,加了左右手映射。映射规则基本上就是镜像一下再加个字母,例如yuio镜像到左手分别是trew加上a,p是q加上f

完整rime配置文件见:https://github.com/gaboolic/rime-config/blob/main/double_pinyin_zrm.schema.yaml

常见问题与顾虑

Q:双拼是否会影响英文输入?

A:不会,英文输入和双拼输入是不同的肌肉记忆,二者也无重码。

Q:双拼学习成本高吗?

A:相对于从0开始学五笔或者其他形码,成本不高,只需要记住每个韵母以及zh ch sh的位置。如果每天能打字练习几千字,一周即可达到60字/分钟。我是先练习的自然码双拼,练到80字/分钟了,又切到小鹤双拼,也很快到了80字/分钟。

Q:双拼能否提速?

A:如果之前全拼速度60字/分钟,很容易提速。但我之前用全拼巅峰每秒120字/分钟,每秒8+次击键,比较难。但是打同样多的字可以减少击键次数,减少手指损耗,更省力了。我现在用双拼击键速度每秒不到5次,每分钟速度刚刚突破百字。相当于在速度差不多的情况下,击键次数少了一半。

Q:需不需要学习辅助码?

A:如果能接受相同拼音下很多词组都要筛选,输入单字翻很多页都找不到的问题,可以不学。

Q:使用哪种双拼方案?

A:自然码、小鹤、星空键道。并且它们都有完备的辅助码功能。不建议乱序双拼。用乱序双拼不如直接用星空键道,自带飞键,也不存在卡手问题。但是星空键道学习成本和配置成本都高一些。对于不想折腾的人来说,直接用搜狗/微软/手心输入法开双拼模式选自然码吧,最通用。

相关链接

rime(中州韵/鼠须管/小狼毫)官网 https://rime.im/

自然码+辅助码方案,推荐魔改自然碼 Rime 方案

小鹤+辅助码方案,推荐小鹤双拼+自然快手/小鹤双形辅助码

星空键道方案,官方仓库: 星空键道6 ,基于此的大词库方案星猫键道6

词库比较大的GitHub - iDvel/rime-ice: Rime 配置:雾凇拼音 | 长期维护的简体词库

双拼方案评测 双拼方案评测和优化