如何在打字时,快速移动光标,高效的键盘映射方案 #AHK#xlr-space

一直以来,都有人在研究怎样从日常的键盘鼠标输入中抽取时间,提升效率。 对于多数知识工作者而言,无论是写报告,写代码,画设计,做表格还是做PPT,键鼠操作占据了我们多数的时间。

有种观点认为,通过训练改变一些(细小的)操作习惯,可以在一些常用动作时节约0.X秒到1秒,但是这个动作的频度如此之高,以致于我们需要完成一项长期工作时,就能节约相当可观的时间。

比如说,「按照指法输入」就是其中之一,「指法」要求用户按照某种特定的姿势训练,可以达到较高的输入效率。

但是我们今天 不谈传统的「输入指法」,因为传统指法大家要么已经很熟练,要么也很难再去纠正了。成年人的「肌肉记忆」是一种很强的惯性,改变的难度很大,成本很高。

火箭君今天就想谈一个小细节,或许可以在无形中拯救大家一大段时间。

请大家回想一下:

在输入文字时,我们是如何移动光标的?

三种常见流派

目测,周围的人貌似有三种主流的光标移动方法:

鼠标流

顾名思义,每次需要移动光标时,通过鼠标进行操作。

好处:手部动作可以在多种姿势下切换,避免单纯的打字疲劳。(如果这算好处的话)

弊端:手会离开键盘,下次输入文字时手还要回来归位,效率会降低。

方向键流

使用键盘右侧的「方向键」移动光标,其中还有「大方向键」(日常的NumPad,也能输入数字)和「小方向键」的区分。

好处:手从字母按键部分移动到方向键时,没有离开键盘,恢复文字输入也很快,而且输入方式仍旧是键盘操作而不是鼠标移动,几乎不需要操作习惯切换。

弊端:有些小尺寸键盘(例如笔记本)的方向键太小,非常不适合此类操作。

触摸流

早期的IBM ThinkPad 笔记本用户爱用的「小红点」就是此类,可以做到手指不用离开键盘区域,只通过「红点触杆」移动光标(代替操作鼠标)。

现在笔记本上的「触摸板」也有异曲同工之妙。

好处:手指可以更快速的恢复到文字输入

弊端:一般只有笔记本键盘才有此功能,操作还是要从「按键输入」切换到「定位输入」,接近鼠标的变种。

Github和外网上的另一些思路

Github和外网上经常有一些奇思妙想, 关于光标移动也有些独特的方案。

火箭君整理了一些比较有人气的:

其中有一个方案利用 Capslock(大写锁) 作为切换键,由于Capslock日常使用频率不高,将它作为一个特殊的切换键,当Capslock按下时,键盘上「i」「j」「k」「l」这四个键自动映射为「上」「左」「下」「右」。这样一来,就不再需要移动右手 到方向键或者鼠标/触摸板上了,直接在默认位置上,就能移动光标。

由于,ijkl的键位类似普通方向键,所以操作上毫无违和感。

唯一需要习惯的是,移动光标时要额外按下「Capslock」。

这个方案有很多变种,例如:

(1)适合左利手的,「esdf」/「wasd」转换为方向键版本

(2)采用其它按键代替「Capslock」的版本

(3)采用「ijkl」控制方向,「esdf」控制选中(shift+方向)的「左右互搏」版本

这是网上 一种空格+「ijkl」的版本

火箭君甚至看到一个从2013年讨论到如今2019年的帖子,仍旧在不断改良ijkl方案,上图就是来自这个海外论坛的帖子。

我们的整理

如果我们自己也想试试这种「ijkl」方向键方案,火箭君整理了网上的方案后「自制」了一份。

火箭君的这个方案,姑且称之为「xlr-space」采用的是「SpaceBar」转义,即 按住空格键后「ijkl」转换为方向键。这样做的好处是,适应的成本很低,很快就能学会,手指几乎不用离开默认的按键区域,即使Capslock转义也要让左手小指有点压力,空格键转义则毫无压力。

具体规则如下:

基本功能

按一下空格键:仍旧是空格键(这是废话)

按住空格键时: 按下「i/j/k/l」变为「上左下右」

按住空格键时: 按下「o」变为「PageUp」(上翻页)

按住空格键时: 按下「.」变为「PageDown」(下翻页)

按住空格键时: 按下「h」变为「Home」(行首)

按住空格键时: 按下「n」变为「End」(行尾)

可选左右手配合功能

方便选择内容

按住空格键时:按下「f」+ 「i/j/k/l」 变为 「shift」+「上/左/下/右」

方便快速移动光标

按住空格键时:按下「d」+ 「i/j/k/l」 变为 「ctrl」+「上/左/下/右」

方便快速移动光标并选择内容

按住空格键时:按下「g」+ 「i/j/k/l」 变为 「ctrl」+「shift」+「上/左/下/右」

空格加强

按住空格键时:按下「1~9」数字 会产生1~9个空格

复制粘贴加强

剪切/复制/粘贴

按住空格键时:按下「x/c/v」会变为 「Ctrl」+「x/c/v」

摸鱼加强

切换 Windows 虚拟桌面 (简直是摸鱼神器)

按住空格键时:按下「[/]」会变为 「Ctrl」+「Win」+「左/右」

如何 获取和加载?

我们自制的方案,是基于 AHK 工具 生成的(AutoHotKey)支持 Windows。理论上讲,大家如果了解AHK脚本,完全可以自行扩充和维护。

考虑到多数用户并非脚本专家,我们原打算将这个方案打包为EXE文件,只要运行即可实现「SpaceBar」转义。然而,估计各位电脑的杀毒软件会在第一时间把这种修改按键的程序当作病毒删掉,因此我们不直接放出EXE,我们只放出 AHK 脚本源代码,有兴趣的话,在「效率火箭」公众号后台回复「xlr-space」可获得 AHK源代码。

请注意,这个脚本是纯公益的,不会收取费用,同样也不会定期维护,使用者需要自负风险。喜欢DIY的小伙伴们,请自行参照AHK脚本源码修改调教,这样既能放心使用也能按自己习惯扩充键位。

AHK脚本的使用方式是

(1)您需要先安装 AutoHotKey(自行搜索这个词)。

(2)然后双击运行我们的按键脚本「xlr-space.ahk」即可运行。

(3)如果,我们需要退出这套方案,从Windows 托盘中 Exit 绿色H图标即可。

最后

我们整理的「xlr-space」也许并非可以立刻改变大家的习惯,但是一直使用会潜移默化的提高效率,而且对于笔记本电脑用户或者那些习惯使用小尺寸键盘的用户来说,无疑这是个非常方便趁手的工具。

经典的迷你机械键盘 Poker

就非常适合我们的 xlr-space 脚本

话说回来,这次也有几点遗憾:

  • 我们没有来得及推出「左利手」版本

  • 我们也许没有照顾到所有人的习惯

  • 我们没有准备 macOS版,但是利用 Mac 下 Karabiner 这个应用也能实现的(好像有现成的ijkl脚本)

请大家见谅包涵,有兴趣的可以根据源代码自行调整键位。