如果你也因为高强度的 Coding 导致手腕难受,想摆脱触控板,又不想让双手离开键盘,那这个简单的纯键盘工作流配置可能对你有所帮助。

TL;DR 通过使用 Vim 和 Emacs 的基础键位来大幅增加纯键盘工作的比例。

并非苹果的触控板不好用,只是来回使用到一定强度之后,手腕实在是承受不住。 也不是说用鼠标就有多慢,只是习惯了双手不离开键盘太多,心意在指尖即达的快感。

之前学习 Emacs 时就发现,用快捷键来调整光标的近距离移动,就能几乎不打断思维的修改文本。 但由于其高级功能带来了太多组合键和个性化配置,最终也没有探索太远,留在了一个记事本的程度,还是回去用 IDE 了。 最近偶然碰到一个浏览器插件,突然发现只使用简单的键位就足够覆盖大多数使用情况了,并不需要掌握的很深。

Vimium

这个插件就是 Vimium,使用 Vim 的基础键位来控制浏览器。非常简单,即使你从来没有学过也能在三分钟内掌握。

几个按键对应不同操作:

  • j,页面向下滚动。
  • k,页面向上滚动。
  • f,页面上的链接旁出现字母,按下即可跳转。
  • H 和 L,前进后退。

大多数时候其实也就这几个操作,刚好还在手自然放置的区域,用两下就记住了。 再配合上页面切换,激活输入框等等,感觉就像换成遥控器看电视,可以自然舒服的盲操。

Vim 插件

主要的工作环境除了浏览器就是 VSCode 了,常用键位最好能通用,这样快速切换时就不会误操作了。 基于之前踩坑的经历,不强求 Vim 和 Emacs 风格只选一种,以高效舒适为目标,自己的习惯最重要。

由于浏览器上已经选择了 Vim 键位,所以 IDE 中也以此为基础,安装对应插件。 配置中保留原有的快捷键,这样不影响我们已经习惯的复制粘贴,保存等操作。 网上的教程多如牛毛,随便找两个看看基础部分,如何切换模式,普通模式如何浏览翻页即可。

解决中文编辑问题

Vim 设计为浏览和编辑分离,默认编辑时无法修改光标位置。尤其写中文的时候,调整光标切换模式比较麻烦。 这里使用 Emacs 的方式来解决,在插件的配置中,对编辑模式添加快捷键绑定:

  • c-f,光标前移一个字符。
  • c-b,光标向后一个字符。
  • c-a,回到行首。
  • c-e,回到行尾。
  • c-p,向上一行。
  • c-n,向下一行。

都是 Ctrl 的组合键,方便起见可以在系统菜单中把大写锁定改为 Ctrl。 乍一看也需要记,其实对应的单词依次为:front,back,ahead,end,pre,next。 只要知道了含义,就不会忘记了。习惯之后就成了肌肉记忆。

这样就能够在编辑的时候也快速移动光标了。当然如果移动距离比较远远,还是用 Vim 自身的方法更好。

配置一致的快捷键

Vimium 使用 Shift + J/K 来左右切换浏览器标签页,在 VSCode 插件的配置中,也可以加入类似的快捷键来切换编辑区。

为了不影响编辑模式下正常输入大写字母 J 和 K,此处选择了 Ctrl + J/K 进行绑定。差别不大,按错了也能很快发现调整。

普通模式下也可以添加 Shift + H/L 来移动光标到行首行尾,对应 Vimium 中的左右滑动。

VSCode 自身快捷键

送佛送到西,好人做到底,编辑区现在基本可以不用鼠标和触控板了,但是切换文件,焦点转移到内置的终端还没有解决。

这一类问题单独给 VSCode 的不同 action 设置快捷键即可。打开 Keyboard Shortcuts 页面,搜索相关功能的关键词。 需要激活焦点的一般名称中包含 xxx focus。如果想要全局互相切换,可以清空对应功能的 when 字段。 常见的几个有:编辑区,目录栏和终端的焦点激活。

配置完成后,在一个如下所示的典型流程中,你就可以完全通过键盘操作了。

  • 浏览器查询资料
  • 多个标签页对比
  • 找到答案返回 IDE
  • 打开对应文件
  • 修改保存
  • 跳转到终端执行命令

恭喜!现在你已经可以用纯键盘完成大部分工作了 :)