Keyboard 改进的Colemak程序设计
是否存在专门为编程设计的修改过的键盘布局 几天前,我对Colemak键盘布局进行了彻底的研究,我真的很喜欢普通的打字,但对于频繁编程的字符,如:;(分号)键。一个有大括号和圆括号直接映射的修改布局会更好Keyboard 改进的Colemak程序设计,keyboard,keyboard-layout,colemak,Keyboard,Keyboard Layout,Colemak,是否存在专门为编程设计的修改过的键盘布局 几天前,我对Colemak键盘布局进行了彻底的研究,我真的很喜欢普通的打字,但对于频繁编程的字符,如:;(分号)键。一个有大括号和圆括号直接映射的修改布局会更好 显然,我可以通过反复试验自己重新映射这些键,但我希望有人已经做了一些测试,以确定公共语言字符的最佳布局。你看过colemak.com上的dreymar广角mods吗 你可以坚持下去;在键盘的中间,用[]和[2]和[1]和[5]的方式方便地访问[1],我意识到这个问题已经有一年了,但这是我的回答,
显然,我可以通过反复试验自己重新映射这些键,但我希望有人已经做了一些测试,以确定公共语言字符的最佳布局。你看过colemak.com上的dreymar广角mods吗
你可以坚持下去;在键盘的中间,用[]和[2]和[1]和[5]的方式方便地访问[1],我意识到这个问题已经有一年了,但这是我的回答,以帮助其他人。 这是一个我经常处理的问题,我不想详细说明 我只想说不,即使经过几个月的搜索,我仍然没有找到一个合适的“Colemak for programming”。 它和通常的QWERTY一样,在特殊符号上过度使用了右小指,重新映射本来是可取的,但现在混乱已经结束,不会有任何立即的解决方案 你只能做两件事: 1) 制作自定义布局键盘。在Win/Lin/Mac上有多种工具可以实现这一点。这是整洁的,因为你可以重新安排一切,因为你认为合适。另一方面,最大的缺点是没有其他人使用你的键盘布局,如果你被要求在计算机上键入内容,你就会遇到麻烦,因为你的肌肉记忆完全不同 2) 有一个名为的键盘布局,旨在解决您的问题。这里的缺点是,与标准Dvorak键盘相比,程序员Dvorak相对未知,所以问题与上面相同。不过,它只会重新排列特殊的符号,这意味着如果需要,您仍然可以使用标准的Dvorak(而且它比Colemak广泛得多)。不过,要准备好在过渡期中度过几个月 或者,您可以尝试选择第三种选择,并尝试说服Colemak社区开发一个程序员友好的Colemak版本。但这需要时间,我敢打赌你会发现很少有支持者。\p>背景 这是我做的一个半小时关于键盘布局历史和理论的演示: 我非常认真地对待这一点,并不断地进行实验。我痴迷于高效的工作,并且我已经展示了非常令人信服的结果,比如说,我保证这是非常值得努力的。 在我的回答中,我将更多地讨论理论,因为我的布局主要是针对我的特定编程需求而定制的,并且不适合Python开发人员,除非他调整了bigram和level1字符 运用这个理论,根据你的需要调整它 #术语:
- Altgr:通常是正确的alt键,允许您写入外来字符或重音符号
- 级别1:没有修改键的布局(Shift、Altgr)
- 第2级:带班次的布局
- 第3级:具有Altgr的布局
- 级别4:带有Shift+Altgr的布局
#Beta键盘Vim程序员的Colemak v3 这是我在过去一年中使用的一个面向右的布局: 请记住,此布局优化的目的是:
(注意方向键如何位于右手,就像vi
)vi
- C语言
- APL(是,APL)
- XML(次要考虑)
- Bash(
)set-o vi
- 还应该说,程序员的布局原则上是将numberkeys从1级移开,因为一个好的程序员根本不应该经常使用数字。见:
vi
已经提供了该功能)
- 主键和结束键放在适当的范围内非常有用
- 方向键是必不可少的
- PgUp和PgDn未得到充分利用,但这可能是因为交错键盘位置的倾斜,使您必须在
之前进行伸展。目前正在测试左手的相反方向(如本答案底部所示)
sudo vim /usr/share/X11/xkb/symbols/us
// Colemak symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, http://colemak.com/
// Akiva Abraham WADS-Keypad Programmer's Colemak
partial alphanumeric_keys
xkb_symbols "colemak" {
include "us"
name[Group1]= "English (Colemak)";
key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
key <LSGT> { [Control_R, Control_R, Control_R, Control_R] };
key <SPCE> { [ space, space, space, nobreakspace ] };
key <TLDE> { [U0021, U007E, U00AC, U00A4] };
key <AE01> { [U005B, U0021, U005B, U20AC] };
key <AE02> { [U005D, U0040, U005D, U00A2] };
key <AE03> { [U002F, U0023, U002F, U00A3] };
key <AE04> { [U0022, U0024, U0022, U00A5] };
key <AE05> { [U003C, U0025, U003C, U003C] };
key <AE06> { [U003E, U005E, U003E, U003E] };
key <AE07> { [U0026, U0026, U0026, U2030] };
key <AE08> { [U002A, U002A, U002A, U00BC] };
key <AE09> { [U0029, U007D, U0029, U00BD] };
key <AE10> { [U0028, U007B, U0028, U00BE] };
key <AE11> { [U005F, U005F, U002D, U2308] };
key <AE12> { [U003D, U002B, U003D, U230A] };
key <AD01> { [U0071, U0051, minus, U00A9] };
key <AD02> { [U0077, U0057, Home, U00AE] };
key <AD03> { [U0066, U0046, Up, U2191] };
key <AD04> { [U0070, U0050, End, U00B6] };
key <AD05> { [U0067, U0047, Prior, U2371] };
key <AD06> { [U006A, U004A, U0023, U2372] };
key <AD07> { [U006C, U004C, U0037, U00B0] };
key <AD08> { [U0075, U0055, U0038, U22A4] };
key <AD09> { [U0079, U0059, U0039, U00A7] };
key <AD10> { [U003B, U003A, U2234, U2234] };
key <AD11> { [U005C, U005C, minus, U0025] };
key <AD12> { [U007C, U00A6, U007C, U2262] };
key <BKSL> { [U0027, U0060, U0060, U2260] };
key <AC01> { [U0061, U0041, Escape, U2122] };
key <AC02> { [U0072, U0052, Left, U2190] };
key <AC03> { [U0073, U0053, Down, U2193] };
key <AC04> { [U0074, U0054, Right, U2192] };
key <AC05> { [U0064, U0044, Next, U2228] };
key <AC06> { [U0068, U0048, U0024, U2227] };
key <AC07> { [U006E, U004E, U0034, U22A3] };
key <AC08> { [U0065, U0045, U0035, U22A5] };
key <AC09> { [U0069, U0049, U0036, U22A2] };
key <AC10> { [U006F, U004F, Return, U2235] };
key <AC11> { [Shift_R, Shift_R, Shift_R, Shift_R] };
key <AB01> { [U007A, U005A, Insert, U2229] };
key <AB02> { [U0078, U0058, KP_Delete, U222A] };
key <AB03> { [U0063, U0043, U002A, U2282] };
key <AB04> { [U0076, U0056, U002F, U2283] };
key <AB05> { [U0062, U0042, U002E, U2022] };
key <AB06> { [U006B, U004B, U0030, U00BA] };
key <AB07> { [U006D, U004D, U0031, U00B9] };
key <AB08> { [U002C, U003C, U0032, U00B2] };
key <AB09> { [U002E, U003E, U0033, U00B3] };
key <AB10> { [U003F, U003F, U002F, U2020] };
include "level3(ralt_switch)"
include "level3(lalt_switch)"
};