深加思考@IT·互联网程序员

QWERTY vs DVORAK

2016-06-29  本文已影响284人  深加思考

目前,世界上最快的英文打字速度是在Dvorak键盘上创造的。根据《吉尼斯世界记录大全》,Barbara Blackburn是目前世界上最快的打字员。2005年,她在Dvorak键盘上连续打字50分钟,平均每分钟150个词,峰值速度为每分钟212个单词。

QWERTY布局

这大概是地球上使用最普遍的键盘布局了,你身边能找到的每一块键盘,基本上都采用了这个布局。相信本文的读者中有99.9%以上都正在使用QWERTY布局,然而有没有人想过为什么布局成这样呢?

据说在打字机刚刚发明出来时,键盘布局都是按字母表的顺序布局的。然而由于当时的打字机全部采用机械结构,某些常用字母组合(如ab、no、st等)的键位过于接近,在输入速度提升时非常容易卡住。

为了解决这个问题,打字机之父Christopher Latham Sholes在1868年发明了QWERTY布局,将这些常用的字母组合拆分,这样一来卡键的情况就大大减少了。

可惜的是,Sholes在设计布局的时候并没有考虑效率问题。实际上QWERTY布局的效率不仅不高,甚至可以说很差。下面是对apache2的license.txt(36k)进行分析得出的热区图:

我们使用键盘时最舒服的姿势,就是手指放在中排asdfjkl;这八个键上。然而QWERTY布局中的高频键基本都不在手指的默认摆放处,特别是使用频率最高的e键。统计数字表明,在使用QWERTY布局时,只有30%的击键发生在默认区所在的中间行。

这样一来在输入文字时,手指必须频繁离开舒适的默认区,进行位移后按下要输入的键,再返回默认区为接下来的输入做准备。长此以往,会产生大量的无效移动,使我们的手指更快地进入疲劳状态。

除此之外,左右手的分工也不均衡,明显可以看出左手的负担比右手要高出许多。统计数字表明,在使用QWERTY布局时,左手负责了57%的击键任务。由于左手承担了大多数常用字母的输入,经常出现要左手连击的情况,容易出现输入错误。

最后,常用的标点符号都只能使用右手的中指、无名指和小拇指进行输入,而力量最弱的小拇指则承担了最多的任务。在手腕固定的前提下,输入标点符号时需要将手指弯曲起来收回,姿势相当别扭。

DVORAK布局

随着技术的进步,卡键不再成为困扰人们的问题,但是QWERTY布局已经成为了事实上的标准。到了1936年,终于有人无法忍受这种布局的低效,August Dvorak设计出了下面的DVORAK布局:

在这个布局中,这五个最常用的元音字母aoeui被放到左手的默认区,而最常用的辅音字母则被放到右手的默认区。统计数字表明,

在使用DVORAK布局时,67%的击键发生在默认区所在的中间行。

这样的设计使大量的常用词只需要在默认区击键便可完成,手指的无效移动大大减少。作为例子,你可以对比一下在输入英文中使用频率最高的词the时,两种布局下手指移动情况的区别。

可以通过下面的热区图来更直观地感受DVORAK布局的设计:

统计数字表明,在使用DVORAK布局时左手和右手的分配分别为49%和51%,左右手得到了充分的平衡。

通过巧妙的安排,大量常用的字母组合如th、gh、ou等可以非常顺手地键入。你可以对比一下在输入thought这个单词时,两种布局下手指移动的区别。

此外,常用的标点符号被安排在左上角,这样一来输入标点时手指不是弯曲而是伸展,舒适度得到了大大的提升。作为程序员,我认为这一点简直是天壤之别。对比一下在这两种布局下输入->的舒适程度,你就会认同我的说法。

当然,有利必有弊。DVORAK布局也有一些缺点:

上手有难度,因为几乎所有的键位都不一样;
高频键r和i的位置仍不理想;
习惯之后再使用QWERTY布局,需要一点时间才能恢复盲打能力;
对五笔、双拼等针对QWERTY布局等设计的输入法支持不理想;
当别人使用你的电脑时,需要切换回QWERTY布局。

后话

直到2010年接触DVORAK布局为止,我都在使用QWERTY布局,最高CPM450。不过在长时间键入后,手指会很容易疲劳,必须休息一段时间才能继续工作。

在2010年底接触DVORAK布局后,我用一个月的时间适应便超过了原布局的键入速度,最高CPM达到了535。除了输入速度更进一步外,输入舒适度也大大提升了,连续N小时CODING手指毫无压力。

使用DVORAK布局是孤独的,以至于在2013年我决定从全拼换成双拼时,国内竟没有一套可用的方案。后来我只能给自己开发输入法,最终在鼠须管平台下做出了zDvorak双拼,后来还通过加入了形码做到了盲打。容我随后再写一篇文章来详细介绍它。

我可以负责任的说,DVORAK是最适合程序员的布局,没有之一。虽然vim的快捷键需要重新适应,输入ls命令也比较别扭(可以使用我的aoeu.sh来解决)。

此外我还尝试过COLEMAK布局,这是一种高频键分布更完美的方案,但是没有对常见字母组合和标点符号进行优化。在坚持了几天后,无法忍受在别扭的符号输入下进行coding,只能选择放弃。在此向不是程序员的朋友推荐COLEMAK,绝对甩QWERTY几条街。

关爱自己的双手,选择一个更好的布局。虽然上手初期会困难重重,但是数年后你的手指会告诉你,那都是值得的。

上一篇下一篇

猜你喜欢

热点阅读