Dvorak输入适合编程吗?[关闭]


113

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

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

我对此是否有效表示怀疑,因为在编程中使用分号,冒号,方括号和“&”号比在日常键入中更为常见。

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


1
打字仍在打字。任何让您更快的东西都是天赐之物。但是,对dvorak的陌生使我对您的问题没有任何专业的答案,这是我没有受过教育的。
KevinDTimm,2009年

2
我喜欢配对程序...我希望操作系统具有可以在QWERTY和Dvorak之间切换的热键。
蒂姆·雷迪

4
花时间学习Dvorak到高效水平上可能会更好地花费在生产力上...推论:花在SO上的时间...
Evan

10
封闭性不是建设性的问题吗?但是人体工程学非常重要!我们应该在哪里问这些类型的问题?
AnnanFay 2011年

1
@samoz:有人不认为自己的私人时间(例如在家)富有成效,这让我感到惊讶。我通常在家和在工作时一样有生产力,主要是做其他事情(但是很多时候涉及键盘,无论有没有象牙键)
sehe 2011年

Answers:


50

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


27
Dvorak已经具有世界其他地方使用qwerty的巨大弊端,现在,如果我们也开始使用dvorak的修改,那就更糟了。甚至更糟!:)
Thomas Bonini 09年

6
@AndreasBonini:同样,您可以说,由于dvorak键盘布局的用户已经证明自己足够灵活,可以采用另一种布局,因此他们很可能可以轻松地管理适应于个人调整的布局-并产生巨大的效果?(这里只是扮演恶魔的拥护者)
sehe 2011年

10
@AndreasBonini,但是QWERTY键盘在不同国家/地区具有不同的标点符号键。它们位于不同的位置,它们是不同的(美国键盘没有,´¨ç等等),有时它们甚至可以以不同的方式工作!(在美式键盘中,没有死键AFAIK,因此有人获取~n而不是ñ^o而不是ô...)
ANeves 2011年

12
我已经使用Programmer Dvorak两年了,对此我感到非常满意。更改捷径的肌肉记忆很难,但并不难。我什至为程序员Dvorak创建了打字教程:programmer-dvorak.appspot.com
Denis Kniazhev,2013年

1
@SameerAlibhai似乎这项研究并没有被共享,但有一个:It was generated through reflection of the most common constructs in these languages and the rules set forward by the August Dvorak in his research, then verified by scanning through thousands of source code lines ensuring that a good fit was found.(从kaufmann.no/roland/dvorak
GabrielF

92

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

唯一的编程差异主要是方括号和花括号用其上的减号和加号按钮替换位置。取决于您使用的是哪种语言以及您使用这些键的程度,这可能会很烦人。但是话又说回来,也许您的IDE会在适当的地方自动插入这些内容。或者,您可以使用AutoHotkey之类的程序将另一个组合键映射到这些符号。

在Dvorak中键入以下内容:(IMHO)您需要使用所有Dvorak或所有qwerty,尤其是在整个计算会话中都严重依赖键盘快捷键的情况下。

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

对于我来说,在qwerty和Dvorak之间快速切换来获取简单文本非常容易,但是(也许只是我)我所有已知的键盘快捷键都是肌肉记忆。因此,一个:w在Vim中对QWERTY最终为一个S,,和I#评论的线路最终结果为C#,而不是只是一个英镑的象征更换整条生产线。而且,您只需忘了hjkl在Vim中导航-无需按Homerow上的键,而是必须按jcvp。哦,您想用一只手复制剪切粘贴吗? xcv现在已经搬到bi.相反,让乐趣遍及整个键盘。Firefox中的新标签页?您只是在Dvorak中键入内容,所以您按了ctrl-t,但是键盘实际上处于qwerty模式,因此您只需按ctrl-k即可跳至网络搜索栏。

如果同事需要暂时使用计算机,则Dvorak的其他低点之一就是笨拙的30-60秒的解释。

所以,我很伤心地说,经过约4年主要是在德沃夏克打字,我现在在QWERTY键盘输入,因为它根本就是不必要的困难切换回和模式之间来回并保留我的键盘快捷键的我的肌肉记忆。

另一方面,为Dvorak提供了一些Vim的变通支持,因此也许今天对我来说是回到Dvorak旅行车的好日子。而且我想,如果有人特别有野心,他可以设置一个AHK脚本,以将正常/移位键从qwerty映射到Dvorak,而只需在按住ctrl / alt时通过qwerty键即可。不过,似乎只有很少的回报就需要很多工作。

回顾一下:

  • Dvorak非常适合RSI
  • 在qwerty和Dvorak之间切换很容易键入,键盘快捷键和其他肌肉记忆很糟糕
  • 根据您的工作环境,Dvorak 可能会在工作中带来很大的麻烦

我衷心希望这为您决定是否去德沃夏克(Dvorak)提供更多指导。


37
如果您依靠肌肉记忆来键入密码,请务必在切换之前写下并测试密码。
Evgeny

5
我使用dvorak已经有好几年了。一无所获不会回到Qwerty。在其他人的VM上使用Qwerty很痛苦。k!
鲍比·坎农

1
感谢您的贴心帮助。尽管我从未尝试过dvorak,但我可以与您所说的保持联系,详细的信息表明您确实已经想到了这一点。另一方面,在没有awkward 30-60 second explanationdvorak的情况下,当我将Visual Studio退出ViEmu模式时,我已经有了这些时刻... :)
sehe 2011年

5
对于快捷方式,Mac支持带有QWERTY快捷方式的Dvorak。因此,我在Dvorak中使用QUERTY快捷方式。QWERTY的唯一优势是c和v处于更好的位置:)
Ryan Rho

这将使您可以在插入模式下使用dvorak,而在普通模式下使用qwerty,因此您无需重新学习任何内容。但是,它不适用于ex命令或搜索。
Gordon Gustafson

73

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

我写了一个小程序,计算了我正在从事的一个相当大的项目(5万行)的源代码中每个字符的出现,这些都是结果。语言是C ++。

    E = 104050
    电话= 86887
    我= 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
    高= 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

8
+1,非常有用的答案。
JBentley

30
( = 21407 ) = 21391 { = 7648 } = 7639 [ = 2597 ] = 2586 为什么不匹配?
Leo Jweda 2014年

6
@LeoJweda的评论可能会扭曲它。
nawfal 2014年

14
@nawfal除非他在评论中使用表情符号,否则它们仍应匹配。
Leo Jweda 2014年

13
@LeoJweda:匹配率为99.92%。如果代码库足够大,则出于某种原因或少数原因没有这样做是很正常的。希望不是因为微笑,因为:(那会比:)更常见:P
Thomas Bonini 2015年

25

没看到提到的内容,所以我想添加一下:我正在QWERTY键盘上使用Dvorak布局,并使用QWERTY命令键布局。意味着每当我按下命令按钮(在Mac上为Mac)时,都会应用QWERTY布局。因此,我在Dvorak布局中键入了完全“蒙住眼睛”的字母,但不必重新学习键盘快捷键。在过去的4年中到目前为止效果一直很好,我不会再回到QWERTY了。

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


您如何重新映射命令键布局?
izhang05

16

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

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


2
+1。从来没有听说过Colemak,但是他们在该FAQ中找到了有关Dvorak的一些甜蜜之处,尤其是在到达小指的地方。还有Vim重新映射?和Linux支持吗?!我一定会尝试的。在键盘布局的“社交”方面,Colemak绝对不会比Dvorak差,并且如果在身体疲劳方面更好的话……我们可能会在这里赢得胜利。
Mark Rushakoff 09年

5
我认为要指出的是,对于英国人而言,德沃夏克(Dvorak)是对Qwerty 的重大胜利,而科莱马克(Colemak)是对德沃夏克(Dvorak )的少量胜利。
Dmitri Nesteruk'9

1
那么这是否意味着colemak在qwerty上仅具有重要意义?
Chase Florell 2013年

@DmitriNesteruk如果Dvorak >> QWERTY和Colemak> Dvorak然后Colemak >> QWERTY,对吗?
Leo Jweda 2014年

@DmitriNesteruk自Dvorak >> QWERTY以来,前者的利益无可争议。但是由于Colemak> Dvorak,前者的优势并未得到一致认可。尽管Colemak具有明显的技术优势,但我还是有所保留。
nawfal 2014年

8

Dvorak键盘的目的是通过将最打字的字母保留在主行上(至少对于英语而言),以防止手受到压力。我非常怀疑,由于编写代码的速度很快,这是否可以以任何重要方式帮助编程。在编写过程中,我总是在思考自己写的内容,而变量名从未完全符合标准英语。实际上,如果源代码的典型文件中的字母频率与既定的英语字母频率相差很大,我不会感到惊讶。

如果您遭受腕管隧道之类的困扰,德沃夏克(Dvorak)可能会帮助您缓解这种情况。我不得不说,Dvorak键盘可能对常规书写和键入的帮助远胜于编程。


如果您使用snake_case来命名变量以提高可读性,或者像Python这样的语言中的自定义名称,那么您会发现Dvorak实际上要容易得多,因为下划线键“ _”位于主行上,这使得键入这些变量变得更加容易而且打字更自然。同样,+和-键距离原始位置只有一个键,而不是QWERTY布局中的2行。
SurpriseDog

8

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

您可以尝试如下布局来键入代码:程序员Dvorak键盘布局


4
程序员使用许多键盘快捷键。Qwerty上的许多键盘快捷键比Dvorak容易。例如,剪切,复制和粘贴-Ctrl + x,Ctrl + C,Ctrl + V。
安德鲁·班布里奇

只是想起了为什么我发现这是一个问题。通常,我倾向于将右手放在光标键上,而左手则在做键盘快捷键。似乎有许多程序是为此设计的,并且偏向于仅使用左手的快捷键。在Dvorak上,所有快捷方式混合使用,其中许多最终需要两只手。由于用户各不相同,因此也许您不会发现这是一个问题。
安德鲁·班布里奇

2
许多快捷方式都有其他选择。也许我是个老派,因为我使用ctrl + Ins,shift + Ins而不是ctrl + c,ctrl + v :-)
Nick Dandoulakis 09年

6

我使用Dvorak已有1.5年以上。使用Dvorak布局的原因不是速度,而是舒适性本身。您想的不仅仅是输入代码。我主要使用emacs进行编码,但是,我没有使用默认键绑定。由于emacs是相对高度可定制的,因此我使用Ergoemacs键盘绑定。当我要进行emacs操作(主要使用组合键完成)时,它确实可以帮助我在emacs中进行编码,同时保持Dvorak的舒适性而又无需在此四处走动。


1

如果您在团队中工作或在其他人的计算机上打字时,习惯于打折可能会有些问题。


2
如果使用普通的ANSI布局,则XP,Vista和大多数普通的Linux发行版中都集成了Dvorak布局(实际上,这些发行版带有本地化版本,而XP没有)。因此,仅是启用语言栏小程序的问题。
09年

2
我一直是所有其他同行开发人员中唯一使用Dvorak的人。这算不上问题。他们没有在我的电脑上打字,我也没有在他们的电脑上打字。我为他们不得不通过QWERTY遭受痛苦而感到遗憾。一旦学习了dvorak,您就会发现qwerty真的很糟糕。除非您学会了dvorak,否则很难注意到。
鲍比·坎农

这种情况发生得足够多,以至于像我这样的Dvorak打字员最终学会了在飞行中在键盘之间进行切换。我不能在Qwerty中以相同的速度打字,但这是可行的。
SurpriseDog

1

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

如果您要切换到Dvorak,则可能需要设计带有这些键的标准QWERTY位置的“程序员Dvorak”布局。至少在Windows上,您可以使用“ MS键盘布局”创建器来执行此操作。


您知道如何在Windows 10中配置dvorak西班牙文吗?我需要帮助。在linux中,它只是一个命令:setxkbmap dvorak es。在Microsoft中有这样的实现吗?
尼隆

0

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

附带一提,对于像我这样的惯用左手的人,这个键盘会很糟糕。


3
除了左撇子德沃夏克(Dvorak);)
萨莫斯(Samoz

1
因为QWERTY对于惯用左手的人来说要好得多?AFAIK的Dvorak还旨在将工作量平均分配到双手上,因此用左手或右手都没有关系。
09年

看起来它在右侧有更多主要内容。
Daniel A. White

是的,vwls不是frqntl sd。认真地说,德沃夏克(Dvorak)做了大量的研究来创建布局,他没有说“看起来这样更有效”。
2009年

0

与上一个答案类似-如果您感到舒适并且可以高效使用,则任何键盘布局都可以使用。如果您对Dvorak感兴趣,那么它总是可以的-为什么不尝试一下呢?我敢肯定,您可以找到一个旧的键盘来打开几个键。

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

链接


1
您指出的最坏的情况有点简单。我花了几周的时间来学习Dvorak,在此期间,我的生产力下降了。它得到了回报,当时我没有上班,但没有多少人能摆脱工作中两周的生产力损失。
2009年

1
我看不到这如何直接影响生产力-至少对我来说,切换到新的键盘布局不会对我如何解决下一个错误集产生逻辑上的不利影响。 。也许对于报表样式工作的人来说,您经常输入而无需过多休息-我可以理解您的观点。但是,我接受了您的发言,也许我的结论过于简单了。
丹尼尔(Daniel)2009年5
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.