Surfingkeys是什么,有什么用
Surfingkeys是一款浏览器插件,在Chrome,Firefox和Edge(新版)上适用。
Surfingkeys结合「眼球快速定位能力」及「键盘操作熟度」的应用原理,组合出各种浏览器上的快捷操作,在熟悉掌握了这些操作后,你不仅可以丢开对鼠标的依赖,还可以让你的上网效率提升一大截。
天下武功唯快不破,那究竟用Surfingkeys操作相比鼠标有多少提升呢?我做了一个小实验,尝试分别用鼠标、Surfingkeys进行同样的操作,看看结果如何。
实验场景:
1 在浏览器中打开新标签页→ 2 在地址栏输入baidu.com→ 3 在百度输入框中输入我的简书名字→ 4 打开我的简书→ 5 打开「消息」→ 6 打开「喜欢和赞」→ 7上下滚动查看页面→ 8 点击文章→ 9 选取一个词(Gephi)并用百度查询→ 10 打开查询出的链接→ 11 左右切换查看标签→ 12 回到刚才打开的标签然后关掉其他所有标签→ 13 发现自己错关了标签恢复显示→ 14 切换到简书滚到最底部,再滚回最顶部
实验结果:
- 鼠标操作耗时:00:56.62
- Surfingkeys操作耗时:00:40.39
实验结果很明显,在几乎相同的操作下,Surfingkeys的操作比鼠标快了足足16s。
就像动图里展示的一样,这款插件可以让你几乎不用鼠标,用大量的热键就能完成在浏览器上诸如打开链接、鼠标点击、定位输入框、滚动页面、标签切换、文本选取操作、剪贴板操作、快捷搜索、新开页、关闭页、刷新页等各种操作。
Surfingkeys延用了大量的vim的热键,于是vim编辑器的用户几乎是零成本上手,而对于从没有使用过vim的人,需要记住大量的快捷键需要一点时间,但如果你记住了,那就会让你感到事半功倍,而且很COOL,很爽!
使用Sufingkeys的过程
学习软件第一步,永远是打开帮助文档仔细品味。一款优秀的作品往往会有一份详尽的Help文档指引你一步步熟悉、前进。按「?」既可以打开Surfingkeys的帮助文档,这是你学会的第一个操作,嘿嘿。
Surfingkeys共有17个版块大约226项操作,其中约有30~40项较为常用(因人而异),而掌握10项左右的热键基本就可以很快速的浏览网页了。
例如刚才的实验,如果你列出每一步的操作就可以发现其实这么多的操作总共也只使用了10个热键。
序号 | 操作 | 步骤 |
---|---|---|
1 | on | 在浏览器中打开新标签页,在地址栏输入baidu.com |
2 | gi | 在百度输入框中输入我的简书名字 |
3 | f | 打开我的简书 |
4 | f | 打开「消息」 |
5 | f | 打开「喜欢和赞」 |
6 | u / d | 上下滚动查看页面 |
7 | f | 点击文章 |
8 | zv / sb | 选取一个词并用百度查询 |
9 | f | 打开查询出的链接 |
10 | - / = | 左右切换查看标签 |
11 | gxx | 回到刚才打开的标签然后关掉其他所有标签 |
12 | zz | 发现自己错关了标签恢复显示 |
13 | gg/G | 切换到简书滚到最底部,再滚回最顶部 |
「f」键是最常用的按键之一。按下去「f」后,页面会给所有的链接标记一个黄色的小标签,你只需要按下标签上的热键就可以打开对应链接,而这些组合键几乎都可以单手快速操作。
当然无论是谁也不可能准确无误的记忆所有热键,但只要你能够想起一个开头,Surfingkeys就会很友好的提示你剩下你可能需要的操作。就像下图中我只按了一个「g」,插件在右下角就提示出了所有以g开头的热键组合供参考。
Surfingkey下还有一种可视模式,按下「v」即可进入,使用过vim的用户会非常了解,它允许你使用光标快速在页面上移动,然后选取文本,以便于进一步操作。但就实际使用体验而言其实一般。
此外还有很多常用的操作,比如r(刷新)、/(查找)、u(向上滚动网页)、d(向上滚动网页)、cc(打开剪贴板里的链接)、sb(选中的词用百度查询)、gg(滚到最上边)、G(滚到最下边)、zz(恢复网页)、-/=(左右切换标签)。这些操作都非常贴合平时使用键盘的手感,非常的丝滑。
如果你有更中意的操作,也可以在选项里自定义配置,是不是很赞!
还有些其他可玩的地方待探索
够了么?可能你觉得够了。事实上对于多数普通用户而言确实已经够了,但是对于这款插件的作者来说,他想赋予它更强大的扩展能力,正如他博客原文所说(可以跳过英文往下看):
vimium supports map key customization, but the target actions are limited. cVim tries to simulate vimL with a strange grammar. These things make it hard, for example, to map a key to a javascript function I’ve made.
Javascript is good enough for users to create their own mappings. I don’t need to create another lame scripting language, which is painful for both me and the users. So I created an extension – Surfingkeys which works like this:
mapkey('<Ctrl-y>', 'Show me the money', function() {
Front.showPopup('a well-known phrase uttered by characters in the 1996 film Jerry Maguire (Escape to close).');
});
插件作者博客地址自行搜索吧
如所言,在他创建的Surfingkeys之前,已经存在了vimium和cVim两款类似的工具,他们用同样的方式给用户带来便利,他们强大到可以支持自定义过程去映射快捷键(map key),美中不足的是他们的自定义过程使用了生涩的语法让其很难上手。
Surfingkeys则支持了js来定义过程,对于大多数用户来说这样的定义会让人更加从容。作者希望自己的作品能够致敬前辈,并且做的更优秀,逼近极致。
我在使用的过程中,就配置了「ss」按键来完成在有道词典中查询选词的功能,以及用「os」热键调出minibar可供有道词典使用。
总的说来,Surfingkeys的特点很突出,很实用,和同类型的插件相比,有更多的功能。同样它的缺点也无法忽视,比如跳转到浏览器自带页面后按键失效导致体验中断,让用户很有挫败感。
天高任鸟飞,这款插件让我在用浏览器上网的时候,有了飞的感觉,很酷的那种!_
注:在成文之际,查询到跳转到自带页面无法使用的情况的解决方案,在这里贴出来以供参考,在Chrome禁用的页面使用Surfingkeys