Vim vs Neovim:2021 年有什么不同?

在本文中,我们将了解 Vim 与 Neovim 之间的区别。 如果你几十年来一直在寻找一个功能强大的基于终端的仿真器,那么 Vim 拥有首选软件。 事实上,它是随着时间的推移而幸存下来的最古老的开源项目之一。 有很多非常好的终端编辑器,比如 nano,但它们无处可去 close vim 中的可扩展性和功能和模式。

这种情况一直持续到 2014 年,当时 vim 的一个分支 Neo-vim 出现在开源领域。 Neo-vim 经常备受争议,因为 vim 的未来是为现代用户设计的。 多年来,Vim(尤其是在 Neo-vim 出现之后)和 Neo-vim 都有了很大的发展。

目录

Vim vs Neovim – 快速总结

现在,如果您被 Neo-vim 的新前景所吸引,但不确定是否要从古老且值得信赖的 vim 切换,这里是 Neo-vim 和 vim 之间差异的快速列表,到目前为止。

不同点维姆新病毒
当前稳定版本8.20.4.4
可扩展可扩展性较差更具可扩展性
LSP 支持依赖于其他插件内置
支持其他软件在开发版本中

表 1:Neo-Vim 和 Vim 之间差异的简短总结

Vim 与 Neovim 的区别

让我们深入了解这些差异的更多细节。

1. 开发者社区

尽管 Vim 和 Neovim 都是开源项目并且托管在 GitHub 上,但它们的开发方式存在显着差异。 大型开源项目通常由支持和开发项目的开发人员社区支持。

近年来,vim 并非如此。 长期以来,来自世界各地的开发人员为 Vim 做出了贡献。 但现在 Bram Moolenaar 就像一个看门人,严格控制要添加到 vim 的功能。

NeoVim 现在更像是一个社区驱动的项目,仍然有各种各样的人做出贡献。 与 vim 相比,用户群和开发者群非常小,但它是一个积极发展的项目。

2. 特点

在功能方面,Vim 8 和当前稳定版 Neo-vim 4.0 是不相上下的。 当 Neo-Vim 开箱即用后被 vim 社区广泛接受后,Bram 一直在努力在 Vim 中包含内置终端、异步支持等功能。

这种情况应该会随着 Neo-Vim 5.0 的出现而改变。 Neovim 5.0 已经出现了一段时间。 它将为 Neo-Vim 带来原生 Lua 支持,并升级文章中讨论的 LSP 支持。

3. 可扩展性

Neovim 是一个相当近期的发展,另一方面,Vim 已经存在了更长的时间。 模块化和可扩展代码不是优先事项的时代。 因此 vim 的代码库更加复杂和相互关联,因此难以添加新功能。

Neo-Vim 显然没有犯同样的错误。 Neo-vim 是模块化且高度可扩展的,就像您希望的现代软件一样。

4.语言服务器协议

“语言服务器旨在提供特定于语言的智能,并通过支持进程间通信的协议与开发工具进行通信。 语言服务器协议 (LSP) 背后的想法是标准化此类服务器和开发工具如何通信的协议。 “

LSP 旨在为我们的代码提供更好、更有用的语言洞察力。 当涉及到复杂的语言细节时,Vim 自动完成插件几乎不能胜任。 对 LSP 的支持是终端之神和 vs-Code 等基于电子的编辑器之间的主要区别之一。

语言服务器 协议支持与 Neo-Vim 一起开箱即用,与 Lua 一起使用使其更加可用和高度可定制。 另一方面,Vim 官方不支持 LSP,仍然需要安装第三方插件。

5. 成熟度

在这种情况下,软件成熟度的比较有点复杂。 Neo-Vim 是 Vim 的一个分支,因此预计它将具有 Vim 以前的所有功能,但近年来 Vim 已被彻底重构。

Vim 目前处于 v8.2(稳定版),Neo-Vim 处于 v0.4.4。 Vim 是您更有可能遇到遗留代码的软件,另一方面,Neo-Vim 距离它承诺的软件还有很大的一步。

6.嵌入另一个程序

Vim 键绑定因其人体工程学和灵活性而非常受欢迎。 用户通常更希望在编辑器、浏览器等中进行类似 vim 的移动,因为它让生活更轻松。

已经投入了大量精力来制作允许类似 vim 的动作的插件。 一些值得注意的是 用于 vs 代码的 Vim, Vimium 为 Chrome, 三指为 Firefox等等。但是这些插件缺少一件非常重要的东西——原创性。 他们不是 vim。 他们只是试图模仿 vim 的行为方式。

Neo-vim 5 允许直接调用 neo-vim,从而使 vim 与其他顶层软件的交互更容易。 这部分是由于 Neo-Vim 对 Lua 语言的内置支持。 因此,对于想要在 vim 之外使用 vim/nvim 快捷方式的 vim 用户来说,Neo-vim 有望让他们的生活更轻松。

结论

Vim 和 Neo-Vim 之间的功能差异目前不会持续超过几个月(除了少数核心差异)。 多亏了 Bram,他把 Vim 保持在第一。如果你正在寻找一个终端编辑器,从 neovim 开始,vim 并没有什么不同。 Neo-Vim 在更现代的使用方面有所作为。 跟随这种软件竞争将我们带到哪里将会很有趣。 到那时请继续关注更多此类文章。