Dvorak布局下一种比较理想的双拼方案

我从2011年开始使用Dvorak键盘布局至今,十分享受它给英文输入尤其是敲代码带来的便利。

从2013年9月开始我开始想在Dvorak布局下使用双拼,为此我尝试了网上能找到的各种方案,但大多数方案都是为Qwerty布局设计的,在Dvorak布局下完全无法使用。我还尝试了一些Dvorak玩家自己设计的布局(如这里这里这里),但都不甚理想,总有很多输入别扭的拼音组合。

为了找到一种理想的双拼方案,我开始不断调整键位、实验方案、再调整。但往往解决了一个别扭组合,又会造成更多的别扭组合。最终我找到了一个终极方法,那就是刷全拼音表,通过穷举所有拼音组合来检查当前方案是否理想。

经过一个星期的努力,基本方案的框架已经确定。又经过几次微调之后,改良空间越来越小。现在我已连续使用此方案两个多月,感觉十分流畅,于是决定将之公布,与各位Dvorak爱好者分享。

为什么要用双拼?

相比五笔输入法来说,拼音更简单易学,门槛更低。因此大多数人都使用拼音输入法来输入汉字,各个操作系统的默认中文输入法都是拼音。

一般来说,我们所说的拼音输入法是指“全拼”,即输入时需要完整地输入声母和韵母。全拼输入法有两个明显的缺点:

1、汉字有数万个,而拼音组合只有390种(不考虑个别方言中独有的拼音),因此重码率很高。除了小部分高频汉字外,大多数汉字都要多次翻页才能找到。为此部分输入法支持多输入一个形码来降低重码的概率,这个方向不在本文的讨论范围内,就此按下不提。

2、由于部分声母字母较多(如uang、iong等),输入包含这些声母的汉字时需要更多的击键。比如要输入“庄重”两个汉字时需要11次击键(zhuangzhong)。虽然很多输入法中只输入韵母就可匹配(如键入rmb就可以输入“人民币”),但这只对个别词组有用,大多数情况下省略声母只会使重码变得更加严重。

双拼的出现,在很大程度上改善了第二个缺点。

双拼的基本原理

1、固定所有汉字的码长为两个字符,第一个字符为韵母,第二个字符为声母;
2、将由两个字母组成的韵母如 zh ch sh 映射到 a o e u i 五个元音字母上;
3、将由两个或更多字母组成的声母如 uang iong 等映射到辅音字母上;
4、如果拼音中只有声母没有韵母,则在前面加上一个特殊字母(a o e u i 中的一个)。

比如映射 o = zh,g = uang,h = ang,则输入“庄重”只需要4次击键(ogoh)。

双拼的优缺点分析

通过对全拼音表的统计可知,长度为1~6个字符的拼音组合分别有2、79、160、121、24、3种。分布情况如下图:

在不考虑各组合的出现频率的前提下,通过计算可得输入一个汉字所需平均击键次数为3.23次。双拼通过固定码长可使这个数字恒定为2,即减少了39%的击键。

有利必有弊,在大大减少击键次数的同时,双拼也有一些副作用:

1、由于码长固定,输入词组时就不能再省略声母了,必须键入完整的拼音。(用rmb来输入“人民币”的日子一去不复返了。不过这种组合实在少得可怜,几乎可以忽略。)

2、只由声母构成的拼音输入几乎完全改变,需要较长的时间来适应。(如本方案中输入“爱”的编码是uj……这还是拼音吗?)

3、右手的负担比左手要略重一些。(大多数声母不再需要输入aoeui,且左手按得很舒服的 ‘ , . 三个键不能参与编码。)

我的双拼方案

俗话说:“丑话说在前头”,请先试试本方案中最难输入的几个组合:律(lv)、修(xf)、乱(lz)、翁(wr)、口(ky)。如果这几个组合你还可以接受,那么我保证用了本方案之后你会欲罢不能,呵呵。

查看完整的映射关系请点这里

Windows下使用本方案

推荐使用谷歌拼音输入法,如果你使用的是其他输入法,请按照上面的映射关系自行配置。

安装流程如下:

1、安装谷歌拼音输入法,下载dvorak.gsc.zip并解压缩;
2、进入谷歌拼音输入法的设置窗口,在“拼音模式”中选择“双拼”,点击“自定义方案”;
3、点击“导入”,选择解压得到的dvorak.gsc文件,“方案名称”输入dvorak,保存后即安装成功。

如果你想调整本方案:

1、进入谷歌拼音输入法的设置窗口,在“拼音模式”中选择“双拼”,点击“自定义方案”。
2、在“双拼方案”中选择“[自定义]dvorak”,然后在下面的虚拟键盘布局上选择要修改的键,再在下拉框中选择不同的韵母/声母即可,即时生效。

Mac下使用本方案

推荐使用搜狗拼音输入法,如果你使用的是其他输入法,请按照上面的映射关系自行配置。在目前Mac下的搜狗拼音中尝试了多次,都无法导入第三方双拼方案,于是我采取的方法是直接替换默认双拼方案。如果哪位兄弟导入自己的方案成功了请不吝分享一下操作方法:)

安装流程如下:

1、安装搜狗拼音输入法,下载Sogou.ini.zip并解压缩;
2、在Finder中按Command+Shift+G,输入/Library/Input Methods/SogouInput.app/Contents/Resources/ShuangPinSchemes并进入该目录;
3、用解压得到的Sogou.ini覆盖此处的同名文件(建议先做好备份);
4、打开搜狗拼音的“偏好设置”,在“拼音方案”中选择“双拼”,安装成功。

如果你想调整本方案:

1、在Finder中按Command+Shift+G,输入/Library/Input Methods/SogouInput.app/Contents/Resources/ShuangPinSchemes并进入该目录;
2、编辑Sogou.ini并保存;
3、打开搜狗拼音的“偏好设置”,在“拼音方案”中先选择“全拼”,再选择“双拼”,修改即可生效。

18 thoughts on “Dvorak布局下一种比较理想的双拼方案”

    1. 并不是所有的输入法都可以将 z 映射到 i 上面。之前练习 Dvorak 双拼时,由于 zv ( zui ) 非常不顺手,在百度输入法下面自定义时候,把 z 映射到 i 上面,z 还是原来的 z,当需要输入 zv 时,全部用 iv 替换,效果非常好。由于会使用不同的电脑,所以考虑使用拼音++,发现,拼音++并不和支持声母的映射,即 z 映射到 i 上,同时存在两个 z 的方案,在这里是没法实现的。至于 google 输入法,暂时没有做过尝试。可以参考百度输入法的自定义方案,尝试将 z 映射到 i 。http://blog.sina.com.cn/s/blog_5c1450a8010165ot.html

  1. 个人用小鹤双拼,习惯了就蛮好的。搜狗双拼默认会把分号键算进去,从传统拼音转过去并不舒服。总之双拼还是利大于弊的,分析得很好。

  2. 您好 在了解DVORAK布局以及双拼的方案google到你这篇文章
    有个问题想了解一下
    win10使用DVORAK布局 会影响快捷键的物理位置么?

  3. 打字开始一直用dvorak(qwerty太痛苦,花了一星期练盲打)。qwerty全拼打字还是蛮舒服的,就是Mac下快捷键有时候是默认,有时候是dvorak的。用楼主的方案,好多重码(双拼方案测评和优化这个网站测出来的),楼主怎么解决,一定用形码吗?学习成本好高啊?市场狗不会用rime。麻烦楼主发下新的布局参考,谢谢。

    1. 最新方案见:https://github.com/shenjia/zDvorak/tree/master/ime/rime/build,基于rime。

      搜狗拼音不支持’,.这三个dvorak布局里左手常用的键,所以很难做到左右手负载均衡。

      形码没必要全掌握,大多数时还是用的词组输入,能用部首快速区分常用字就可以了。比如:

      bak 把
      bao 吧
      bah 爸
      ba, 八

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.