Bram Moolenaar 在写 Vim 时还是 90 年代初,至今已经 20 多年
过去了。其中,不仅包含了大量的遗留代码,而且程序的维护、Bug 的
修复、以及新特性的添加都变得越来越困难。为了解决这些问题,Neovim
项目应运而生。Neo 即“新”之意,它是 Vim 在这个新时代的重生。
根据 Neovim 的自述说明,在总体上,它将达到下列目的:
- 通过简化维护以改进 Bug 修复及特性添加的速度;
- 分派各个开发人员的工作;
- 实现新的、现代化的用户界面,而不必修改核心源代码;
- 利用新的、基于协同进程的新插件架构改善扩展性,并支持使用任何语言
编写插件;
另外补充写更多的背景资料:
- 现有 Vim,所有代码都是作者一个人 Review 的,维护起来很困难。Neovim 准备建立更利于合作的开发模式。
- Neovim 会将编辑功能和用户界面分离,通过 RPC 进行通信,这样 Vim 就可以直接嵌入 IDE,而不是像现在一样每个 IDE 重新实现 Vim 的编辑功能。
- 新的插件架构,可以让插件功能异步执行,而不是像现在一样阻塞地执行,这样效率更高,功能更强。
- 新的插件架构,将会替代原本的 Python、Ruby 等支持,这样编译 Vim 的时候就不用特意开启这些支持了。
- 另外 Neovim 还去除了一些冷门平台的支持,改进了构建系统和跨平台特性。
无论你想尝试,还是贡献 Neovim,都可以通过 GitHub 获取其源代码。 |