发布时间

Surfingkeys:把浏览器变成一台由 Vim 驱动的导航机器


想象一下:你正沉浸在编码状态里,手指在键盘上飞快移动,突然需要打开在线文档查一点东西。于是你不得不把手伸向鼠标,整个流畅感瞬间被打断。是不是很熟悉?如果我告诉你,其实你完全可以像在 Vim 里那样高效地浏览网页呢? 🚀

这时候就轮到 Surfingkeys 登场了——它是一个浏览器扩展,可以把网页浏览体验变成完全由键盘驱动的高效工作流。就像 Vim 通过让双手尽量留在主键区彻底改变了文本编辑方式,Surfingkeys 也把同样的理念带到了网页导航里,让点击、滚动、输入等操作都能通过直觉化快捷键完成。

对于开发者和效率重度用户来说,这不只是另一个浏览器扩展,而是一个真正意义上的 效率工具升级器:它能显著减少鼠标切换带来的认知负担,让浏览体验顺畅很多。

什么是 Surfingkeys? ⌨️

Surfingkeys 是一个为网页浏览提供类 vim 键盘导航的浏览器扩展。它把浏览器变成一个以键盘为中心的环境,让你从点击链接到管理标签页,几乎都可以在不碰鼠标的情况下完成。

这个扩展采用了熟悉的 vim 式设计,并提供 三种明确模式

🎯 Normal Mode - 默认导航与命令状态
👁️ Visual Mode - 用于选择文本和进行可视化操作
✏️ Insert Mode - 用于表单和文本框输入

Surfingkeys 真正厉害的地方,是它的 完整性。它不是简单地给浏览器补几个快捷键,而是从头到尾重新思考“如何以键盘为中心进行网页浏览”,从链接提示、标签页管理,到内置 vim 文本编辑器,整个体验都是围绕效率来设计的。

这些核心特性会真正改变你的浏览方式 💪

闪电般快速的链接导航

link hints 系统 是 Surfingkeys 最出彩的功能之一。按下 f,页面上每一个可点击元素都会出现唯一的字母提示覆盖层。你只要输入对应字母,就能立刻跳转过去——完全不需要鼠标

// Press 'f' to show link hints
// Type the letter combination to follow links
// Press 'F' to open links in new tabs

对于链接很多的网站,这能省掉大量“找链接、点链接”的机械动作,让导航既快又准。

轻松管理标签页

用一组很自然的快捷键,你就能把浏览器标签页管理得很顺:

  • T - 通过可搜索界面切换标签页
  • x - 关闭当前标签页
  • X - 恢复最近关闭的标签页
  • gt - 下一个标签页
  • gT - 上一个标签页

再也不用在几十个标签页里来回点来点去。

Omnibar:你的命令中心

按下 t 打开 Omnibar——这是一个功能很强的命令接口,可以让你立刻访问:

  • 🔍 历史记录和书签搜索
  • 🌐 快速站点导航
  • 命令执行
  • 📝 智能提示建议

它有点像是“浏览器里的终端”,把各种常用能力都放到你指尖可达的位置。

文本输入中的内置 Vim 编辑器

这里就真的开始 很强了。当焦点停留在任意文本输入框时,按下 I(大写 i),Surfingkeys 会直接在浏览器里打开一个 完整的 vim 编辑器。这意味着你可以:

  • 用真正的 vim 命令编辑长文本内容
  • 使用 visual block mode 进行复杂文本操作
  • 继续复用熟悉的 vim 快捷键和肌肉记忆
  • 更轻松地处理大段文本输入

平滑的页面导航与滚动

网页移动方式也完全采用 vim 风格:

  • j/k - 向下/向上滚动
  • d/u - 向下/向上翻页
  • gg/G - 到页面顶部/底部
  • H/L - 浏览器后退/前进

滚动体验 平滑且响应迅速,让整个页面导航自然很多。

安装与快速上手 🚀

开始使用 Surfingkeys 非常简单

浏览器安装

Chrome/Edge 用户:

  1. 打开 Chrome Web Store
  2. 点击 “Add to Chrome/Edge”
  3. 授予必要权限

Firefox 用户:

  1. 前往 Firefox Add-ons
  2. 点击 “Add to Firefox”
  3. 确认安装

Safari 用户:

  1. Safari App Store 下载
  2. 安装并启用扩展

上手第一步

安装完成后,你几乎立刻就能开始用了! 先试试这几个最重要的快捷键:

  1. ? 打开帮助面板,查看所有可用命令
  2. 在任意网页按 f,体验 link hints
  3. T 感受标签页切换界面
  4. t 试试 Omnibar

每个用户都该知道的关键快捷键 📝

下面这些是最值得先记住的快捷键:

基础导航

f       - 显示链接提示(打开链接)
F       - 显示链接提示(新标签页打开)
j/k     - 向下/向上滚动
d/u     - 向下/向上翻页
gg/G    - 跳到页面顶部/底部

标签页管理

T       - 切换标签页
x       - 关闭当前标签页
X       - 恢复已关闭标签页
t       - 打开 Omnibar 搜索书签/历史记录

文本与搜索

I       - 用 vim 编辑器编辑当前输入框
/       - 在页面内搜索
n/N     - 下一个/上一个搜索结果
v       - 进入 visual mode 选择文本

历史与会话

H       - 浏览器后退
L       - 浏览器前进
ZZ      - 保存当前会话
ZR      - 恢复已保存会话

自定义:真正调成你自己的样子 🛠️

Surfingkeys 最强的一点之一,就是它的 高度可定制性。你几乎可以通过 JavaScript 配置修改这个扩展的任何行为。

自定义按键映射

下面是一段我自己的配置示例,能看出它有多灵活:

// Custom history navigation (more intuitive for vim users)
api.map('H', 'S');  // backward browser history 
api.map('L', 'D');  // forward browser history

// Alternative tab switching
api.map('gt', 'T'); // use gt for tab switching interface

// Custom search mapping
api.map('s', '/');  // use 's' for search instead of '/'

按站点定制配置

你还可以在某些特定网站上 禁用 Surfingkeys,以免它和原本的网站快捷键产生冲突:

// Block Surfingkeys on certain websites
settings.blocklistPattern = /((calendar).google|udemy|member.bilibili).com|.*follow.is/i;

对于那些本身就有大量快捷键的 Web 应用(比如 Google Calendar 或在线 IDE),这个功能特别有用。

面向高级用户的功能 🎯

PDF 浏览支持

Surfingkeys 对 PDF 文件 的支持也很自然,你可以像浏览网页一样用同样的快捷键去阅读 PDF。这会带来一种跨内容类型的 统一浏览体验

搜索选中文本

在 visual mode 中选中任意一段文字,就能立刻用不同搜索引擎进行搜索。这个能力能明显 提升研究和信息检索的效率

剪贴板集成

它还提供了一套很顺手的剪贴板操作,让 复制粘贴工作流 更高效:

  • yy - 复制当前页面 URL
  • yf - 复制当前光标下的链接
  • yt - 复制当前页面标题

配置资源 📚

如果你想更深入地折腾自定义配置,可以看看这些资源:

  • 官方文档Surfingkeys GitHub - 完整指南与 API 文档
  • 我的个人配置Arch Config Repository - 更真实的配置示例与自定义实践
  • 社区配置:逛逛 GitHub issues 和 discussions,能看到很多其他用户的灵感

Surfingkeys 的配置系统 非常强大——你可以改按键、写自定义命令、接外部工具,甚至在扩展内部做出一些自己的迷你应用。

准备好改造你的浏览方式了吗?

Surfingkeys 不只是一个浏览器扩展,它几乎是在重新定义我们和网页交互的方式。它把 vim 的效率哲学带进浏览器,解决了键盘用户在网页浏览中最常见的效率断点之一。

不管你是资深 vim 用户,还是只是一个重视效率的人,Surfingkeys 都能让你提前体验到一种 更高效的网页导航方式。最棒的是,你可以立刻开始用,然后随着时间慢慢发掘它更强的能力。

只要试用一周,我几乎可以保证你会开始怀疑:以前没有它的时候,自己到底是怎么浏览网页的。你的鼠标,说不定真的会开始落灰!🖱️➡️⌨️


如果你还想看更多效率工具和配置,欢迎继续看看我的 其他工具文章 以及 配置仓库,一起把开发环境打磨得更顺手。