为什么 Emacs 用户爱德沃夏克

(原载于简书,现在搬运到自己的博客上。)

这篇文章讲述了我自己在用的 dvorak(德沃夏克)键盘布局。我从大三以来一直使用它,这也是这个博客,以及我的 id 叫 dvorak4tzx 的主要原因。 Dvorak 和 vim 一样,从设计上,就完全是超前,而且超越其它的。

参考资料

建议先读这些

  1. 什么是德沃夏克: 维基百科, 百度百科
  2. 说说 qwerty、dvorak、colemak 三种键盘布局
  3. Programmer Dvorak Keyboard Layout
  4. About Neo: Neo 官方, Wikipedia: neo
  5. Steve Yegge:编程的肮脏小秘密
  6. 键盘史上的 12 个典范
  7. 原来我们每天都在用的键盘,竟是一个精心谋划的「反人类」设计? - 简书

正文

Several Points from Refs

  1. 目前,世界上最快的英文打字速度是在 Dvorak 键盘上创造的。但 Dvorak 键盘没有流行起来,世界上最通用的键盘还是 QWERTY 键盘。
  2. 学术界对这个事件存在争论。有人认为,这表明市场存在缺陷,由于用户的惰性,无法推广更有效率的技术。但也有人不同意这种说法,认为 Dvorak 有更快的打字速度纯粹是一种神话,没有任何证据可以表明, Dvorak 键盘显著地快于 QWERTY 键盘。
  3. 估计某个程序员发现用 dvorak 布局很爽,就将之变得更加极限。于是出来这么一个 Programmer Dvorak Keyboard Layout, 它包括dvorak 键盘的所有缺点, 但优化了程序中常用符号如 $;(){}[]= 等,用来 coding 巨爽。
  4. Neo 通过加入一个 Level 把 EnterBackspace,方向键等加入到了手指下,再也不用右手小指去摸回车删除了。 再不用为 Emacs,Vim 蛋疼的方向快捷键忧愁了(方向快捷这个想法显然很好,但是两者实现都略蛋疼,用 neo 这种更底层的方式的优点是显而易见的)。

关于 dvorak 键盘的效率,还可以参考我的另一篇 post:Dvorak 键盘布局(演讲稿)

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

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

    Qwerty-Dvorak.PNG

    Qwerty-Dvorak.PNG

  4. 键盘是自己用的,换了布局你打出来的也不是火星文
  5. Neo,不能更赞

Extended Programmer Dvorak

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

DVPE v0.2

DVPE v0.2

评测 qwerty,dvp,dvpe

  1. 说明

pa7 的 Keyboard-Heatmap 基础上我添加了我的 dvpe 布局,可以到 Github: district10 / Keyboard-Heatmap 下载,或者直接下载 解压后用浏览器打开 index.html,或者直接访问 http://tangzhixiong.com/Keyboard-Heatmap/

Heatmap

Heatmap

Octave

octave - qwerty

octave - qwerty

octave - dvp

octave - dvp

octive - dvpe

octive - dvpe

Jane

Jane - qwerty

Jane - qwerty

Jane - dvp

Jane - dvp

Jane - dvpe

Jane - dvpe

Wood

Wood - qwerty

Wood - qwerty

Wood - dvp

Wood - dvp

Wood - dvpe

Wood - dvpe

C++

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

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

C++ - dvp

C++ - dvp

C++ - dvpe

C++ - dvpe

Python

Python - qwerty

Python - qwerty

Python - dvp

Python - dvp

Python - dvpe

Python - dvpe

How To Get It?

  1. For windows Users

  1. 一开始不适应是正常的,请暂时忽略指法的不熟悉,体会其 rhythm 好在哪儿
  2. 刚看 Sacha Chua 采访 Xah Lee,Sacha 说:

    “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)

  3. 为了更好的输入中文,做了单字输入法:gat。暂时只能在 Emacs 里使用。2014-04-27
  4. dvpe0.3 发布 (a.k.a. neo-extended dvpe)。2014-03-18 也支持 qwerty 和 programmer dvorak 布局 (Level 3 一致)

    Level 1

    Level 1

    Level 2

    Level 2

    Level 3

    Level 3

Koan

Steve Yegge,Sacha Chua 和 Xah Lee(李杀)都是 dvorak 粉丝啊。