【问题标题】:Is Dvorak typing appropriate for programming? [closed]德沃夏克打字适合编程吗? [关闭]
【发布时间】:2009-08-03 12:37:58
【问题描述】:

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

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

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

有人有这方面的经验吗?

【问题讨论】:

  • 打字仍在打字。任何能让你更快的东西都是天赐之物。但是,对 dvorak 的不熟悉使我对您的问题的任何专业回答都没有受过教育。
  • 我喜欢配对程序...我希望操作系统有一个热键可以在 QWERTY 和 Dvorak 之间切换。
  • 花时间学习德沃夏克到一个有效的水平可能会更好地花在生产力上...推论:花在 SO...上的时间...
  • 关闭为不是一个建设性的问题?但是人体工学很重要!我们应该在哪里问这些类型的问题?
  • @samoz:令我惊讶的是,有人不会认为他的私人时间(即在家)富有成效。我通常在家里和工作一样高效,主要只是做其他事情(但很多时候涉及键盘,无论是否有象牙键)

标签: typing dvorak


【解决方案1】:

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

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

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

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

对于简单的文本,我在 qwerty 和 Dvorak 之间来回切换非常容易,但是(也许只有我一个人)我所有已知的键盘快捷键都是肌肉记忆。因此,qwerty 上 Vim 中的 :w 最终成为 S,,而用于评论一行的 I# 最终成为 C#,而不是用一个磅符号替换整行。你可以忘记 hjkl 在 Vim 中导航 - 而不是按 homerow 上的键,现在你必须按 jcvp 的等效项。哦,你想用一只手复制剪切粘贴? xcv 现在已移至 bi.,因此请尽情享受键盘的乐趣。 Firefox 中的新标签页?您只是在输入 Dvorak,所以您按 ctrl-t,但键盘实际上处于 qwerty 模式,所以您只需 ctrl-k 即可跳转到网络搜索栏。

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

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

另一方面,there is some Vim work-around support for Dvorak,所以也许今天是我重返德沃夏克旅行车的好日子。而且我想如果有人觉得特别有野心,他可以设置一个 AHK 脚本来将正常/移动键从 qwerty 重新映射到 Dvorak,但在按住 ctrl/alt 时只通过 qwerty 键。不过,这似乎需要付出很多努力才能获得很少的回报。

回顾一下:

  • Dvorak 非常适合 RSI
  • 在 qwerty 和 Dvorak 之间切换很容易打字,但键盘快捷键和其他肌肉记忆却很糟糕
  • Dvorak 可能在工作中使用起来很麻烦,具体取决于您的工作环境

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

【讨论】:

  • 如果您依靠肌肉记忆来输入密码,请务必在切换之前记下并测试密码。
  • 我使用 dvorak 并且已经使用了多年。不会白白回到Qwerty。在其他人的虚拟机上使用 Qwerty 很痛苦。哎呀!
  • 感谢您提供非常有用的帖子。我可以理解你所说的,即使我还没有尝试过 dvorak,而且细节的数量表明你真的有这个想法。另一方面,在没有 dvorak 的情况下,当我将 Visual Studio 退出 ViEmu 模式时,我已经有了这些 awkward 30-60 second explanation 时刻...... :)
  • 在快捷键方面,Mac 支持带有 QWERTY 快捷键的 Dvorak。所以我在 Dvorak 中使用了 QUERTY 快捷方式。 QWERTY 的唯一优势是 c 和 v 位于更好的位置:)
  • This will let you use dvorak in insert mode and qwerty in normal mode 所以你不必重新学习任何东西。但是,它不适用于 ex 命令或搜索。
【解决方案2】:

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

我编写了一个小程序,计算我正在处理的一个相当大的项目(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

【讨论】:

  • +1,非常有用的答案。
  • ( = 21407 ) = 21391 { = 7648 } = 7639 [ = 2597 ] = 2586 为什么不匹配?
  • @LeoJweda cmets 可以扭曲它。
  • @nawfal 除非他在他的 cmets 中使用表情符号,否则它们应该仍然匹配。
  • @LeoJweda:99.92% 匹配。如果代码库足够大,出于某种原因,一小部分人不匹配是正常的。希望这不是因为微笑,因为在这种情况下:(会比:)更常见:P
【解决方案3】:

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

【讨论】:

  • Dvorak 已经拥有世界其他地方使用 qwerty 的巨大骗局,现在如果我们也开始使用 dvorak 的修改......那就更糟了! :)
  • @AndreasBonini:出于同样的原因,您可以说,由于 dvorak 键盘布局的用户已经证明自己足够灵活,可以采用另一种布局,因此他们可以轻松地适应亲自调整了一个 - 效果很好? (在这里只是扮演魔鬼的拥护者)
  • @AndreasBonini ,但 QWERTY 键盘已经在不同国家/地区具有不同的标点符号键。它们位于不同的位置,它们是不同的(美国键盘没有´¨ç 等),有时它们甚至工作方式不同! (在美式键盘中,AFAIK 没有死键,因此得到~n 而不是ñ^o 而不是ô...)
  • 我已经使用 Programmer Dvorak 2 年了,我真的很满意。改变捷径的肌肉记忆很难,但没那么难。我什至为程序员德沃夏克创建了一个打字教程:programmer-dvorak.appspot.com
  • @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
【解决方案4】:

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

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

【讨论】:

  • 你是如何重新映射命令键布局的?
【解决方案5】:

您可能需要考虑 colemak 布局。来自faq

大量使用编程语言 的标点符号。科勒马克保持 几乎所有的标点符号 他们的 QWERTY 职位以缓解 从 QWERTY 过渡。这取决于 你使用什么编程语言, 变量命名约定(CamelCase vs. 下划线)和你的编辑器 采用。最后这是一个问题 个人喜好。你可能想要 将 AltGr 序列重新映射到 您经常使用的标点符号。

【讨论】:

  • +1。从来没有听说过Colemak,但他们在那个常见问题解答中找到了一些关于德沃夏克的甜蜜点,尤其是小指伸手可及的地方。还有一个 Vim 重新映射?!和Linux支持?!我肯定会尝试这个。在键盘布局的“社交”方面,Colemak 在任何方面都不会比 Dvorak 差,如果它在身体压力方面更好......我们可能会在这里获胜。
  • 我认为需要指出的是,对于英语来说,Dvorak 是对 Qwerty 的显着 胜利,而 Colemak 是对 Dvorak 的边际 胜利.
  • 那么这是否意味着 colemak 比 qwerty 略显重要?
  • @DmitriNesteruk 如果 Dvorak >> QWERTY 和 Colemak > Dvorak 然后 Colemak >> QWERTY,对吗?
  • @DmitriNesteruk since Dvorak >> QWERTY,前者的好处没有争议。但由于Colemak > Dvorak,前者的优越性并未得到一致认可。虽然 Colemak 具有明显的技术优势,但我有一些保留意见。
【解决方案6】:

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

如果您患有腕管综合症,Dvorak 可能会帮助您缓解这种情况。我不得不说,德沃夏克键盘可能对日常写作和打字的帮助远远超过编程。

【讨论】:

  • 如果你使用snake_case来命名你的变量以提高可读性或者像Python这样的语言中的自定义,那么你会发现Dvorak实际上更容易,因为下划线键“_”在home row 使输入这些变量更容易,更自然。此外,+ 和 - 键距离起始位置只有一个键,而不是 QWERTY 布局中的 2 行。
【解决方案7】:

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

你可以试试这样的布局来输入代码:Programmer Dvorak Keyboard Layout

【讨论】:

  • 程序员使用很多键盘快捷键。 Qwerty 上的许多键盘快捷键比 Dvorak 更容易。比如剪切、复制、粘贴——ctrl+x、ctrl+c、ctrl+v。
  • 刚刚想起为什么我发现这是个问题。通常,我倾向于将右手放在光标键上,而左手则在做键盘快捷键。许多程序似乎都是为此而设计的,强烈倾向于只使用左手的快捷方式。在 Dvorak 上,捷径都混在一起了,其中许多最终都需要两只手。既然用户都是不同的,也许你不会觉得这是个问题。
  • 许多快捷方式都有替代方案。也许我是老派,因为我使用 ctrl+Ins、shift+Ins 而不是 ctrl+c、ctrl+v :-)
【解决方案8】:

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

【讨论】:

    【解决方案9】:

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

    【讨论】:

    • 如果您使用普通的 ANSI 布局,则有一个与 XP、Vista 和大多数普通 Linux 发行版集成的 Dvorak 布局(实际上,这些带有本地化变体,而 XP 没有)。因此,只需启用语言栏小程序即可。
    • 在所有其他同行开发人员中,我一直是唯一一个使用 Dvorak 的人。这算不上问题。他们不在我的电脑上打字,我也不在他们的电脑上打字。我只是为他们不得不通过 QWERTY 受苦感到抱歉。一旦你学会了 dvorak,你就会发现 qwerty 真的很糟糕。在你学会 dvorak 之前很难注意到它。
    • 这种情况已经够多了,以至于像我这样的德沃夏克打字机最终学会了在键盘之间切换。我不能在 Qwerty 中以相同的速度打字,但这是可行的。
    【解决方案10】:

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

    如果您要切换到 Dvorak,也许需要设计您自己的 “Programmer's Dvorak” 布局,并为这些键提供标准 QWERTY 位置。至少在 Windows 上,您可以使用 MS Keyboard Layout creator 来执行此操作。

    【讨论】:

    • 您知道如何在 Windows 10 中配置 dvorak 西班牙语吗?我需要帮助。在 linux 中它只是一个命令:setxkbmap dvorak es。微软有这样的实现吗?
    【解决方案11】:

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

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

    【讨论】:

    • 左撇子德沃夏克除外 ;)
    • 因为 QWERTY 更适合左撇子? AFAIK 的 Dvorak 还旨在将工作量平均分配在双手上,因此左撇子或右撇子无关紧要。
    • 它的右手边似乎有更多的主宰。
    • 是的,vwls rn't frqntl sd。说真的,Dvorak 做了很多研究来创建布局,他并没有说“看起来这样更有效率”。
    【解决方案12】:

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

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

    Link

    【讨论】:

    • 您指出的最坏情况有点简单化。我花了几个星期来学习德沃夏克,在此期间,我的工作效率较低。它得到了回报,而且我当时没有工作,但没有多少人可以对工作中失去的 2 周生产力不屑一顾。
    • 我看不出这会如何直接影响生产力 - 至少对我来说,切换到新的键盘布局不会对我的逻辑思维产生巨大的不利影响将绕过下一个错误集。也许对于从事报告风格工作的人来说,你不断地打字而没有太多的休息——我能理解你的观点。我接受了你所说的,也许我的结论过于简单了。
    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 2014-05-15
    • 2011-09-21
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    相关资源
    最近更新 更多