不知道有多少人和我一样,喜欢键盘远胜过鼠标。倒不是对鼠标有偏见,其实在中学刚刚接触电脑那会儿,鼠标比键盘亲切得多。但渐渐地电脑只用来工作而不用来游戏,效率成了第一位的。
编程码字的工作,属于键盘密集型,但缺了鼠标也寸步难行,经常敲几下键盘就要去摸鼠标,用完鼠标手再移回到键盘。「鼠标中断」只是一方面,移动鼠标指针这个过程也非常低效,在网页上点开一个链接,不得不先把指针移到这个链接上。移动距离一远了还要「接力」,就是两次移动桌子上的鼠标或触摸板上的手指才能划到目标位置,有时甚至需要三次。
浪费的这点时间其实没多少,但它给情绪上带来的波动值得警惕。工作中有些时候心情是急躁的,可以想象有一个怒气槽,任何的打断和拖慢都会让怒气值累加。手移开键盘去够鼠标、移动指针、完成点击、手移回到键盘,这一连串动作仅仅为了打开一个链接。天呢真没有什么是我们忍不了的。
cVim 是一个为 Vimer 准备的浏览器扩展。你所熟悉的 Vim 快捷键很多都可以拿来用。比如 J 向下滚动,gg 到文档顶部。可假如你不熟悉 Vim,这东西就无用武之地了吗?非也。就拿点开一个链接来说,用鼠标需要经历怎样的痛苦,上文已经提到。有了 cVim,只要按 F,就在每个链接上出现一个定位符(下图黄色方块内的文字):
按下定位符的字母,就点开了那个链接。你看,现在打开一个链接只需两步,按 F 键,再按一到两个字母键,所有操作都在键盘上,都在字母区,比用鼠标和触摸板爽太多了。
由于我国的特殊国情,打不开 Chrome 商店,可参考之前的一篇博文《科学上网,我用shadowsocks》。
下面列举一些常用的操作:
-
j 向下滚动
-
k 向上滚动
-
h 向左滚动
-
l 向右滚动
-
J 下一个标签页
-
K 上一个标签页
-
H 后退
-
L 前进
-
d 向下滚动半屏
-
u 向上滚动半屏
-
f 给超链接标记热键,按下热键则相当于鼠标单击了那里。对于按钮相当于点击了按钮。对于文本框会将光标定位过去并进入输入状态。对于超链接,则会在当前标签页打开链接指向的网页。若按下最后一个热键字母时用大写,则会在新的标签页打开链接。按 esc 取消标记。打开页面后自动取消标记。
-
mf 为了打开多个链接,所有页面都会在新的标签页中打开。链接打开后标记不会自动消失,按 esc 取消标记。
-
/ 搜索关键字(不区分大小写,这一点和 Vim 稍有不同),搜到多个匹配结果,n 到下一个,N 到上一个。
-
zt 搜索的关键词高亮后,让其滚动到屏幕顶部(t: top)。当搜索的一个词之后,希望马上看到其下面的内容,用这一招很方便。
-
zz 移动到中间,zb 移动到底部(b: bottom)。
-
I 在历史中搜索,按 tab 到下一个
-
B 在已打开的标签页中搜索,按 tab 到下一个
-
b 在全部书签中搜索,按 tab 到下一个
-
gp 固定这个标签页(p: pin),再按一次则取消固定
-
g$ 去最后一个标签页
-
gi 进到页面上第一个输入框(i: input)
-
gj 隐藏掉底部的下载栏(强迫症的最爱!为什么是 j 呢,因为打开下载列表的快捷键是 cmd + shift + j)
-
gs 看网页源码(s: source)
-
gu 去 URL 的上一级(u: up)
-
gU 去 base URL
-
v 在光标模式和 visual 模式间切换
-
y 拷贝选中的文本到剪切板
-
yy 拷贝当前页面的 URL 到剪切板
来看一套组合技:你在网页中看到一行字,想选中这段文字并拷贝到剪切板,用 cVim 怎么做呢?
按 / 后跟 view 关键词进行搜索,将光标定位到 view 上面,输入大写 V 选中光标所在行,按 y 拷贝进剪切板。
那如果不想拷贝整行,只拷贝其中几个单词呢? 下图:
前面还是一样,光标定位后不选中整行,而是用 w 向后跳词(w: word),一路选中,直到截止的单词。然后按 y 拷贝。