← 返回博客

Vim 2025 年路线图

2025 年 1 月 22 日

Zed 的 Vim 模式持续改进!我最新最喜欢的功能是 ! 操作符,它是常见 Vim 操作符中的“最后一个坚守者”。

! 操作符实际应用。

但我们也在命令面板方面取得了进展,例如添加了 g//v//,用于在匹配(或不匹配)的行上执行命令。

命令面板中 g// 的演示。

更广泛的社区也一直在努力引入顶级的 Vim 插件。我们有 vim-surround、sneak 的版本,最近还有 tree-sitter 文本对象。

展示“函数内更改”。

总而言之,如果你今天使用 Vim,那么你在编辑器中日常想做的绝大部分事情都将在 Zed 中完美运行,就像在 Vim 中一样。

那么,接下来呢?

2025 年,我想在 Zed 中的 Vim 方面重点关注三个领域

  1. 构建非编辑器用户体验
  2. 提升与 Vim 逐个边缘案例匹配的标准。
  3. 创建一个新的、更好的多光标 Vim 集成

非编辑器用户体验

虽然 Vim 似乎“没有用户界面”,但这是一种障眼法。在输入 : 后,你进入了 ex 模式,它充满了使其良好工作的功能。特别是,我想把以下功能带到 Zed 中:

  • 命令面板中的文件名补全,例如 :e README.md:w README.md.latest
  • 命令历史,这样你就可以修复一个 g// 而无需再次输入。
  • :norm 用于运行一系列按键(以及其他一些缺失的命令)

还有其他 Vim UI 可以引入 Zed:

  • :registers 查看寄存器。
  • :marks 类似。

有趣的是,Vim 中的寄存器和标记比 Zed 更强大,因为它们在重启后仍然会将状态持久化到磁盘。我们也需要构建这个功能。

最后,Zed 有 Vim 没有的显著功能,我希望它们感觉像 Vim 原生功能一样:

  • 协作功能的键盘快捷键,如“跟随下一个人”,以及通过键盘加入和离开通话、静音/共享等操作方式。
  • AI 编辑预测器的更好快捷键和普通模式下的处理。同样适用于内联助手,它目前在 Vim 模式下也经常出现问题。
  • 将更多类似 netrw 的绑定引入项目面板。
  • 与即将推出的 Git 面板更紧密的集成。

一致性

从 Vim 转向 Zed 的人被 Zed“默认即用”的特性所吸引:语言服务器开箱即用,以及高级功能(AI、协作)。但是,没有什么比一个无法完全像 Vim 一样工作的 Vim 模式更令人沮丧的了。我们收到了许多 VS Code Vim 扩展的“难民”,他们抱怨最多的就是“感觉不对劲”。

Zed 已经非常接近 Vim 了。我们有广泛的“并排”测试,通过运行无头 Neovim 来确保我们的键盘快捷键执行完全相同的操作。尽管如此,总有更多的事情要做,既要添加剩余的次要移动,例如 zL/zH,又要修复 d]} 等中的边缘情况。

真正出色的多光标体验

Zed 具有多光标功能,并且 Zed 的 Vim 模式在大多数情况下与多光标“按预期”工作。我想解决的问题有两个方面:

  • 整理绑定,使其围绕 Vim 和多光标形成一套连贯的功能集。
  • 特别是确保您可以轻松地旋转进入多光标,就像它是一个不同的模式一样。
  • 为 Zed 添加支持,以便在您选择错误时仅移动您的一个选择。

有一些编辑器在这方面有先例,特别是 Kakoune 和 Helix;但我还想从 Vim 插件中获取灵感。

让我们开始吧

如果您想帮助完成其中任何一项工作,可以预约与我结对编程。也欢迎您查阅Vim 频道笔记中的列表,并选择您感兴趣的事项。虽然我很乐意接受突如其来的 PR,但我总是更喜欢先沟通讨论。

如果我遗漏了什么,或者没有优先考虑什么,请将其添加到问题追踪器,或者为您认为重要的事情点赞。


正在寻找更好的编辑器吗?

您今天就可以在 macOS、Windows 或 Linux 上试用 Zed。立即下载


我们正在招聘!

如果您对我们博客中涵盖的主题充满热情,请考虑加入我们的团队,帮助我们实现软件开发的未来。