Vim编辑器是UNIX上原始vi编辑器的继承者。作为Vim的一个分支,Neovim是一个旨在提高所有开发人员生活质量的编辑器,并且有比Vim更好的开发人员。Vim是经验丰富的系统管理员的绝佳选择。然而,NeoVim在开发人员中积累了大量的追随者。想知道为什么更多的开发者选择NeoVim而不是Vim?作为NeoVim的狂热用户,我可以想到以下原因。1.项目维护和功能改进您可能想知道“Vim如此受欢迎,特别是因为‘我不能再退出Vim’,Vim将成为用户的首选。为什么有人会forkVim并冒着浪费开发的风险时间?”好问题。Vim真的很受欢迎!但这并不意味着开发Vim的社区对项目本身的状态感到满意。相关:Vim9.0重大更新,Linux编辑器的新脚本语言https://www.linuxmi.com/vim-9-0.htmlVim目前的代码库有两个问题:培养成一个社区友好的项目,Vim的主要开发和讨论仍在邮件列表中。NeoVim自诞生以来,就着重于提高其可扩展性和易用性,例如内置终端、异步执行这两个重要功能以及弹出窗口(用于显示调试消息和自动完成建议)。后来,感谢社区,“压力”被Vim采用。与Neovim相比,Vim代码库的可维护性较差。2.代码完成(LSP)LSP或语言服务器协议是一种协议,它定义了编辑器如何与“语言服务器”通信以启用代码突出显示、语法检查、代码完成、嵌入式提示、类型提示等选项。否无论您是多么优秀的开发人员,在您的编辑器中获得类型提示、错误突出显示等可能都不会让您成为更好的开发人员。不过,它肯定会减少您的开发和/或调试时间。Neovim自带对LSP的开箱即用支持,并使用Lua进行进一步配置。然而,Vim需要一个外部插件来实现这个功能。3.更好地支持插件插件是插入现有事物并为其添加新功能的东西。在这种情况下,编辑器插件是插入编辑器并提供更多功能的东西。Vim已经拥有如此丰富的插件支持和生态系统,以至于有一个专为Vim设计的插件管理器!但Neovim超越了Vim,允许使用“更通用的语言”在Lua中编写插件。并不是说Vim的内置语言不好,而是如果您想要类似IDE的功能,设置会变得很复杂。此外,对于实际的编程语言,此配置比Vim更容易。这意味着您甚至可以扩展或修改核心Neovim功能。这是一个特定于Neovim的插件列表,因为Vim不提供类似级别的可扩展性。4.并行启动我在上面讨论过,Neovim使用Lua作为插件配置的可选但附加的语言。但是你知道Neovim并行启动每个插件吗?这应该会让使用Neovim感觉更快,特别是如果你有需要几秒钟初始化的插件!5.嵌入编辑器的能力由于Neovim编辑器的代码库比Vim更易于维护,将核心编辑器嵌入到其他东西中的可能性成为现实。你现在终于可以在VSCode中拥有一个好的编辑器了
