适用人群
程序员键盘党,尤其是vim、emacs或其模拟器用户。
适用键盘
普通外接键盘,左右Ctrl
键、左右Shift
键、左右Alt
键齐备。
技巧目标
- 提升整体效率
- 减少小指压力
组合键指法要点
各司其职
- 左右
Ctrl
键分别用左右手的手掌靠近小指指根的部位击键- 击键时手完全不需要移动
- 减少小指压力,尤其是修饰键这些需要持续按住一定时间的键
- 左右
Shift
键分别用左右手的小指击键- Shift键用的相对较少,小指压力不会太大
- 如果需要连续输入大写字母,则打开大写锁定
- 左右
Alt
键分别用左右手的大拇指击键
左右开弓
基础键与修饰键用不同的手击键
- 不需要手移动
- 不需要单手变换为很别扭的手型去同时击多个键
具体例子:
-
Ctrl-U
组合键用左手击Ctrl
键,右手击U
键 -
Alt-X
组合键用右手击Alt
键,左手击X
键
针对性改键
- 右
Ctrl
键与其左边的键(通常是上下文菜单
键或Fn
键)进行交换- 更方便手掌击右
Ctrl
键 - 如果主键盘区的
空格
键右边只有三个键,那么右Ctrl
键键帽通常会比较宽,可以不交换
- 更方便手掌击右
- 交换
CapsLock
键和Esc
键- 方便vim或其模拟器(evil、IdeaVim等)用户切换为普通模式
- 也可以使用
Ctrl-[
键切换为普通模式,只是没那么方便 -
Ctrl-C
不是在所有情况下都与Esc
/Ctrl-[
等效,不推荐
- 将右
Alt
键映射到左Alt
键-
Windows下通常将右
Alt
键映射为AltGr
键,等效于Ctrl+Alt
,不利于“左右开弓”
-
Windows下通常将右
改键方法
不同系统下各有若干改键方法或工具,这里仅介绍我当前使用的方法。
Windows
通过修改注册表来改键。想了解具体键值含义的朋友,请参考网上的其他文章,我这里直接给一个结果。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,06,00,00,00,5d,e0,1d,e0,1d,e0,5d,e0,3a,00,01,00,01,00,3a,00,38,00,38,e0,00,00,00,00
将上述注册表内容保存为.reg后缀的文件,然后双击执行。执行完毕后,需注销并重新登录当前用户或重启系统使配置生效。注册表内容包含了三个按键映射设置:
- 交换右
Ctrl
键和上下文菜单
键 - 交换
CapsLock
键和Esc
键 - 右
Alt
键映射到左Alt
键
Linux
通过使用桌面环境自带的系统设置工具来改键。以Cinnamon桌面环境为例,其他桌面环境类似:
- 在桌面依次点击
Menu
->Preferences
->Keyboard
->Layouts
->Options
,打开Keyboard Layout Options窗口 - 配置Ctrl key position为:Menu as Right Ctrl
- 配置Caps Lock key behavior为:Swap ESC and Caps Lock
vim或其模拟器快捷键绑定技巧
普通模式下,vim的Ctrl
组合键基本都有预置功能,而空格
键的功能只是把光标移动到下一个字符,实际使用中作用不大。并且,使用左右手的大拇指都可以非常方便击空格
键,所以,把空格
键作为快捷键的前置键非常合适,而且不与任何预置的快捷键冲突。例如:将<Space>bp
/<Space>bn
绑定到切换上/下一个Buffer的命令。
另外,很多编辑器的vim模拟器支持触发编辑器内置的Action,通过绑定以空格
键为前置键的快捷键,vim模拟器还可以作为一个无冲突快捷键绑定工具来使用。
网友评论