从 Vimium 到 qutebrowser
过去两年,不论我安装、切换到哪家浏览器,除了已逝的 Vimperator,Vimium 都是第一个安装的插件。
曾经偶然听闻 qutebrowser 大名,但得知它没有让我难以割舍的 Dark Reader 插件,因此擦肩而过。
然而 Vimium 的小缺陷屡屡挑衅我的耐心,直到真正开始使用 qutebrowser,终于让我下定了迁移的决心。
对比
Vimium 只是一个浏览器插件,Firefox 和 Chrome 均有支持,可以说在不破坏原有操作体验的同时,补充了一些键盘操作的效率提升。
可它的工作方式是页面注入式的,必须等当前页面完成初始加载后才能使用键盘操作,又有一些页面注定无法完成注入,例如浏览器自己的插件商店、配置页。
qutebrowser 则是一个 PyQt 实现的轻量 GUI 跨平台浏览器,默认基于 Chromium 内核,并专注于键盘操作。不论页面是否完成加载,都可以随时使用键盘做出强大快捷的操作。
可惜缺少插件系统,且对 inspector 的支持很差,Web 开发者们可能难以接受。
它们最大的相同点,当属两者的按键都是 Vim 风格。即使之前从未体验过的用户,看看键位图也能理解它们的差异了。


文档
qutebrowser 自带离线文档,:help 即可快捷查看,深度使用的话,自然要过上几遍。
接下来,我会介绍几个要点信息,帮助其他感兴趣的 Vimium 用户无痛切换到 qutebrowser。
配置文件
qutebrowser 的配置管理十分方便,支持通过修改文件自定配置。
不仅可以用 yml 文件做基础定义,还能使用 python 满足更多的定制需要。因而更推崇直接使用 config.py 做配置管理,Linux 平台在 ~/.config/qutebrowser/config.py,Mac ~/.qutebrowser/config.py, Windows 是 %APPDATA%/qutebrowser/config/config.py。
如果一开始配置文件不存在,可执行 :config-write-py 初始化。另有可选参数 --force,强制用当前配置覆写磁盘文件。
搜索引擎
qutebrowser 默认搜索引擎为 duckduckgo,但可以按需增加自己的常用配置。
1  | c.url.searchengines = {  | 
键位迁移
作为 Vimium 老用户,我保留了之前的使用习惯,修改如下键位,并参考 Amos Bird 的配置,增加了在模式转换时自动切换中文输入法状态。这里使用的是 fcitx-remote,在 Mac 下,可以借助 fcitx-remote-for-osx 实现同样的效果。
1  |