← 返回博客

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 看起来“没有 UI”,但这是一种障眼法。在 :& 之后,您处于 ex 模式,其中充满了使其良好运行的功能。特别是,我想将以下内容带到 Zed

  • 命令面板中的文件名补全 e README.md,或 w README.md.latest 例如
  • 命令历史记录,因此您可以修复一个 g// 而无需再次键入
  • norm 运行一系列击键(以及其他一些缺失的命令)

还有其他 Vim UI 可以引入 Zed

  • registers 查看您的寄存器。
  • marks 类似地。

有趣的是,与今天的 Zed 相比,寄存器和标记在 Vim 中都更强大,因为它们将状态持久保存到磁盘,以便在重新启动后恢复。我们也需要构建这个功能。

最后,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,但我始终更喜欢先讨论一下。

如果我遗漏或没有优先考虑任何内容,请将其添加到 问题跟踪器,或者赞成那里已经存在的东西。