Language agnostic 用于编程的理想键盘布局 我经常听到抱怨说,为了简洁而大量使用符号的编程语言,最明显的是C和C++(我不打算触摸APL),因为它们需要频繁使用shift键,所以很难键入。一两年前,我自己也厌倦了它,下载了微软的,对我的布局做了一些修改,一次也没有回头。速度之差令人震惊;有了这些简单的变化,我就能够更快地将C++代码输入30%,这当然取决于它有多毛茸茸;最重要的是,我在普通文本中的打字速度没有受到影响

Language agnostic 用于编程的理想键盘布局 我经常听到抱怨说,为了简洁而大量使用符号的编程语言,最明显的是C和C++(我不打算触摸APL),因为它们需要频繁使用shift键,所以很难键入。一两年前,我自己也厌倦了它,下载了微软的,对我的布局做了一些修改,一次也没有回头。速度之差令人震惊;有了这些简单的变化,我就能够更快地将C++代码输入30%,这当然取决于它有多毛茸茸;最重要的是,我在普通文本中的打字速度没有受到影响,language-agnostic,keyboard-layout,dvorak,qwerty,Language Agnostic,Keyboard Layout,Dvorak,Qwerty,我的问题是:编程时有哪些替代键盘布局已经流行起来了,它们中有哪些仍在现代使用中,您个人是否使用过任何修改过的布局,以及如何进一步优化我的布局 我对标准的QWERTY布局做了以下更改。(我不使用,但有一个布局值得一提。) 在顶行用符号交换数字,因为长的或重复的文字数字通常替换为命名常量 >强>用TIDE交换Buff引号,因为后退引号在许多语言中是罕见的,但析构函数在C++中是常见的;李> 用下划线替换减号,因为下划线在标识符中很常见 用方括号替换大括号,因为块比下标更常见;及 用单引号替换双引

我的问题是:编程时有哪些替代键盘布局已经流行起来了,它们中有哪些仍在现代使用中,您个人是否使用过任何修改过的布局,以及如何进一步优化我的布局

我对标准的QWERTY布局做了以下更改。(我不使用,但有一个布局值得一提。)

  • 在顶行用符号交换数字,因为长的或重复的文字数字通常替换为命名常量 >强>用TIDE交换Buff引号,因为后退引号在许多语言中是罕见的,但析构函数在C++中是常见的;李>
  • 用下划线替换减号,因为下划线在标识符中很常见
  • 用方括号替换大括号,因为块比下标更常见;及
  • 用单引号替换双引号,因为字符串比字符文本更常见

我怀疑最后一个可能是最有争议的,因为它要求使用shift来键入常见的缩略语,从而对正在运行的文本干扰最大。这种布局大大提高了我在C++、C、java和Perl中的打字速度,在Lisp和Python中有所增加。

< P>我仍然认为,键入速度不是完成项目所需时间的主要因素。如果是的话,那就是一个大问题(数周的编码可以节省我们数小时的计划)

关于你的问题,我更喜欢使用标准布局,因为这意味着当我看到标准键盘布局时,我不必在头10分钟里显得愚蠢

您建议的一些替换,例如,带有特殊字符的顶行没有任何区别,因为另一只手上的外指应同时移动以移动


我想,有一件事可以帮助你超越链接布局,那就是只使用键盘快捷键。建议使用Vim和EMAC。改变键盘布局是一个坏主意,因为它(也许)会提高你在一个键盘上的打字速度,但会严重损害你在其他键盘或没有特殊键盘布局的计算机上的打字速度。我发现,调整自己以适应默认值通常会更好,因为在任何地方都必须更改默认值。(就我个人而言,我的手指严重偏向Emacs,这会在其他地方造成很多打字摩擦。)

总的来说,我认为拥有一个好的文本编辑器并知道如何使用它比尝试提高打字速度要好。能够录制和重放宏有时是一个救命稻草,选择快捷方式指定的代码片段可能很方便,因为通常语言会限制哪些内容可以转换为库

更一般地说,我认为真正的生产力提升者都是关于知识

  • 了解可用的工具和库以及如何使用它们
  • 了解您正在处理的代码的总体结构,而不仅仅是您的一点点
  • 了解关键算法、设计模式和习惯用法,这样您就不必重新发明它们
  • 充分了解规则,你可以灵活变通——你知道什么时候打破规则
  • 了解你的同事以及他们的长处、短处等——即知道什么时候该自己想办法,也知道什么时候该问谁
FWIW,我并不是在所有这些问题上都自作主张。我总是过于偏执于自己解决问题,并且有太强烈的倾向于重新发明轮子和宏伟的建筑方案


不管怎样,我只是怀疑花在改变和学习键盘布局上的时间会分散人们对更重要问题的注意力。

我会用以下方式来回答你的问题。 这项任务是以这样的方式组织键盘,以最小化给定文本的按键和手的移动

朝着一个可能的解决方案迈进。 制作一个程序:

  • 获取包含源代码的文本文件。(越大越好,来源也越多!)
  • 统计每个符号的使用频率(其在文本中的存在)
  • (可选)基于步骤2:程序为每个符号生成关键点笔划计数,加上手必须离开中心位置的距离。因此,您将了解键盘布局的有效性
  • 现在手动或通过编写程序按以下方式重新定义布局。将最常用的符号放在靠近您强壮的手的中心位置。第二个符号指向处于中间位置的虚弱手。第三个符号回到你强壮的手上…等等。然后你们逐渐地从手的中心位置移动到键盘的更“远”的区域。当所有键盘都已满时,您将继续分配键的过程,但这次按住Shift键。另一个不同之处是,在下移时,不会为每个符号旋转强手和弱手。按住shift键后,您将首先填充键盘上的中心位置,然后移动到更远的位置

    完成所有这些操作后,请再次对新布局执行步骤3,以查看布局是如何改进的

    您可能需要随时随身携带键盘。