程序员键盘使用进阶技巧

点击上方 "程序员小乐" ,关注公众号

8点20分,第一时间与你相约

每日英文

Sometimes, I’d rather feel nothing. It’s better. It’s easier.

有时候我真希望自己没有感觉,那就好过得多了。


每日掏心话

也许时间会夺去你那令人妒忌的容颜,却无法抢走我爱你坚定的信念,因为我有一种无穷而又温柔的力量,它就是一心一意!


来自:gratonos | 责编:乐乐

链接:jianshu.com/p/6735b67a344e

图片来自网络



   正文   



适用人群


程序员键盘党,尤其是vimemacs或其模拟器用户。


适用键盘


普通外接键盘,左右Ctrl键、左右Shift键、左右Alt键齐备。


技巧目标


  • 提升整体效率

  • 减少小指压力


组合键指法要点


各司其职


  1. 左右Ctrl键分别用左右手的手掌靠近小指指根的部位击键

    • 击键时手完全不需要移动

    • 减少小指压力,尤其是修饰键这些需要持续按住一定时间的键

  2. 左右Shift键分别用左右手的小指击键

    • Shift键用的相对较少,小指压力不会太大

    • 如果需要连续输入大写字母,则打开大写锁定

  3. 左右Alt键分别用左右手的大拇指击键


左右开弓


基础键与修饰键用不同的手击键


  • 不需要手移动

  • 不需要单手变换为很别扭的手型去同时击多个键


具体例子:


  • Ctrl-U组合键用左手击Ctrl键,右手击U

  • Alt-X组合键用右手击Alt键,左手击X


针对性改键


  1. Ctrl键与其左边的键(通常是上下文菜单键或Fn键)进行交换

    • 更方便手掌击右Ctrl

    • 如果主键盘区的空格键右边只有三个键,那么右Ctrl键键帽通常会比较宽,可以不交换

  2. 交换CapsLock键和Esc

    • 方便vim或其模拟器evilIdeaVim等)用户切换为普通模式

    • 也可以使用Ctrl-[键切换为普通模式,只是没那么方便

    • Ctrl-C不是在所有情况下都与Esc/Ctrl-[等效,不推荐

  3. 将右Alt键映射到左Alt

    • Windows下通常将右Alt键映射为AltGr键,等效于Ctrl+Alt,不利于“左右开弓”


改键方法


不同系统下各有若干改键方法或工具,这里仅介绍我当前使用的方法。


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后缀的文件,然后双击执行。执行完毕后,需注销并重新登录当前用户或重启系统使配置生效。注册表内容包含了三个按键映射设置:


  1. 交换右Ctrl键和上下文菜单

  2. 交换CapsLock键和Esc

  3. Alt键映射到左Alt


Linux


通过使用桌面环境自带的系统设置工具来改键。以Cinnamon桌面环境为例,其他桌面环境类似:


  1. 在桌面依次点击Menu->Preferences->Keyboard->Layouts->Options,打开Keyboard Layout Options窗口

  2. 配置Ctrl key position为:Menu as Right Ctrl

  3. 配置Caps Lock key behavior为:Swap ESC and Caps Lock


vim或其模拟器快捷键绑定技巧


普通模式下,vimCtrl组合键基本都有预置功能,而空格键的功能只是把光标移动到下一个字符,实际使用中作用不大。并且,使用左右手的大拇指都可以非常方便击空格键,所以,把空格键作为快捷键的前置键非常合适,而且不与任何预置的快捷键冲突。例如:将<Space>bp/<Space>bn绑定到切换上/下一个Buffer的命令。


另外,很多编辑器的vim模拟器支持触发编辑器内置的Action,通过绑定以空格键为前置键的快捷键,vim模拟器还可以作为一个无冲突快捷键绑定工具来使用。

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。


欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”即可。


猜你还想看


阿里、腾讯、百度、华为、京东最新面试题汇集

当我们遇到100亿次请求?该如何设计后端架构?

据说这些设计模式的理念都是相同的!

深入剖析 Spring 中的构造器注入

百度地震了,也许早晚的事

Google 程序员有哪些高效的编程习惯?

关注「程序员小乐」,收看更多精彩内容