Eric's Blog 时光荏苒,岁月如梭

为什么停止维护 SpaceVim

2025-05-03
Eric Wong

SpaceVim 这一项目起源于 2016 年 12 月份,于 2025 年 2 月 21 日停止维护。

项目的初衷

早期,开发这个项目的时候,是想做一个开箱即用的 Vim 配置,类似于 spacemacs 那样, 把不同语言功能所需要的配置及插件都放到一个模块里面。使用者不再需要自己配置各种插件, 只需要简单地启用对应语言模块就可以快速搭建 Vim 的开发环境。

遇到的问题

随着功能越来越多,代码越来越臃肿,速度也变得越来越慢。如果查看 git-log 的话,不难发现, 很大一部分内容是做速度的优化。

甚至,我也使用 Lua 重写的相当一部分的内置插件,包括但不限于:task, iedit, code-runner, leaderguide。

但是即便是使用 Lua 进行了重写,但是总的框架使用的是 Vim Script, 调用的时候还是使用 VimL 去调用 Lua 的代码,例如:

func! SpaceVim#test(...)
    lua require('task').start(require('spacevim').eval('a:000'))
endf

这样的话速度还是无法发挥到极致。

停止维护的原因

  1. 想使用纯 Lua 来写 Neovim 配置(nvim-config),不再兼容 Vim,因为我也很少再使用 Vim 了。
  2. 不想做 Neovim 老版本的兼容支持
  3. 单个功能插件独立维护,便于直接使用,我把原先 spacevim 中内置的很多功能, 做成了独立的 Neovim 插件(我的插件列表),这样如果喜欢 spacevim 中某个功能的用户,还可以继续单独使用。

版权声明:本文为原创文章,遵循 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)版权协议,转载请附上原文出处链接和本声明。


延生阅读

分享到:

评论