我从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、打开搜狗拼音的“偏好设置”,在“拼音方案”中先选择“全拼”,再选择“双拼”,修改即可生效。
请问怎么才能修改默认声母比如我想把i改为声母z这样?
你可以把按键z映射为声母z啊。
并不是所有的输入法都可以将 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
你考虑 Windows 8 以后版本中应用商店应用的兼容性了么? 那个貌似只能用系统输入法。
律(lv)、乱(lz) 不能忍。
我还是用微软双拼吧
搜狗支持Dvorak布局是个好消息。
在我最新的布局里,乱是lj,律是ly,可以忍不?
我最新的布局里,律是ly,乱是lj,可以忍不?
好多了
最新的布局可以发出来看看吗?
支付宝的链接你可以删了,不能用了
多谢提醒,换成微信支付了
在紫光里用这个布局,打da只会出现dia(嗲)而不会出现da,怎么解决?
紫光没有实验过,汗……
个人用小鹤双拼,习惯了就蛮好的。搜狗双拼默认会把分号键算进去,从传统拼音转过去并不舒服。总之双拼还是利大于弊的,分析得很好。
您好 在了解DVORAK布局以及双拼的方案google到你这篇文章
有个问题想了解一下
win10使用DVORAK布局 会影响快捷键的物理位置么?
如果是用系统内置的布局,会。如果是用dll替换,不会。
打字开始一直用dvorak(qwerty太痛苦,花了一星期练盲打)。qwerty全拼打字还是蛮舒服的,就是Mac下快捷键有时候是默认,有时候是dvorak的。用楼主的方案,好多重码(双拼方案测评和优化这个网站测出来的),楼主怎么解决,一定用形码吗?学习成本好高啊?市场狗不会用rime。麻烦楼主发下新的布局参考,谢谢。
最新方案见:https://github.com/shenjia/zDvorak/tree/master/ime/rime/build,基于rime。
搜狗拼音不支持’,.这三个dvorak布局里左手常用的键,所以很难做到左右手负载均衡。
形码没必要全掌握,大多数时还是用的词组输入,能用部首快速区分常用字就可以了。比如:
bak 把
bao 吧
bah 爸
ba, 八
…