怎样配置键盘最方便,以及一些设计的思考(Emacs)
使用emacs的人,如果肯折腾,肯定有重新映射键盘的经历。我原来经常看到的是把ctrl和capslock交换,但是我感觉没什么道理,因为ctrl已经用的很熟练了,换了反而不方便,而且对其他程序影响太大。那么我们就要使用默认的方式吗?除非你想把手弄抽筋,否则还是调整一下的好。今天我就说一下整体的键盘配置,可以不影响正常使用,提升总体舒适感,又可以同时方便vi和emacs的使用。
首先我把所有windows特殊的按键都给取消了(例如ctrl+shift或ctrl+space切换输入法,连续按五次shift出现辅助功能等),只用一个中文输入法切换,设为ctrl+home。这些是有用的,首先,玩游戏的同学都知道,经常会因为按shift等特殊键(刺客信条驾驶船只的时候连按shift,结果windows弹出了莫名其妙的框;或者玩fps的时候,出现输入法)影响游戏体验。因此把这些特殊键取消极大地减少了不必要的麻烦。另外很多程序也用到了ctrl+space,例如emacs设置mark的时候,用ctrl+space非常方便,所以最好不要把ctrl+space设为输入法切换的组合键。
第二就是把esc和capslock交换。这在windows下就是改个注册表的事(linux下好像更简单,具体操作请各位搜索internet,本文提供思想,具体实施非本文重点)。之所以这样交换,是因为能同时方便vi和emacs。vi就不说了,esc是切换模式最常用的键,如果他就在你左手小拇指的位置,那岂不是最方便?而且请看当年bill joy创造vi时用的的键盘(注意ctrl和esc的位置,以及hjkl四个键):
(引自)
你现在应该知道为什么vi和emacs会设置那样的快捷键。
第二个原因就是emacs的meta。同时按“ctrl+某键”对于大多数人(or程序员)没什么问题。但是同时按住“alt+shift+某键”很多人就感觉麻烦了,但是很多emacs的命令却是这样的,比如回到文档开头(meta+<,其实需要alt+shift+,)。emacs真正的按键困难,在于meta键!幸运的是,emacs中,meta可以用alt键(putty下只能用左alt),也可以用esc来代替,而且不用像alt那样必须同时按住alt和某个键,你可以先按一下esc,进入meta模式(没这个模式,只是方便解说),然后你就可以按相应的字母键,极大地方便了使用,减轻了手的负担。例如回到文档开头,只要先按esc,再按“shit+,”,快得很。只要把esc放到了capslock的位置,使用esc当作meta,emacs的快捷键操作瞬间变得流畅起来,又不伤手,真是舒畅啊。
另外,现在ctrl,shift,esc三个键在一起了,调用windows任务管理器单手就可以了!(哈哈,算是额外收获)
最后,你可以现在就仔细看一下你的键盘,看看能发现什么。这是我的发现:capslock和右边的alt,win,右键模拟这四个键非常干净,而其他主键盘区的键都有很多磨损(包括上下左右四个方向键),已经不是很清楚了。这说明,这几个不怎么常用的键占用了好的位置却没有很好的利用,esc那么常用的键却没有在你的手掌范围之内。右侧的键就罢了,capslock和esc真是让人感觉,非换不可!而且如果能把右侧的三个键去掉,稍改布局,换成上下左右四个方向键,就比较完美了。现在的键盘设计师,不知道你们搞这么多年,为什么不改良一下设计呢?
所以去掉特殊按键,把esc换到capslock,获得的效益最大,同时能方便vi和emacs的使用,不影响已有习惯,是目前最合理的安排方式。