Why make another Vim?

Neovim is a fork of Vim, that branched out into its own thing in 2014. Neovim aims to address a few core issues about Vim:

  • Working with a 30-year-old code base while maintaining backward compatibility is hard.
  • It's very difficult to write certain kinds of plugins, asynchronous operations being a huge culprit (asynchronous support has been added to Vim in version 8.0, some time after Neovim was forked).
  • In fact, writing plugins is difficult overall, and requires the developer to be comfortable in Vimscript.
  • Vim is difficult to use on modern systems without tinkering with .vimrc.

Neovim aims to solve these problems with the following methods:

  • Large-scale refactoring of the Vim code base, including choosing a single style guide, increasing test coverage
  • Removing support for legacy systems
  • Shipping Neovim with modern defaults
  • Providing a rich API for plugins and external programs to talk to, including Python and Lua plugin support

Vim is installed on a vast number of machines, which makes backward compatibility and rare corner cases important. By branching out, Neovim is able to move faster, experiment, make mistakes, and make Vim even better than it currently is.

Neovim matters because it makes it easier to add new features, as time goes on, and develop plugins. Hopefully, it'll attract more developers, and bring more perspectives and fresh ideas to the table as time goes on.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.251.22