SpaceVim 这一项目起源于 2016 年 12 月份,于 2025 年 2 月 21 日停止维护。
早期,开发这个项目的时候,是想做一个开箱即用的模块化 Vim 配置,类似于 spacemacs 那样,把不同语言功能所需要的配置及插件都放到一个模块里面。使用者不再需要自己配置各种插件,只需要简单地启用对应语言或者功能的模块就可以快速搭建 Vim 的开发环境。
随着功能越来越多,代码越来越臃肿,速度也变得越来越慢。如果查看git log 的话,不难发现,很大一部分内容是做速度的优化。
甚至,我也使用 Lua 重写的相当一部分的内置插件,包括状态栏、标签栏、任务管理、项目管理、多光标、快捷键导航等等。
但是即便是使用 Lua 进行了重写,但是因为要兼容老版本的 Neovim 以及兼容 Vim,因此整体总的框架使用的是 Vim Script,调用 Lua 插件的时候还是使用 VimL 去调用 Lua 的代码,例如:
func! SpaceVim#test(...)lua require('task').start(require('spacevim').eval('a:000'))endf这样的话速度还是无法发挥到极致。
版权声明:本文为原创文章,遵循署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)版权协议,转载请附上原文出处链接和本声明。