Vimium 是一款能让使用者丢掉鼠标、仅仅通过键盘在 Chrome 中浏览网页的插件。使用它的好处是,你不用在键盘和鼠标/触控板之间来回切换。而且相比 Chrome 默认的快捷键,它支持不使用辅助键(Ctrl
、Alt
…)来进行配置。 另一方面,纯粹地敲击键盘比起用鼠标「移动 + 点击」或者触控板「滑动 + 点击」,手部的移动距离更短。
所需准备
- 颇为熟练地盲打;
- Chrome 浏览器。
基本动作
Vimium 的原理可以理解为「键盘快捷键-动作」映射。其中预设了一些基本动作,可以在启动后使用 ⇧/
,即 ?
来查看所有的命令。下面列举一些特别推荐记忆的基本快捷键:
快捷键 | 动作 |
---|---|
j | 网页向下滚动 |
k | 网页向上滚动 |
f | 显示当前网页中所有含超链接的元素,使用者选择显示的字母,即可进入下一个网页 |
t | tab,创建新标签页 |
⇧p | Paste,读取剪贴板的内容,粘贴到搜索栏搜索,并在新标签页打开 |
x | ✘,关闭当前网页 |
r | refresh,刷新当前网页 |
o | open,显示网址搜索栏 |
b | bookmark,书签检索栏 |
自主配置
Vimium 的功能当然不止于此,我们可以通过自行配置快捷键来做更多的事情。右键它的图标,选择进入 Option
,找到 Custom key mappings
,在这里建立或者取消快捷键映射。配置「快捷键-动作」的格式如下 ,如果想设置的快捷键被预设的占用,可以考虑先解除映射(unmap),再建立映射(map):
#格式
unmap [预设快捷键] [默认动作]
map [快捷键] [新动作]
#例子
#点击 [l] 前往右边的标签页
map l nextTab
#点击 [Shift + i] 进入新隐身页
map I createTab incognito
根据官方文档的 Read Me 和 Tips-and-Tricks,我做了一些改善阅读体验的个性化配置:
① 快捷键访问指定网站
对于最常用的、且首字母不是常用预设快捷键的网站,推荐使用语义性的略称(如 ins
);而其它较常用的网站,使用一个非预设字母(比如 z
)加上网站的首字母(如 zz
、zy
)。
#格式
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. 建立「关键词-搜索栏」映射:
- 打开你想映射的网站
- 找到该站搜索框
- 搜索任意内容回车后,复制网址
- 进入
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
,这样的配置能充分利用最灵活的食指和中指来点击链接。
④ 更方便地在标签页之间移动
下面的配置可以让你使用键盘的 ←
、→
或 h
、l
前往相邻的标签页。你可能会担心文本框内固有快捷键会不会被占用,实际上不会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 所有预设的快捷键、动作;第三部分是我的全部配置。请按需阅读。
附录一:特殊的快捷键表示
Windows | Mac | |
---|---|---|
<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