Dvorak打字是否适合编程?

sam*_*moz 109 dvorak typing

我一直在寻找提高工作效率的方法,而且我一直在阅读很多关于使用Dvorak键盘打字的知识.

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

我怀疑它会有效,因为在编程中使用分号,冒号,括号和&符号比在每天打字时更常见.

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

Mar*_*off 88

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

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

这是在Dvorak中输入的东西:(恕我直言)你需要去所有Dvorak或所有qwerty,特别是如果你在所有的计算会话中严重依赖键盘快捷键.

我的情况是我在工作和家里经常使用Vim.在我上一份工作中,计算机在多个白痴人之间共享,我无法合理地期望其他用户知道如何切换出Dvorak.我不得不"重新学习"Vim命令的肌肉记忆.

我可以非常轻松地在qwerty和Dvorak之间来回切换简单的文字,但是(也许只是我)所有我熟悉的键盘快捷键都是肌肉记忆.因此,:w在Vwe上的qwerty结束为a S,,并且a I#注释一行最终为C#,而是用一个英镑符号替换整行.而且你可以忘记hjkl在Vim中导航 - 而不是按下本垒打上的按键,现在你必须按相当于jcvp.哦,你想用一只手复制切割粘贴? xcv现在已经转移到了bi.,所以玩得很开心到达键盘上.Firefox中的新标签?你刚刚输入Dvorak,所以你点击了ctrl-t,但键盘实际上处于qwerty模式,所以你只需要按ctrl-k跳转到网页搜索栏.

如果同事需要使用你的电脑片刻,那么Dvorak的其他低点之一就是尴尬的30-60秒的解释.

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

另一方面,对于Dvorak有一些Vim的解决方案支持,所以今天对我来说可能是回归Dvorak旅行车的好日子.我想如果有人感觉特别雄心勃勃,他可以设置一个AHK脚本将正常/移位键从qwerty重新映射到Dvorak,但只要在按住ctrl/alt时通过qwerty键.不过,看起来它可能会为很少的收益做很多工作.

回顾一下:

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

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

  • 如果您依靠肌肉记忆来输入密码,那么在切换之前肯定会记下并测试密码. (35认同)
  • 我使用dvorak已经多年了.什么都不会回到Qwerty.在其他人的VM上使用Qwerty很痛苦.育! (5认同)
  • 说到快捷方式,Mac支持Dvorak和QWERTY快捷方式.所以我在Dvorak中使用QUERTY快捷方式.QWERTY的唯一优势是c和v位于更好的位置:) (5认同)

Tho*_*ini 68

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

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

    E = 104050
    T = 86887
    I = 62788
    A = 61746
    R = 60438
    S = 58897
    N = 56595
    O = 51640
    L = 45490
    C = 39251
    D = 33776
    U = 30971
    " = 27858
    M = 25925
    , = 25296
    P = 23742
    ( = 21407
    ) = 21391
    F = 21232
    G = 20860
    / = 19745
    H = 19717
    ; = 19226
    _ = 16207
    B = 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

  • `(= 21407``)= 21391`` {= 7648``} = 7639`` [= 2597``] = 2586`为什么不匹配? (29认同)
  • @nawfal除非他在评论中使用表情符号,否则他们仍然应该匹配. (11认同)
  • @LeoJweda:99.92%匹配..如果代码库足够大,那么由于某种原因,少数人不会这样做是正常的.希望这不是因为微笑,因为:(在这种情况下会比:)更常见:P (11认同)
  • +1,非常有用的答案. (7认同)
  • @LeoJweda评论可以扭曲它. (6认同)
  • 我迟到了,但这是假设你输入每一个字符.在实践中,我经常自动填充而不是输入,例如,`FooBar.SomeProperty`,它只是`fb.sp`,它大大扭曲了按字母顺序排列的按字母顺序与非按字母顺序排列的比例. (4认同)
  • 测量击键可能更准确,因为现代IDE通常提供智能感知/自动完成 (3认同)
  • @LeoJweda 哈哈!我的意思是不一定需要在评论中匹配。我确信每个代码都会有格式错误的注释。 (2认同)
  • @LeoJweda我强烈怀疑注释掉函数声明之类的东西. (2认同)
  • 大 C++ 代码中少于 6 个“*”?没有乘法或解引用运算符?听起来怪怪的。 (2认同)
  • @GabrielF:我从列表中删除了它,因为它太高了,因为我使用了很多 /********/ 作为分隔符。见 http://stackoverflow.com/posts/1507668/revisions (2认同)
  • @AndreasBonini 但不是`:(`,它可以是`(:`! (2认同)

Chr*_*her 48

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

  • Dvorak已经拥有了世界其他地方使用qwerty的巨大骗局,现在如果我们也开始使用dvorak的修改......那就更糟了!:) (25认同)
  • 我已经使用Programmer Dvorak 2年了,我真的很开心.改变肌肉记忆的快捷方式很难,但并不难.我甚至为Programmer Dvorak创建了一个打字教程:http://programmer-dvorak.appspot.com/ (11认同)
  • @AndreasBonini,但QWERTY键盘*已经*在不同的国家/地区有不同的标点符号键.它们位于不同的位置,它们是不同的(美国键盘没有''`等等),有时它们的工作方式也不一样!(在美国键盘上没有死键AFAIK,所以得到`~n`而不是`ñ`,`^ o`而不是`ô`...) (9认同)
  • @AndreasBonini:出于同样的原因,你可以这么说,因为dvorak键盘布局的用户已经证明自己足够灵活,可以采用另一种布局,他们可能很容易管理适应个人调整的 - 并且效果很好?(这里只是扮演魔鬼的拥护者) (6认同)

Pas*_*cal 21

没有看到这提到,所以我想我会添加这个:我在QWERTY键盘上使用Dvorak布局,使用QWERTY命令键布局.意味着每次按下命令按钮(我在Mac上)时,都会应用QWERTY布局.所以我用Dvorak布局完全"蒙上眼睛",但我没有必要重新学习键盘快捷键.到目前为止,过去4年一直很好,我不会改回QWERTY.

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


ant*_*ony 16

您可能想要考虑colemak布局.来自常见问题:

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

  • 我想要指出的是,对于英格兰人来说,德沃夏克对Qwerty来说是一场重要的胜利,而科莱马克则是对德沃夏克的一次*胜利. (5认同)
  • +1.从来没有听说过Colemak,但他们在常见问题解答中找到了一些关于Dvorak的甜蜜点,特别是在粉红色到达的情况下.和Vim重新映射?!和Linux支持?!! 我肯定是在尝试这个.在键盘布局的"社交"方面,Colemak在任何方面都不会比Dvorak差,如果它在物理压力方面更好......我们可能在这里有一个胜利者. (2认同)

Alb*_*oPL 8

Dvorak键盘的目的是通过在主行上保留最多类型的字母来防止手上的压力,至少对于英语而言.我非常怀疑,由于编写代码的速度,这将有助于编程.我总是在思考写作时写的东西,变量名永远不会完全符合标准英语.事实上,如果典型的源代码文件中的字母频率与已建立的英文字母频率有很大差异,我不会感到惊讶.

如果您患有Carpal Tunnel之类的东西,Dvorak可能会帮助缓解这种情况.我不得不说Dvorak键盘可能有助于定期写作和打字,而不是编程.

  • 如果您使用 Snake_case 来命名变量以提高可读性,或者按照 Python 等语言的惯例,那么您会发现 Dvorak 实际上要容易得多,因为下划线键“_”位于主行,使得输入这些变量变得更加容易并且打字更自然。此外,+ 和 - 键距离起始位置仅一个键,而 QWERTY 布局中则有 2 行。 (2认同)

Nic*_*kis 8

QWERTY和Dvorak键盘布局设计用于键入文本而不是代码.

您可以尝试使用布局来键入如下代码:Programmer Dvorak Keyboard Layout

  • 程序员使用大量的键盘快捷键.Qwerty上的许多键盘快捷键比Dvorak更容易.例如,剪切,复制和粘贴 - ctrl + x,ctrl + c,ctrl + v. (4认同)
  • 许多捷径都有其他选择.也许我是老派的家伙,因为我使用ctrl + Ins,shift + Ins而不是ctrl + c,ctrl + v :-) (2认同)

小智 6

我已经使用德沃夏克超过1.5年了.使用Dvorak布局的原因不是速度,而是舒适本身.你想的不仅仅是键入代码.我主要使用emacs进行编码,但是,我没有使用默认的键绑定.由于emacs相对高度可定制,我使用Ergoemacs键绑定.它真的帮助我在emacs中编码,同时保留我的Dvorak舒适性,而不是跳到这里和那里当我想做一个emacs操作,主要使用组合键完成.