12

是否存在专门为编程设计的修改后的Colemak键盘布局?

几天前,我对 Colemak 键盘布局进行了冷战,我真的很喜欢它用于正常打字,但是对于像;(分号)键这样的频繁编程字符,我遇到了一些问题。具有大括号和括号的直接映射的修改布局会很好。

显然,我可以通过反复试验自己重新映射这些键,但我希望有人进行了一些测试以确定常用语言字符的最佳布局。

4

3 回答 3

20

背景

我痴迷于高效的工作流程,我的实验结果非常引人注目,我保证这是非常值得的努力。这也是我的第三次主要编辑,我或多或少地确定了我今天使用的布局。

我会尽量简明扼要。


当前布局:

亮点:指托

  • 你的手指停留在高光上

  • 广角模式:右手移动了一列。好处

    • 减少右手腕的压力
    • 布局现在是对称的
    • Shift R+Level5更容易到达。
  • 8 层布局需要 3 个修饰符:

    1. Shift
    2. Level3通常被称为Altgr
    3. Level5
    include "level3(lalt_switch)" // Left Alt
    include "level5(ralt_switch)" // Right Alt
  • level5如果您想扩展,了解它非常晦涩且非常有用。例如,在我的布局中,它允许添加大约 200 个额外字符。

8 层的工作原理

层:

  1. 没有修饰符
  2. Shift
  3. Level3
  4. Level3+Shift
  5. Level5
  6. Level5+Shift
  7. Level5+Level3
  8. Level5+ Level3+Shift

数字

亮点:如何输入数字

  • 仅在 Layer3 上访问
  • 经常使用数字的程序员是一个糟糕的程序员。参见: https ://en.wikipedia.org/wiki/Magic_number_%28programming%29
  • 这就是为什么它从 Level1 中移除(无修饰符)
  • 为方便起见,将其排列在数字键盘中。
  • 1230,构成最常见的数字,因此可以在主行找到。
  • 右手数字键盘可以接近-+.,#%$*/\;:=最相关的数学运算符。
  • 1234567890与标准布局相比,我搜索的键少了大约 10 倍。我发现这更容易和更直观的使用。

替代字符(需要修饰符)

亮点:关卡人物

最不常见的替代字符被委托给Level3Level5修饰符。它们被映射的原因如下:

  • @类似于Q
  • &类似于B
  • $类似于Z
  • ×类似于X
  • ~类似于W
  • `开启C,“可爱
  • |开启V,“V竖管”
  • %开启M,“ Modulus”
  • #开启H,“H灰烬”
  • <以及>用于编写 html 等的 Easy Access。
  • ^旁边是<>
  • +并且-在数字旁边,-最容易访问

替代字符(无需修饰符)

亮点:不可修改的键

通常,您将键入的最常见的编程字符存在于此处:

  • ? !在角落里,因为它们通常会关闭句子。Colemak 的设计使结束句子的字母在食指和中指上更为常见,将其放在小指上可以改善手部运动。!也保持在原来的位置。
  • [并且]易于访问,因为正则表达式往往会大量使用它们。他们镜像) (
  • ) (是相反的,因为从小指到食指更容易滚动手指。以下三元组也很常见:();并且在这个方向上效果最好。
  • "在一个容易进入的区域和镜子'
  • '相反,s这对二元组很重要's
  • { }通常由编辑自动处理,因此它们被放置在最难到达的区域。
  • */用于/*二元组,是常见的 vim 命令。
  • \位于远角的右侧,Escape与以下二元组相似并最适合使用,\t \n \r
  • ; : =都是相似的,并且相似Return。同样,因为它们存在于角落附近,并且它们通常结束句子,所以它们在小指和无名指上效果最好。
  • Prior NextakaPage Up Page Down是中间的方向键。这在 Thinkpad 键盘上非常有用,因为它们就在 Trackpoint 旁边。即使没有跟踪点,仅滚动文档也很不错。它们不同的原因Page Up Page Down是为运行配置提供更大的灵活性。
  • _这里的下划线适用于编写对象名称,并且适用于 them_s_bigrams。它也不是一封信,因为这使得转换它成为一种痛苦的练习。

方向键

亮点:上下左右移动

  • 灵感来自 Vim
  • 没有“广角模组”,拇指会抽筋Level5
  • 非常适合编辑常规文档。

信件

Shift+[A-Z]

亮点:字母

  • CapslockEnter删除并替换为Shift
  • Shift的被替换为Control
  • Shift的舒适度提高了 3 倍
  • Control的 5 倍更舒适
  • Capslock没有错过。如果我Shift可以访问这些密钥BackspaceEscapeLevel3Level5

返回

亮点:如何回归

  • 放在 上是o因为在 vim 中,它的功能类似于Enter.
  • 有时可能会导致无法检测到它的游戏问题。
  • 令人惊讶的是,这不是一个大问题。我认为它可能比原来的位置更难使用 1.3 倍,这是能够进入Shift本垒的一个很好的权衡。

功能键

亮点:功能键

  • 可由任一修饰符访问。

  • Backspace位于左侧小指处,以直观地了解您要删除的方向。

  • Delete处于打开状态D,并且与您要删除的方向直观。

  • Escape出于某种原因,在无名指上感觉最好,而不是在小指上。

  • EndHome受到 colemak Vim 配置的启发:

    • Sert 中,它将在编辑之前转到行首。
    • 附加在 上T,方向相反。
  • Backspace使用了 10 倍以上(这意味着我将使用 Home Row 位置多 10 倍,而不是其默认位置。)。

  • Delete使用大约 20 倍以上。

  • Escape使用大约 15 倍以上。

  • Home并且End使用频率提高了大约 200 倍,使用频率更高,在 vim 环境之外编辑文档时特别有用。


去做:

如果你准备好迎接挑战,我已经尝试过一些有用的想法,但是由于这样做很困难,因此无法正式添加到布局中。

简而言之,理论上您可以将字符或功能映射到仅在键释放时执行的修饰键。例如,

  1. 按下Shift,没有其他键
  2. 如果您在 1 秒内释放它,它的替代键将执行。

就是这样。


懒惰安装:

  1. 去这里:https ://paste.ubuntu.com/p/TbJJkm2vxM/
  2. sudo vim /usr/share/X11/xkb/symbols/us
  3. 替换内容
  4. 警告:这将替换您的默认 Colemak。

配置文件


于 2017-04-29T12:23:26.750 回答
2

我意识到这个问题已经有一年了,但这是我的回复,以防它帮助其他人。

这是一个我经常处理的问题,而不是我想详细说明的问题。

我只想说不,即使经过几个月的搜索,我还没有找到合适的“用于编程的 Colemak”。它与通常的 QWERTY 相同的烦恼是过度使用右小指来表示特殊符号,并且重新映射本来是可取的,但是现在已经完成了混乱,不会有任何直接的解决方案。

你只能做两件事:

1)制作自定义布局键盘。在 Win/Lin/Mac 上有各种工具可以做到这一点。这很整洁,因为您可以根据需要重新排列所有内容。另一方面,最大的缺点是没有其他人使用您的键盘布局,如果您被要求在计算机上键入内容,您将遇到麻烦,因为您的肌肉记忆完全不同。

2) 有一个名为Programmer Dvorak的键盘布局,旨在解决您的问题。在这里,缺点是程序员 Dvorak 与标准 Dvorak 键盘相比相对不为人知,因此与上述问题相同。但是,它只会重新排列特殊符号,这意味着如果需要,您仍然可以使用标准的 Dvorak(而且它比 Colemak 广泛得多)。不过,请准备好在过渡中花费数月时间。

或者,您可以尝试选择第三种选择,并尝试说服 Colemak 社区开发对程序员友好的 colemak 版本。但这需要时间,我敢打赌你会找到很少的支持者。

于 2014-02-08T09:16:58.587 回答
1

你看过 colemak.com 上的 dreymar 广角模组吗?

你可以坚持; 在键盘的中间,以便在其上方和下方使用 [ 和 ] 轻松访问?

于 2013-08-25T21:54:40.820 回答