电影里的黑客,以键为剑,抑扬顿挫一番敲击,世界尽在掌握之中。虽然不能成为那样的黑暗英雄,我们也可以通过一款浏览器插件,体验一把黑客般炫酷的键盘操作。
小李飞刀,例无虚发,只出一刀,无人能挡,只因天下武功无坚不摧,唯快不破。——《楚留香》
少时习武。不同于散打,三路长拳讲究拳打中路,胸膛并不完全侧向对手,追求极短距离内的打击。高大者如黑云压寨,威风唐唐;精悍者好贴身缠斗,步步紧逼。
文明时代,武术更多的目的是强身健体,修身养性,但是拳法之中的道理,我依然记于心上,践于行中。和电脑打交道,我同样追求快、准、狠,优柔寡断的鼠标不能得我心,MacBook 上流畅的触摸板也不足以和键盘媲美。能使用快捷键的地方,我尽量以全键盘方式操作电脑,获得更好的体验:
- 训练肌肉记忆,越用越快
- 避免鼠键切换,思维连贯
Vim 的独门绝技
Vim、Emacs、TaskPaper、Folding Text,都是数字世界里的奇兵利器,macOS 自带的快捷键,也可祝我一臂之力。但是各家功夫高低不一,Vim 毫无疑问以「全快捷键操作」问鼎。它最大的优势其实不在组合多,在乎集中于键盘中部,手指得以尽可能小地离开字母区域。如同切磋武义,高手出招,直截了当;Vim 用熟之后,搭配双拼,编辑文本吭哧吭哧颇有节奏,长时间外接键盘,也几乎想不起使用鼠标。
习惯了 Vim 的操作,再用回 Safari 预设的快捷键,虽说总好过用触摸板指指点点,却差了一丝味道。想来一是手指频繁移动到左下角,不远万里去按方向键;二来一组快捷键,常常需要双手齐上,左手小指扭曲着碰碰「Ctrl」键,长期使用鼠标者易得鼠标手,我怕是得患上「键盘指」。
浏览器上仿 Vim 的快捷键插件早已有之,终于寻得一款插件 sVim,不必再羡慕 Chrome 的 Vimium。
sVim 简介
sVim 是一款继承 Vim 快捷键的 Safari 插件,可以为你提供利落的全键盘网页浏览体验。它和原生快捷键最大的区别就在于大量使用字母键,单个或一组字母就可以实现快捷操作,不一定用到「Ctrl」「Shift」这些屈居键盘角落的修饰键,让手指牢牢扎根键盘中部,减少移动距离、降低操作量。
来看一下 sVim 的部分键位,它对原生方案做了许多改良。
例如,开启阅读器模式,以往需要按下「Cmd+Shift+g」,在 sVim 里只需要「g r」——按键数量少了,两颗键靠得近,也容易一起按下。
而滚动屏幕的这一系列动作,则最少只用一颗键就能完成。不仅如此,它还将滚动细分为四分之一屏、微调,比起系统粗暴的空格滚屏更加实用。
sVim 许多组合键都用到了「g」,它居于键盘的中原地带,和四面八方的字母键联动,腕部得以在小范围内灵活转动。从运动医学的角度看,类 Vim 的操作其实在还合理分配了各部分肌肉的负担。类似的键位设计,调动起了僵硬的手腕,减少整只手臂的移动,招招直击要害。
如果这些还限于「改良」,「f」键按下之后进入的新世界就比较震撼了。页面中所以可点击的链接旁都会显示临时快捷键,不移动光标就能精准定位,用 @子不语 君的话说,「只用敲三下,打开当前页面上任意一个链接」。如果你外接了一块键盘,更能体会这种掌控全局的快感。
退出这一模式只需按「esc」或修饰键(cmd 之类)。
项目主页上还有大量其他的预设快捷键,一般记住常用的几组,就可以满足日常浏览。
定制快捷键
sVim 快捷键虽多,但照搬 Vim 的设计,不一定完全适合浏览器。例如「w」单键新建窗口,堪称糟糕透顶的预设,和上下的滚屏的「e」「d」比邻而居,极易误触。
其实 sVim 允许使用者禁用部分快捷键。按下「g+v」组合键进入 sVim 设置界面,于「sVimrc」配置框内用「unmap "快捷键"」禁用不想要的预设:
unmap "w"
于是「w」键就解放了出来。
禁用之外,sVim 也可定制快捷键。同样在 sVimrc 界面,使用「map "快捷键""操作"」可自定需要的操作。如果新设的组合与预设冲突,会以后来者为上,不必先禁用再设置。
map "g r" previousTab
map "g b" scrollToBottom
预设中有「g t」右移一个标签页,好事成双,我设置了「g r」用于左移;原有「g g」滚动至屏幕顶部,遂设「g b」滚至底部(回复读者评论时非常有用,不用磨磨蹭蹭翻过正文)。
操作的具体名称可在 sVim GItHub 主页找到,位于 Help-Shortcuts-Mapping Name,全英文,多是简单的动词词组。
不足之处
实际使用中,sVim 还是有水土不服的情况。对于部分网站,sVim 会无法激活、延迟或者错乱。
就我使用体验,淘宝网是完全不能使用 sVim 的。sVim 无法用快捷键定位到淘宝搜索框,而在搜索框输入字符时又会莫名激活 sVim。如果你也遇到这种情况,可以使用「i」快捷键暂时禁用 sVim,防止和淘宝发生冲突。
sVim 需要在网站加载完毕后才能使用,所以不能用它快速关闭加载了一半的网页。
此外,新打开的「个人收藏」和「经常访问」标签页中,sVim 也无法工作(似乎没人会在意这个),不要误认为键盘失灵了……
尾巴
对于追求速度者、全键盘爱好者,sVim 堪称是其梦中的插件;相比 Safari 上另一款类 Vim 插件 Vimari,sVim 的快捷键更丰富,还支持自己设定,更适合喜欢控制欲旺盛、偏爱折腾的 Geek。
早年使用过 Windows XP 电脑,其时在 Chrome 上安装快捷键拓展,起初出于下策——鼠标体验一塌糊涂。尔后觉得全键盘的操作更简单直接,不拖泥带水,颇为满意。笔记本电脑的实体键盘,最适合盲打、快捷键这些操作。用久了,对于键盘的手感也会被养刁,现在使用 macOS 原生双拼方案,最不满的,就是频频去戳位置刁钻的分号键。
如果你已经是 Vimmer(Vim 使用者),那么上手 sVim 会轻车熟路;若是毫无基础的门外汉,则依据各人需要,如果你觉得全键盘确实可以提升效率、或者仅仅认为这样很帅,那 sVim 也可以一试。不过,学习一项操作需要成本,适应 sVim 也是,值不值得,就看读者自己判断了。
参考资料和拓展阅读:
- sVim 项目主页:GitHub - flipxfx/sVim: Safari extension with shortcuts similar to Vim
- 少数派介绍 Vimium 的文章:让你用 Chrome 上网快到想哭:Vimium - 少数派