美文网首页提高程序员知曰
为什么程序员需要德沃夏克

为什么程序员需要德沃夏克

作者: district10 | 来源:发表于2014-03-04 14:44 被阅读10103次

    这文章年久失修,请到 为什么 Emacs 用户爱德沃夏克 查看最新版本。(讨论还是可以在这里。)


    注:

    第三个布局我已经重新改过,不影响这里的测试,实际上,变得更合理更强大了。Linux 上的安装指导: neo2015
    (Qwerty 用户也可以体验第三 Level)


    参考资料(建议先读这些)


    TOC

    • Several Points from Refs
    • 为什么程序员需要德沃夏克
    • Extended Programmer Dvorak
    • 评测 qwerty,dvp,dvpe
    • How To Get It?

    正文

    Several Points from Refs


    1. 目前,世界上最快的英文打字速度是在 Dvorak 键盘上创造的。但 Dvorak 键盘没有流行起来,世界上最通用的键盘还是 QWERTY 键盘。
    • 学术界对这个事件存在争论。有人认为,这表明市场存在缺陷,由于用户的惰性,无法推广更有效率的技术。但也有人不同意这种说法,认为 Dvorak 有更快的打字速度纯粹是一种神话,没有任何证据可以表明,Dvorak 键盘显著地快于 QWERTY 键盘。

    • 估计某个程序员发现用 dvorak 布局很爽,就将之变得更加极限。于是出来这么一个 Programmer Dvorak Keyboard Layout, 它包括dvorak 键盘的所有缺点, 但优化了程序中常用符号如$ ; ( ) { } [ ] = 等,用来 coding 巨爽

    • Neo 通过加入一个 Level 把 EnterBackspace,方向键等加入到了手指下,再也不用右手小指去摸回车删除了。
      再不用为 Emacs,Vim 蛋疼的方向快捷键忧愁了(方向快捷这个想法显然很好,但是两者实现都略蛋疼,用 neo 这种更底层的方式的优点是显而易见的)

    为什么程序员需要德沃夏克


    1. 编程方便
    2. 手指不疼
    3. 纵小众,也是世界第二大键盘布局群体


      Qwerty-Dvorak.PNG
    4. 有时候我会很累地看人打字手指上下翻飞,他一定觉得自己很熟练。但好的键盘用起来像流水般自然,不需你那样累自己。而我跑机房或者别人电脑上,也没法盲打(如果电脑没网我不能下自己的键盘布局的话),像个白痴,对此我也不想解释太多。用 考拉小巫 的方式就是:你懂什么?!我用 Linux 和 Dvorak 还被 IE 用户评价为杀马特。。。擦,彪悍的人生不需要解释。
    5. 键盘是自己用的,换了布局你打出来的也不是火星文
    6. Neo, 不能更赞。

    Extended Programmer Dvorak


    根据 Dvorak 的几个缺点(相比 qwerty 几乎可以忽略),我定制了优化的 Programmer Dvorak, 美其名曰: Extended Programmer Dvorak
    如图:(dvpe0.2,旧版本)

    octave - qwerty
    octave - dvp
    octive - dvpe

    Jane

    Jane - qwerty
    Jane - dvp
    Jane - dvpe

    Wood

    Wood - qwerty
    Wood - dvp
    Wood - dvpe

    C++

    C++ - qwerty

    c++程序中有太多的符号,导致qwerty简直没法用


    C++ - dvp
    C++ - dvpe

    Python

    Python - qwerty
    Python - dvp
    Python - dvpe
    • 总结
      • qwerty 不论在文学小说、科技类文章,c++、python 代码的输入上,和德沃夏克都不在一个层次;
      • dvpe 效果比 dvp 稍好。

    How To Get It?


    1. For windows Users


    1. 一开始不适应是正常的,
      请暂时忽略指法的不熟悉,
      体会其 rhythm 好在哪儿
      全文(old) jpg: 2.2M

    2. 刚看 Sacha Chua 采访 Xah Lee,Sacha 说 :(NEO!!! Sacha 果然是我女神。2014-05-07

    "it's funny that how the keyboard influences how we work" , "dvorak" blah blah blah, "the third level of the neo layout, apparently is really good for programming. Eh, more layout, eh, and more code. Oh, back to Emacs"(20:10)。


    hunt and peck
    1. 为了更好的输入中文,做了单字输入法:gat。暂时只能在 Emacs 里使用。 2014-04-27

    2. dvpe0.3 发布 (a.k.a. neo-extended dvpe)。 2014-03-18
      也支持 qwerty 和 programmer dvorak 布局 (Level 3 一致)

                                 Neo-extended DVPE
    
    Level 1Level 1
    Level 2Level 2
    Level 3Level 3
    log: $1. 2014-03-04; $2. 2014-03-05, release; $3. 2014-04-14; $4. 2014-04-27, gat; $5. 2014-06-09; $6. 2014-06-10; $7. Sun Jul 20 22:02:33     2014; $6. Sunday, January 04 2015; $7. 2015年 01月 26日 星期一 00:52:46 CST;
    

    相关文章

      网友评论

      • bb111d99d87d:是按住空格键启用level3布局么?我试过,但是没用
      • bb111d99d87d:是dvpe 3.7,打错了,另外再问一下这个键盘布局怎么才能在 Mac OS X 上使用?
        district10:新画了一个示意表格。(之前的那些图都过时了。)
        district10:@Shyn 不是 3.7……“.7z”是压缩文件后缀。不过 0.3 版本我写了 v3 好像是不太对。
        district10:@Shyn 这个𢔶自己定义……OS X 上可以用 Karabiner 来实现,参考:https://github.com/district10/extended-programmer-dvorak/issues/1 不过我只在 Linux 和 Win 上用,还没有用过 OS X。 :sweat_smile:
      • bb111d99d87d:你好,我正在使用你的德沃夏克布局,但是在使用过程中有点小问题,我电脑是win7 32位,用的是win版dvop 3.7
        1,电脑重启后Extended Program Dvork布局消失,在输入法菜单里找不到,增加输入法项里也没有这一项了,只能重新安装才会出现。
        2,我看win版的安装文件名前缀有“neo”字样,win版是否也支持neo,如何使用,我不知道怎么调用 level 3布局,而且 level 1、2布局也与你文章里给的不一样(是不是按住shift就是level2布局?)
        3,能否做几张你的键盘布局的高清大图,我用来做桌面背景
        district10:@Shyn 在 Win 上可以用 AHK 脚本的那个,在这里下载:https://github.com/district10/neo_keyboard_layout/tree/master/neo4win,里面的 spek.exe 是专门提供第三布局的,dvp.exe 是 dvorak,neo.exe 是这两个加起来。如果你想用普通的 dvorak,可以改改那个键盘映射的脚本,然后用 AutoHotKey 的 ahk2exe 转化生成二进制(免安装)。
      • fa93164a0bac:搜Dvořák的音乐突然乱入~! 我有个朋友(高中同学),10年前(当我们还在读高中BDFZ的时候)他就在做关于键盘排列优化的project。 岁月如梭,不知道是缘分还是世界太小。。。 (他现在在CMU搞计算机)
      • district10:@超級薯條人 没太理解你的意思。。。我那个重启后还是会回到 Qwerty(或者自己设置的别的键盘布局),得每次开机运行。
      • 8baea186b7c4:請問要怎樣卸載阿
        因為linux的太難用 我換成programmer dvorak
        但是開始功能表的搜尋卻還在dvpe
      • district10:@挂瓜 还没上班呐
      • 挂瓜:@Gnat 是啊,我也打算买个好桌子,升降那种。可以站着和坐着。方便携带……你带键盘上班?
      • district10:@LostAbaddon 这个。。。 :scream:
      • LostAbaddon:上帝为了避免人类都联合起来,就发明了各种语言,和,德沃夏克布局。
      • 1b15ac4f48ae:前提是脑子要比手快才有意义
      • district10:@挂瓜 MALT 我知道,但必要那么夸张(去别人的 Qwerty 电脑上打字总带着我的装了 Dvorak 的 Poker 2 就已经够秀逗了)。 还有什么脚盘这类,又不方便带,而且很可笑。。。我也不考虑。至于你说的隐患,我的肌肉并不难受。最大的隐患,应该是对眼睛和脊椎造成的伤害。

        Indie Game 里 Braid 的作者站着用 Malt 打字,看上去就不错,手和脊椎的问题都解决了。
      • 挂瓜:@Gnat 我是建议你,按我的测试下。你可以用右手握住左手的上部,也就是靠近肩膀的地方。然后手掌朝上,然后手掌朝下,反复弄,感受你手臂外侧肌肉的变化。然后一步步握住手臂的各个地方,你会感受到有那么几块肌肉,在你手掌向下的时候,是一直紧张的。然后活动活动四个手指头感受下肌肉、肌腱的活动情况。你会明白,平时这么手掌向下,平方的时候,对手臂有多么大的隐患。

        就因为这个问题,所以才有人体工学键盘,把中央抬起,然后尺骨桡骨自然分离这样的键盘。过一段时间,我打算买个试试看。

        其实当初发明德沃夏克键盘的,还有个MALT键盘,你也可以搜索下。他的键盘布局比德沃夏克还合理。但已经不是普通的键盘构造方式了。而且中央凸起。

        你可以看看这个blog的介绍:
        http://blog.sina.com.cn/s/blog_50d6814901014nvl.html
      • 挂瓜:@Gnat 呵呵,但玩游戏也需要一些极限操作,在高手对局里面。我那位朋友,大局观,还有战术什么都蛮好。就是他的三指操作,他就习惯那么弄了。也懒得改了。话说回来,这不就是大众接受qwerty键盘的的心态吗?懒得改而已。呵呵

        我倒不认为,打字快难以接受打字慢,这个不是类似奢入俭这样的很严重的心态问题。主要还是一个需求变化。程序猿写代码毕竟不是打字员、记录员这样的工作,机械的去记录。像我,以前写代码也是全靠输入,我在学校的时候也测试过,在200到250个英文字符一分钟是轻松的事情。

        工作久了发现,输入快了也不是好事,因为有时候会影响思路。就会造成,速写会有写了再删的问题。逐渐工具成熟、架构成熟,写高质量的代码越来越容易,高质量意味着简单有效。

        后面逐渐,还是特别注意防止职业病方面了。不能再因为写代码弄的一身毛病了。有时候一点小细节也会弄的浑身不舒服。
      • district10:@挂瓜 知道知道,有些人打字很响(还不是青轴),我就可以感觉到他用力的方式不对。不过小拇指的痛苦确实是实实在在的(你得按住,而且不是按一下control c 那种,而是 control 加好几个键,所以小拇指确实是负担很重),以前用 Emacs 的时候可以很明显地感觉到这一点。

        因为按住键特别累,有段时间对死键(dead key,sticky shift 之类)很热衷,不过后来不用了。
      • district10:@挂瓜 我 control 变到 CapsLock 。方向键 (Up,Down,Left,Right,Home,End,Next,Prior),编程用的括号 (),[],{},运算符+- 之类,Return,Tab,Delete,Backspace,Escape,都用第三 Level 的方式放到了字母区域。除了Alt 键有点难按之外,其余都很 Okay,(有资金了准备日版 Macbook air,那个空格键比较短,Alt 比较好按)。

        我觉得打游戏和打字完全是两码事。

        打字慢本来也没有什么太大的问题,打的快的比如 100 WPM,比打的慢的比如 20 WPM 其实也就差了 5 倍。但是一旦打快了,你就不能接受打字慢,就跟教老年人用电脑一样,你会觉得他们简直蜗牛,浪费生命。

        https://github.com/alols/xcape
      • 挂瓜:@Gnat 再多说一句。我并不同意你上面提到的手指痛的问题。除非你买了一个垃圾键盘。

        我不知道你现在的年龄。但我今年34了,十几年的编程生涯。我现在才感觉到,不是手腕以及手指难受。一看电视、电影上,那些噼里啪啦打字的所谓的“黑客”,我就感觉很恶心。其实程序猿打字很轻柔,是用最小的力度按下按键。手指的移动距离也是最小幅度的移动。

        其实手指的损伤并不是最难受的。而是肩膀靠下的那块肌肉,也就是肱三头肌。我现在就是时不时的用手按一按肩膀,揉一揉下面的肌肉。连带着,肩膀后面的肌肉也是很不舒服。

        德沃夏克布局真的解决了一部分指头活动的问题,但我用习惯了vim,很不容易改了。后来我想,还是多让手脱离下键盘比较好一点。
      • 挂瓜:@Gnat 我要研究德沃夏克这样的键位,其实并不是为了提高打字速度。

        我的经历让我知道,其实打字速度并没有提高水平,我曾经的一个同事,都不会完全的盲打,而且他左手用三个指头打字,大拇指、食指、中指。有趣的是,他a和s都是拇指在按,右手四个指头,不用小指。尽管是这样,他dota也玩的很好,工作也没有任何问题,代码一样写。

        我更看重的是,不要让我在以后的人生,我的胳膊出现问题。所以我买了很多保护措施。

        如果你感觉功能键的使用频率过高,比如ctrl或者shift,我建议你买一个USB脚踩开关,真的非常好用。手脚并用,解放你的小拇指。

        不知道你ctrl怎么用的,别人用指头,而我是用手掌按的。但shift还要委屈小指,有脚踩就舒服多了。
      • 挂瓜:@Gnat 唉,你怎么还是没听明白呢?我提到的问题不是“顺不顺”,“好用不好用”是没关系的。而是一个使用频率过高,造成的肌肉负担的问题。而程序猿,恰恰两个键的频率最高,一个是o一个是s,而这两个按键都在无名指上。如果经过长期锻炼,肌腱拉开,也是会和其他指头一样灵活。

        我练习吉他,平时都有作延展训练,无名指小指都特别灵活,而且弹吉他无名指、小指使用频率还蛮高。但弹吉他就感不到肩膀难受,因为弹吉他的时候,姿势是可以调控的。但我们使用键盘,是一个固定姿势。

        你或许会问,弹钢琴这样的乐器是不是也会出现问题,我会告诉你不会,因为钢琴会让手臂左右移动,控制手腕的肌肉、肌腱会控制骨头自然活动,而不是处于一个打字那样的固定状态。

        我在下面说得用手指捏手腕的那种测试方法,你可以试一下。试试看肌腱还有肌肉的紧张度。因为人在打字的时候,手臂放的位置,如果手腕放到桌面上,就会造成那块两个骨头交叉的肌肉一直处于悬空状态。如果有手臂托,会好一点,但是还是会有紧张状态。手掌下趴打字,则两块骨头交叉,肌肉和肌腱就会紧张。长时间这个状态,会有损伤。
      • district10:@挂瓜 我的无名指比食指长,我就是觉得无名指用起来很顺啊。。。倒是食指在中间控制那么多的键,却补好用。
      • 挂瓜:@Gnat 但无名指的问题,我下面在回答 @特诺兰的风 我已经提到了。不是好用不好用的问题。我自己平时练乐器,我的无名指比别人都灵活一些,是健康的问题。

        所以,我先把鼠标换成了立式鼠标。发现,右手的手腕甚至胳膊、肩膀都舒服了。只让尺骨和桡骨交叉,就会让肌腱紧张。其实时间久了,你会发现,尺骨桡骨交叉,手腕并不特别难受。是肱三头肌那块,还有肩膀那块会越来越难受。只要少用无名指、小指,或者手腕变成一个放松状态。
      • district10:@挂瓜 我到觉得无名指挺好用。。。。Qwerty 上最痛苦的是 p,q 这两个建。
      • 挂瓜:@Gnat 唉,用VIM最大的问题,就是操作习惯被绑架的非常狠。可以说不管用什么都想用VIM的操作。我也狠狠的研究过德沃夏克键盘的操作。而且国外也有人把一些快捷键弄到原有模式,但还是不习惯啊。不仅仅是hjkl这些,还有好多其他的地方。唉…… 看看我现在的键盘,o和i的字已磨没了,特别o,就在一个无名指上。这时最让程序猿头疼的事情了。
      • district10:@挂瓜 Vim还好吧,反正记得都是字母(不像WASD这种,是位置不是字母)。可能就是 hjkl 要重新适应一下。hjkl 变成了 v
        cro,感觉还可以。而且原来 jkl 的位置,变成了按住空格再按他们,会成为 Return,Tab,Escape(respectively),这个超赞~
      • 挂瓜:@特诺兰的风 你自己可以用右手食指按住左手脉搏的地方。然后左手活动无名指,是不是有个肌腱很容易就感受到在抽动?你动食指的时候,你再试试这块肌腱的活动是不是比无名指轻微很多?

        然后你再往下一些,捏住两个骨头交叉的部位然后再上下活动小拇指,是不是你的肌肉在一下下的鼓动?然后你再动食指,是不是这块肌肉一点都不动?

        德沃夏克布局主要目的就是让你多用食指,在中央区域操作。少用小指和无名指。

        这不是够用就好的问题,如果真的是大量使用键盘的,如果能忍一下,修正这个习惯,是对身体有益处的。
      • 挂瓜:@特诺兰的风 唉,不会“过得很好”。足够是足够,但你的身体会因为手指本身的问题会产生一系列的问题。qwerty键盘大规模的操作是小指和无名指操作的,上面Po主也介绍了。

        如果看手臂的手腕部分的解剖图。我们手臂是“趴在”键盘的,手腕的肌腱因为两个骨头交叉的处于紧绷状态的。而且肌腱主要部位就是在手臂外部,所以食指的移动是不会阻碍这块肌腱的紧张和松弛的,但小指和无名指就拉伸这块已经被弄的很紧张的肌腱。使用的时间久了,胳膊外部甚至肩膀都会难受。
      • 挂瓜:作为已经太习惯VIM用户,我是看着这个,却不敢尝试。
      • district10:@特诺兰的风 当然不会影响你代码,只是略有舒适度和效率的差别
      • 特诺兰的夏天:没有它也可以很好,就像是离开了VI之后,我用SB还是过得很好,我觉得程序员需要的仅仅是能写代码的工具,足够。
      • district10:@WUT_T Chrome 浏览器里可以用 Edit With Emacs,日后再弄到 Emacs 之外。我自己都忙得没时间练。。。。
      • 6ac73a98afc2:希望在emacs之外也能使用gat,不然真的不敢练。。

      本文标题:为什么程序员需要德沃夏克

      本文链接:https://www.haomeiwen.com/subject/exxktttx.html