116

我一直在寻找提高工作效率的方法,并且阅读了很多关于使用Dvorak键盘打字的文章。

看起来这对于编写普通散文会更有效率,但是对于编程呢?

我怀疑它是否有效,因为在编程中使用分号、冒号、括号和 & 符号比在日常打字中更常见。

有没有人有这方面的经验?

4

12 回答 12

93

几年前,当我开始感到手腕有些疼痛时,我决定学习如何在 Dvorak 布局上打字。(旁注:我发现使用 qwerty 键盘学习布局非常简单,同时查看屏幕底部的 Dvorak 键盘图像)

唯一的编程区别主要是方括号和花括号与它们上方的减号和加号按钮交换位置。根据您使用的语言以及您使用这些键的程度,这可能很烦人;但话又说回来,也许你的 IDE 会在适当的地方自动插入那些。或者,您可以使用AutoHotkey 之类的程序将另一个组合键映射到这些符号。

这是输入 Dvorak 的问题:(恕我直言)您需要全部输入 Dvorak 或全部 qwerty,特别是如果您在所有计算会话中都严重依赖键盘快捷键。

我的情况是我在工作和家里都非常频繁地使用 Vim。在我的上一份工作中,计算机在多个白痴之间共享,我无法合理地期望其他用户知道如何退出 Dvorak。我不得不为 Vim 命令“重新学习”肌肉记忆。

对于简单的文本,我在 qwerty 和 Dvorak 之间来回切换非常容易,但是(也许只有我自己)我所有已知的键盘快捷键都是肌肉记忆。所以:wqwerty 上的 Vim 中的a 以 a 结尾,而注释一行S,的 a以 结尾,而不是用一个磅符号替换整行。而且您可以忘记在 Vim 中导航 - 而不是按 homerow 上的键,现在您必须按. 哦,你想用一只手复制剪切粘贴? 现在已经搬到I#C#hjkljcvpxcvbi.取而代之的是,请尽情享受键盘的乐趣。Firefox 中的新标签页?您只是在输入 Dvorak,所以您按 ctrl-t,但键盘实际上处于 qwerty 模式,所以您只需 ctrl-k 即可跳转到网络搜索栏。

如果同事需要使用您的计算机片刻,Dvorak 的另一个低点是尴尬的 30-60 秒解释。

所以我很遗憾地说,在主要用 Dvorak 打字大约 4 年后,我现在必须输入 qwerty,因为在模式之间来回切换并保留我对键盘快捷键的肌肉记忆简直是不必要的困难。

另一方面,有一些 Vim 对 Dvorak 的变通支持,所以也许今天对我来说是重返 Dvorak 马车的好日子。而且我想如果有人觉得特别有野心,他可以设置一个 AHK 脚本来将正常/移动键从 qwerty 重新映射到 Dvorak,但在按住 ctrl/alt 时只通过 qwerty 键。不过,看起来这将是很多工作,但回报却很少。

回顾一下:

  • 德沃夏克非常适合 RSI
  • 在 qwerty 和 Dvorak 之间切换很容易打字,但对于键盘快捷键和其他肌肉记忆来说很糟糕
  • 根据您的工作环境,在工作中使用Dvorak可能会很麻烦

我真诚地希望这能为您在决定是否去德沃夏克提供更多指导。

于 2009-08-03T16:58:27.743 回答
85

信不信由你,与普通英文文本相比,源代码中的特殊字符(例如 []、{} 等)的数量可以忽略不计。

我写了一个小程序,计算我正在处理的一个相当大的项目(50k 行)的源代码中每个字符的出现次数,这些就是结果。语言是 C++。

    E = 104050
    T = 86887
    我 = 62788
    A = 61746
    R = 60438
    S = 58897
    N = 56595
    O = 51640
    L = 45490
    C = 39251
    D = 33776
    U = 30971
    " = 27858
    米 = 25925
    , = 25296
    P = 23742
    ( = 21407
    ) = 21391
    F = 21232
    G = 20860
    / = 19745
    H = 19717
    ; = 19226
    _ = 16207
    乙 = 13576
    = = 12427
    Y = 10498
    0 = 10125
    . = 9842
    K = 9241
    : = 8907
    W = 8509
    V = 7922
    { = 7648
    } = 7639
     = 6626
    % = 6507
    Q = 5896
    1 = 5752
    - = 5382
    X = 5261
    ' = 3877
    \ = 3421
    2 = 3395
    + = 3172
    & = 2702
    [ = 2597
    ] = 2586
    3 = 2174
    Z = 2141
    4 = 1657
    J = 1599
    != 1595
    5 = 1560
    # = 1501
    6 = 1367
    | = 1029
    8 = 967
    9 = 953
    7 = 939
    ? = 610
    ` = 367
    ~ = 59
    $ = 47
    @ = 7
    ^ = 6
于 2009-10-02T03:50:59.060 回答
52

有专门用于编程的 Dvorak 布局:http ://www.kaufmann.no/roland/dvorak/

于 2009-08-03T12:49:30.527 回答
26

没有看到提到这个,所以我想我会添加这个:我在 QWERTY 键盘上使用 Dvorak 布局,QWERTY 命令键布局。意味着每次我按下命令按钮(我在 Mac 上)时,都会应用 QWERTY 布局。所以我用 Dvorak 布局完全“蒙住眼睛”打字,但我不必重新学习键盘快捷键。在过去的 4 年里一直工作得很好,我不会改回 QWERTY。

唯一的缺点是在使用 VIM 时,但现在我大多只将 vim 用于简单的事情,例如通过 SSH 修改配置文件。

于 2009-10-15T15:16:58.253 回答
16

您可能需要考虑 colemak 布局。从常见问题解答

编程语言大量使用标点符号。Colemak 将几乎所有的标点符号键都保留在其 QWERTY 位置,以简化从 QWERTY 的过渡。这取决于您使用的编程语言、变量命名约定(CamelCase 与下划线)以及您使用的编辑器。最后,这是个人喜好的问题。您可能希望将 AltGr 序列重新映射到您经常使用的标点符号。

于 2009-08-03T17:02:38.190 回答
8

德沃夏克键盘的目的是通过将键入最多的字母保留在主行上来防止手部紧张,至少对于英语来说是这样。由于编写代码的速度,我非常怀疑这是否有助于以任何重要的方式进行编程。我总是一边写一边想我写的东西,变量名从来都不是完全符合标准英语的。事实上,如果典型源代码文件中的字母频率与既定的英文字母频率有很大差异,我不会感到惊讶。

如果您患有腕管隧道之类的疾病,德沃夏克可能有助于缓解这种情况。我不得不说,德沃夏克键盘可能对常规写作和打字的帮助远远超过编程。

于 2009-08-03T12:42:42.823 回答
8

QWERTY 和 Dvorak 键盘布局设计用于输入文本而非代码。

您可以尝试输入代码的布局,如下所示:Programmer Dvorak Keyboard Layout

于 2009-08-03T12:50:39.470 回答
6

我已经使用 Dvorak 超过 1.5 年了。使用德沃夏克布局的原因不是速度,而是舒适本身。你想的比你输入代码更多。我主要使用 emacs 进行编码,但是,我没有使用默认键绑定。由于 emacs 的可定制性相对较高,因此我使用 Ergoemacs 键绑定。它真的可以帮助我在 emacs 中编写代码,同时保持我的 Dvorak 舒适度,而当我想做一个主要使用组合键完成的 emacs 操作时,不会到处乱跳。

于 2010-10-31T07:48:41.417 回答
1

如果您在团队中工作或在其他人的计算机上键入类似的东西,那么习惯 dvorak 可能会有点问题。

于 2009-08-03T12:49:26.643 回答
1

我使用 Dvorak-es 布局 - 针对西班牙语中的字母频率进行了优化 - 用于编程和打字,特殊键 (){}[]<>/* 等在此和 Qwerty 中相同。

如果您正在切换到 Dvorak,那么设计您自己的“Programmer's Dvorak”布局以及这些键的标准 QWERTY 位置可能会有所帮助。至少在 Windows 上,您可以使用MS 键盘布局创建器来执行此操作。

于 2009-08-03T12:52:35.540 回答
0

那么任何键盘都可以适合编程。如果您觉得打字很舒服就很重要,因为它打破了您使用 QWERTY 打字的方式。

顺便说一句,这个键盘对于像我这样的左撇子来说会很糟糕。

于 2009-08-03T12:43:12.700 回答
0

与上一个答案类似 - 如果您觉得舒服并且可以有效地使用,那么任何键盘布局都是合适的。如果你对它感兴趣,Dvorak 总是有可能的——你为什么不试一试呢?我相信你可以找到一个旧键盘来切换几个键。

最坏的情况:您恢复到 qwerty。:)

关联

于 2009-08-03T12:49:15.893 回答