【发布时间】:2026-02-17 20:10:01
【问题描述】:
我经常听到有人抱怨为了简洁而大量使用符号的编程语言,尤其是 C 和 C++(我不会接触 APL),因为它们需要频繁使用 shift 键而难以键入。一两年前,我自己也厌倦了,下载了微软的Keyboard Layout Creator,对布局做了一些改动,一次也没回头。速度差异惊人;通过这些简单的更改,我可以将 C++ 代码的输入速度提高 30% 左右,当然这取决于代码的复杂程度;最重要的是,我在普通运行文本中的打字速度没有受到影响。
我的问题是:有哪些可供编程使用的替代键盘布局已经流行起来,它们中的任何一个是否仍在现代使用中,您个人是否使用任何更改后的布局,以及如何进一步优化我的布局?
我对标准 QWERTY 布局进行了以下更改。 (我不使用Dvorak,但有一个programmer Dvorak 布局值得一提。)
- 在顶行用符号交换数字,因为长或重复的文字数字通常被命名常量替换;
- 用波浪号交换反引号,因为反引号在许多语言中很少见,但析构函数在 C++ 中很常见;
- 将减号与下划线交换,因为下划线在标识符中很常见;
- 用方括号交换花括号,因为块比下标更常见;和
- 用单引号交换双引号,因为字符串比字符文字更常见。
我怀疑最后一个可能是最有争议的,因为它需要使用 shift 来输入常见的缩写,从而对运行文本的干扰最大。这种布局显着提高了我在 C++、C、Java 和 Perl 中的打字速度,在 LISP 和 Python 中也有所提高。
【问题讨论】:
-
也许只是我想得太慢了——但在开发软件时,原始打字速度通常不是我的限制因素。如果是这样,我可能会认为我做错了什么。
-
@Lucero:总体而言,不,但是当我(终于!)弄清楚我应该做什么时,我可以更快更舒适地输入它,更好的。一旦你完成了所有艰苦的思考,有时就需要大量的代码打磨...... :-)
-
@Jon:强烈建议在它被关闭之前将其作为一个 CW(毕竟,它是)。
-
@T.J.:制作 CW。良好的布局与其说是原始性能问题,不如说是舒适度问题——但舒适度对性能非常重要。
-
你被很多人抨击很有趣,我建议忽略他们。这不仅仅是打字速度(如果您可以输入足够多的内容以“按照您的想法编程”,这是一个因素),人体工程学胜过这一点。但是速度和人体工学是相辅相成的:让你的双手紧张的动作执行起来很慢,疲劳会导致错误,而你的双手会更费力地解决这些问题。从长远来看,调整键盘布局以满足您的需求可能是 RSI 或无 RSI 的区别。
标签: language-agnostic keyboard-layout dvorak qwerty