惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
The Last Watchdog
The Last Watchdog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Secure Thoughts
Hacker News - Newest:
Hacker News - Newest: "LLM"
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
TaoSecurity Blog
TaoSecurity Blog
博客园 - Franky
有赞技术团队
有赞技术团队
Google Online Security Blog
Google Online Security Blog
罗磊的独立博客
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
NISL@THU
NISL@THU
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Commits to openclaw:main
Recent Commits to openclaw:main
K
Kaspersky official blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
W
WeLiveSecurity
SecWiki News
SecWiki News
Google DeepMind News
Google DeepMind News
O
OpenAI News
V
V2EX
AI
AI
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
美团技术团队
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 三生石上(FineUI控件)
G
GRAHAM CLULEY
月光博客
月光博客
T
Threatpost
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Vulnerabilities – Threatpost
Last Week in AI
Last Week in AI
爱范儿
爱范儿
C
CXSECURITY Database RSS Feed - CXSecurity.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Cloudbric
Cloudbric
酷 壳 – CoolShell
酷 壳 – CoolShell
The Hacker News
The Hacker News
N
News | PayPal Newsroom
Know Your Adversary
Know Your Adversary

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
App+1 | 谈谈网页浏览器中的一个异类:qutebrowser - 少数派
2026-04-26 · via 少数派

对以键盘操作为优先的用户来说,一旦学会了如何退出 Vim,可能不消多久,便想在肉眼可见之处使用 Vim 的这套模态编辑。多年来,不少软件都内置了 Vim 风格的按键绑定,来迎合这类用户的肌肉记忆。其中,更有一些开发者,决心将 Vim 的这套风格应用至网页浏览器——qutebrowser 便是其中典型。

模态浏览器

对应 Vim 这样的模态文本编辑器 (modal text editor),我姑且将 qutebrowser 称作为模态网页浏览器。在聊 qutebrowser 之前,先向从未接触过 Vim 的读者介绍下模态文本编辑器。

A modal text editor can be, as its name implies, in different modes. Depending on the current mode, keys have different effects: in insert mode most keys insert their character in the buffer, as in non-modal editors, but in normal (default) mode, keys have a different effect.

A modal text editor makes all these operations much more accessible, and easier to express. But they are not only about having convenient shortcuts.

—— Why Kakoune

如上所述,在 Vim 这样的模态编辑器中,不同模式下,同一个按键有着不同的行为与意义。即使你从未使用过 Vim,模态亦随处可见:当你切换大写锁定时,或是切换输入法时,你使用的就是一种模态界面。具体到 Vim,在普通模式 (Normal Mode) 下,当你按下 G,其实是执行了一个将光标移到文件末行的命令;而在插入模式 (Insert Mode) 下,你就只是输入了一个 G 罢了。下表是 qutebrowser 与 Vim 在普通模式下一些操作的对比:

按键Vimqutebrowser
gg跳转到文件首行跳转到网页顶部
G跳转到文件末行跳转到网页底部
h/j/k/l充当方向键使光标在文件内移动作为方向键来滚动网页
Ctrl-f/Ctrl-b向下/向上翻一整页内容向下/向上翻一整页内容
dd 表示 delete,按下 dd 以删除光标所在行的文本按下 d 会关闭当前浏览的标签页
yy 表示 yank,按下 yy 以复制光标所在行的文本按下 yy 以复制当前网页的链接
.重复上一次操作,如再次删除当前行重复上一次操作,如再次关闭页面
uu 表示 undo,可撤销刚才的操作,如恢复删除的那一行撤销上一次操作,如重新打开之前关闭的标签页
/在当前文本文件内进行搜索在当前网页中搜索
:wq保存当前文件并退出 Vim退出 qutebrowser,下次进入时将重新打开退出前的所有标签页
Bill Joy 在开发 Vi (Vim 的前身) 时所使用的 ADM-3A 终端,从其键盘上可以理解为何 hjkl 会作为方向键来使用。
qutebrowser 的按键 cheatsheet,新手可能会感到无所适从

可见,qutebrowser 将网页视作 Vim 中的文本缓冲区 (text buffer),同样的按键在行为上也与 Vim 相贴近。而这样的设计,qutebrowser 并非首创。在介绍 qutebrowser 中的其他模式前,先简要回顾下这类「模态浏览器」的历史。

模态浏览器简史

模态网页浏览器大致可以分为两类:

  • 以插件形式与传统浏览器伴生,为其赋予模态:如Vimperator、Pentadactyl、Tridactyl、Vimium等。
  • 基于现有的Web引擎开发,完全为模态功能而构建的浏览器:如 UzbldwbLuakit、qutebrowser 等。

Vimperator 作为先行者,早已实现了模态浏览器所需的诸多核心功能。但由于宿主浏览器迭代带来的 API 变动,插件的兼容性问题层出不穷。随着 Firefox 从 XUL 转向 WebExtensions,插件所能行使的权限与能力被大幅收紧,导致其在体验上慢慢落后给那些基于 Web 引擎重新开发的模态浏览器。另一方面,如 dwb,luakit 等浏览器大多基于 Webkit 引擎,常常受累于其频发的性能与安全问题。2013 年底,Florian Bruhin 眼见 dwb 渐渐停止维护,便萌生了开发一款与之相似的浏览器的想法。这便是 qutebrowser 项目的开端。

第一次打开 qutebrowser,你面对的可能会是这样的界面。

浏览器顶部的标签页栏与底部的状态栏还可通过几行配置来隐藏,使得全部空间都用于网页内容的呈现

委婉地讲,模样比较复古。可假使你有 emacs 的使用经验,简陋的默认界面反倒给你自由客制化的信心。请忍耐片刻,在开始配置前,有必要先熟悉下 qutebrowser 中的几个重要模式。(美观起见,之后的截图均采用配置后的样式)

qutebrowser 简单配置后的样子

模式一览

普通模式 Normal Mode

普通模式,即 qutebrowser 的默认模式,也是平时使用最多的一个模式。除了让用户能以尽可能少的按键来浏览网页外,普通模式也充当入口,通过特定的几个按键来切换至其他模式。

qutebrowser 中最主要的几种模式切换

普通模式下,除上文提及的用以滚动、关闭页面的一些快捷键外,常用的操作还有:

  • 访问网址: 按下 o后,用户输入网址,网址将在当前页面打开。按键o其实是对 qutebrowser 内建命令 open的绑定。许多命令都支持额外的参数,如 O(大写)被默认绑定至open -t,意为将网址在新标签页中打开。
  • 回退/前进/刷新: 使用按键 H / L在当前页面进行回退或前进。使用 r (reload)
    刷新页面。
  • 切换标签页: 使用 K / J切换至上一个或下一个标签页。

qutebrowser 中,默认标签页的格式为 favicon + index + pagetitle。我们可以使用 Alt + 数字来切换至对应 index 的标签页,也可用数字 + d 来关闭对应的标签页。

命令模式 Command Mode

在普通模式下,当按下 :,我们便进入了命令模式。其中,最重要的命令是help,用以查询其他命令或配置项的文档。另一个重要的命令是spawn,用以唤起外部程序配合 qutebrowser 使用,比如使用 mpv 来播放页面中的视频。

进入命令模式后,qutebrowser 会展示相应的补全菜单

大多数重要的命令都有其默认绑定。我会在之后介绍修改按键绑定的方法。

插入模式 Insert Mode

默认设置下,当你点击网页中的某个输入框时,你便进入了插入模式。你也可以在普通模式下按下i主动进入该模式。与传统浏览器中的输入体验不同,qutebrowser 允许你在插入模式下调用外部的编辑器进行文本操作。当你保存并退出编辑器后,编辑过的文本会直接回填至网页的输入框内。这意味着你可以在输入过程中使用你编辑器里的纠错、补全、甚至 AI 相关的功能。

提示模式 Hint Mode

浏览网页时,最常见的一种操作便是用鼠标点击打开网页上的某个链接。提示模式则让你仅通过键盘来完成此操作。

如上图所示,在普通模式下按 f 进入提示模式,接着按下页面上提示的字母,便可访问其对应的链接。

直通模式 Pass-Through Mode

一些网页(特别是 PWA 应用)本身会提供一些快捷键,无疑会与 qutebrowser 不同模式下的快捷键相冲突。在普通模式下,按下 Ctrl+v 进入 qutebrowser 的直通模式。该模式下,浏览器将被还原到一种无模式的状态,从而规避这类 Modal Error 的问题。

配置 qutebrowser

配置 qutebrowser 一般可采取两种方式:

通过访问 qute://settings进入内建的设置界面进行定制,改动后的值会存入你配置目录下的autoconfig.yml文件中。(访问qute://version来查看自己配置目录的具体位置)

qutebrowser的设置页面

或是直接编辑配置目录下的config.py文件。在 qutebrowser 内,可通过config-edit命令打开该文件。第一次配置时,可用config-write-py --default命令写入默认配置后再进行修改。修改完后,使用config-source命令重载配置文件。

为了方便管理,你可以将配置拆分为多份文件,再在 config.py中使用config.source来导入。

config.load_autoconfig(True)

config.source("conf.d/theme.py")
config.source("conf.d/options.py")
…

编辑配置时,使用 config.set或全局对象 c来设置选项:

config.set("tabs.position", "left")
# 等同于
c.tabs.position = "left"

使用 config.bind进行按键绑定:

# 在普通模式下将按键组合<Ctrl-h>绑定为命令history
config.bind("<Ctrl-h>", "history")
# 要在其他模式下添加绑定,需指定mode参数。
config.bind("<Ctrl-n>", "completion-item-focus next", mode="command")

配置过程中,请多用 :help来查看各命令/选项的文档,用:set:bind来查看某选项/某按键绑定在当前设置中的值。你也可以在我这份样例配置的基础上进行修改。
 

补全菜单中将显示当前设置的值

为什么我不再使用 qutebrowser

我一度将 qutebrowser 作为主力浏览器使用,但最终还是放弃了它。主要原因如下:

性能与安全问题

  • qutebrowser 的网页渲染依赖 QtWebEngine,后者基于 Chromium。若你电脑安装的 QtWebEngine 版本滞后,你可能无法及时获取来自 Chromium 的安全更新。
  • 有不少用户反应 qutebrowser 可能存在内存泄漏的问题,可见此 Issue

贫瘠的插件生态

如上所述,QtWebEngine 基于 Chromium,但其目前尚不支持 Web Extensions,这意味着 qutebrowser 用户无法享受 Chrome 的插件生态。

虽然 qutebrowser 允许你编写 userscripts 对浏览器进行扩展,但一来 userscripts 提供的扩展能力有限,实现的效果往往无法与 Chrome 下的同类插件相比(如 qutebrowser 虽内建有广告屏蔽器,但无法做到如 AdGuard 那样的页面元素级的隐藏);二来自行开发维护所需的插件,也要耗费用户不少精力。

过于简陋的基础功能

我使用 qutebrowser,源自一次 degoogle 的尝试。qutebrowser 不要求你与任何账户绑定,虽然它没有用户系统,但由于其设置、书签和 userscripts 都是纯文本文件,你可以使用如 git 这样的工具在不同设备间同步它们。遗憾的是,qutebrowser 的缺陷不在于它缺乏必要的功能,而是这些必要的功能实现得太过基础,甚至简陋。

书签

qutebrowser 的书签分为 quickmark 和 bookmark 两种,在功能上两者却并没有本质的差别。新用户常为此困惑,作者也认为应该将两者合并(参见此 Issue),但目前该合并仍未完成。除开不必要的两种书签的问题,qutebrowser 还缺乏对书签文件夹、标签的支持,而这些功能在主流浏览器中都不成问题。

历史记录

如果说 qutebrowser 的书签功能尚可以通过一些第三方软件(如 linkding 这样的自架服务)来补足的话,管理 qutebrowser 的浏览历史记录则比较灾难了。
 

qutebrowser 的历史记录页面


如图所示,qutebrowser 的历史页面仅仅显示过往记录,你无法进行勾选,或按浏览时间来批量地删除。qutebrowser 内建的命令history-clear只能删除全部的历史记录,这对任何使用过主流浏览器的用户来说都是难以接受的。

下载管理

qutebrowser 没有提供页面来显示之前的下载记录,且下载过程中无法暂停。

标签页管理

qutebrowser 不支持标签页分组。它的垂直标签实现也非常基础,没有折叠、树状分页的功能。

结语

对厌倦了种种AI噱头的浏览器用户来讲,qutebrowser 的全键盘交互令人耳目一新。在其核心卖点「模态浏览」上,qutebrowser 的实现相当成熟。但在浏览器应有的基础功能方面,它又显得比较粗糙敷衍。这些缺憾不能归咎给 qutebrowser 的作者,在调校 qutebrowser 期间,我越发感受到现代网页浏览器的庞杂繁复,以至于个人想要驱动这样的项目几乎成了一个无法完成的任务。无奈放弃后,最终我还是选择了一个 Ungoogled Chromium,回过头想,我也许不是那么地讨厌使用鼠标。

除了免不了要动动鼠标外,Helium已能满足我大部分的需求

  1. 如果你仍对模态浏览器感兴趣,可关注 glide 这一项目,作者在 Firefox 的基础上进行开发,相信能解决我在本文提到的 qutebrowser 中基础功能、插件生态上的一些问题。
  2. 本文仅题图使用 AI 生成,由于这篇文章丢在草稿箱里已久,我也不记得当时生图用的 prompt 是什么了。

> 简单、好用、专注的写作软件,少数派为你呈现 🚀

> 守护孩子的天马行空,从零开始美术教育启蒙 🎨