Vimium 是一款能让使用者丢掉鼠标、仅仅通过键盘在 Chrome 中浏览网页的插件。使用它的好处是,你不用在键盘和鼠标/触控板之间来回切换。而且相比 Chrome 默认的快捷键,它支持不使用辅助键(CtrlAlt…)来进行配置。 另一方面,纯粹地敲击键盘比起用鼠标「移动 + 点击」或者触控板「滑动 + 点击」,手部的移动距离更短。

所需准备

  • 颇为熟练地盲打;
  • Chrome 浏览器。

基本动作

Vimium 的原理可以理解为「键盘快捷键-动作」映射。其中预设了一些基本动作,可以在启动后使用 ⇧/ ,即 ? 来查看所有的命令。下面列举一些特别推荐记忆的基本快捷键:

快捷键动作
j网页向下滚动
k网页向上滚动
f显示当前网页中所有含超链接的元素,使用者选择显示的字母,即可进入下一个网页
ttab,创建新标签页
⇧pPaste,读取剪贴板的内容,粘贴到搜索栏搜索,并在新标签页打开
x,关闭当前网页
rrefresh,刷新当前网页
oopen,显示网址搜索栏
bbookmark,书签检索栏

自主配置

Vimium 的功能当然不止于此,我们可以通过自行配置快捷键来做更多的事情。右键它的图标,选择进入 Option,找到 Custom key mappings,在这里建立或者取消快捷键映射。配置「快捷键-动作」的格式如下 ,如果想设置的快捷键被预设的占用,可以考虑先解除映射(unmap),再建立映射(map):

#格式
unmap [预设快捷键] [默认动作]
map [快捷键] [新动作]  


#例子
#点击 [l] 前往右边的标签页
map l nextTab


#点击 [Shift + i] 进入新隐身页
map I createTab incognito

 

根据官方文档的 Read MeTips-and-Tricks,我做了一些改善阅读体验的个性化配置:

① 快捷键访问指定网站

对于最常用的、且首字母不是常用预设快捷键的网站,推荐使用语义性的略称(如 ins );而其它较常用的网站,使用一个非预设字母(比如 z )加上网站的首字母(如 zzzy )。

#格式
map [快捷键] createTab [网址]
#以打开 Instagram 为例
unmap i
map ins createTab https://www.instagram.com/
#以打开 YouTube 和本站为例
map zy createTab https://www.youtube.com/
map zs createTab https://beta.sspai.com/


 

② 快捷键打开站内搜索 

1. 建立「关键词-搜索栏」映射:
 

  1. 打开你想映射的网站
  2. 找到该站搜索框
  3. 搜索任意内容回车后,复制网址
  4. 进入 Custom Search Engine 编辑框修改网址,以匹配以下命令
#格式
# 这里的 %s 就是需要你输入的搜索内容
[关键词]: [https://xxx.com/XXXXX=%s [网站名]]
#配置 [zhihu] 为知乎搜索关键词
zhihu: https://www.zhihu.com/search?type=content&q=%s 知乎

2. 建立「快捷键-关键词」映射

  • 进入 Custom Mapping Key 编辑框
#格式
map [快捷键] Vomnibar.activateInNewTab keyword=[关键词]  
#点击 [sz] (即 Search Zhihu 的略写)进入知乎站内搜索
map zh Vomnibar.activateInNewTab keyword=zhihu

 

③ 更合理的 f 键导航

如前面所介绍的,点按 f 键可以进入链接导航模式。在 Advanced Options,将 Characters used for link hints 中的 sdfercvjkluim 替换成 fjdkghsl,这样的配置能充分利用最灵活的食指和中指来点击链接。  

④ 更方便地在标签页之间移动

下面的配置可以让你使用键盘的   或  hl 前往相邻的标签页。你可能会担心文本框内固有快捷键会不会被占用,实际上不会1 。

# 代码
map <left> previousTab
map <right> nextTab

map h previousTab
map l nextTab

注意事项

  • 在 Chrome 自有的页面上(比如默认的新标签页),作为插件的 Vimium 没有操作权限。这个时候可以使用 Chrome 的默认快捷键,如果是 macOS 的话,还可以针对 Chrome 定制;
  • 自定义快捷键要留意冲突,比如:zz 和 z 是冲突的;ins 和 i 是冲突的,同时配置的话只执行最短的快捷键;
  • 如果想完全自定义快捷浏览系统,可以使用 unmapAll 解除所有映射,再自行定义;
  • esc 用来退出一些特殊模式(比如:链接导航模式、搜索模式)。

附录

附录分为三个部分,第一部分是特殊按键的表示法;第二部分是 Vimium 所有预设的快捷键、动作;第三部分是我的全部配置。请按需阅读。


附录一:特殊的快捷键表示

 WindowsMac
<a-其他键> Alt  +  其他键 -
<m-其他键> Meta  +  其他键 
 
 command  +  其他键 
 
<c-其他键> Ctrl  +  其他键 
 
 control  +  其他键 
 

 

附录二:所有预设热键及对应动作
 

map j scrollDown
map <c-e> scrollDown
map k scrollUp
map <c-y> scrollUp
map gg scrollToTop
map G scrollToBottom
map d scrollPageDown
map u scrollPageUp
map - scrollFullPageDown
map - scrollFullPageUp
map h scrollLeft
map l scrollRight
map r reload
map yy copyCurrentUrl
map p openCopiedUrlInCurrentTab
map P openCopiedUrlInNewTab
map i enterInsertMode
map v enterVisualMode
map gi focusInput
map f LinkHints.activateMode
map F LinkHints.activateModeToOpenInNewTab
map - LinkHints.activateModeToOpenInNewForegroundTab
map gf nextFrame
map gF mainFrame
  
map o Vomnibar.activate


map O Vomnibar.activateInNewTab
map b Vomnibar.activateBookmarks
map B Vomnibar.activateBookmarksInNewTab
map T Vomnibar.activateTabSelection
map - enterFindMode
map n performFind
map N performBackwardsFind
  
map H goBack

map L goForward
map t createTab
map J previousTab
map gT previousTab
map K nextTab
map gt nextTab
map ^ visitPreviousTab
map g0 firstTab
map g$ lastTab
map yt duplicateTab
map <a-p> togglePinTab
map <a-m> toggleMuteTab
map x removeTab
map X restoreTab
map ? showHelp

 

附录三:我的配置

Custom key mappings

#在下面自定义你喜欢的映射配置吧!  
#网页切换:
map h previousTab
map l nextTab
map <backspace> goBack
map <m-backspace> goForward
map , goBack
map . goForward  
unmap d
unmap i
unmap o  
#最常用网站:
map da createTab https://blog.daha.me
map dri createTab https://dribbble.com
map ins createTab https://www.instagram.com
#最常访问博客:
map <c-j> createTab https://blog.joway.io  


#常用网站:
map zb createTab https://t.bilibili.com/
map zd createTab https://movie.douban.com/mine
map zf createTab http://fanfou.com/home
map zg createTab https://www.github.com
map zi createTab https://www.instapaper.com
map zj createTab https://web.okjike.com/feed
map zl createTab https://liqi.io
map zm createTab https://mail.google.com
map zr createTab https://www.inoreader.com/
map zs createTab https://sspai.com/series/70/list
map zv createTab incognito https://www.v2ex.com
map zy createTab https://www.youtube.com/
map zz createTab https://www.zhihu.com/  
#搜索系统:
map sw Vomnibar.activateInNewTab keyword=wiki
map sz Vomnibar.activateInNewTab keyword=zhihu
map ss Vomnibar.activateInNewTab keyword=sspai
map sb Vomnibar.activateInNewTab keyword=baidu  
#其他:
map I createTab incognito
map R reload hard
map o Vomnibar.activateInNewTab

 

Custom search engines

sspai: https://beta.sspai.com/search/post/%s 少数派
zhihu: https://www.zhihu.com/search?type=content&q=%s 知乎
wiki: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia