美文网首页
程序员键盘使用进阶技巧

程序员键盘使用进阶技巧

作者: gratonos | 来源:发表于2019-06-17 22:14 被阅读0次

    适用人群

    程序员键盘党,尤其是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模拟器还可以作为一个无冲突快捷键绑定工具来使用。

    相关文章

      网友评论

          本文标题:程序员键盘使用进阶技巧

          本文链接:https://www.haomeiwen.com/subject/xwwqqctx.html