neovim 0.7 releases: Vim-fork focused on extensibility and usability

Neovim is a project that seeks to aggressively refactor Vim source code in order to achieve the following goals:

  • Simplify maintenance to improve the speed that bug fixes and features get merged.
  • Split the work among multiple developers.
  • Enable the implementation of new/modern user interfaces without any modifications to the core source.
  • Improve the extensibility power with a new plugin architecture based on coprocesses. Plugins will be written in any programming language without any explicit support from the editor.

By achieving those goals new developers will soon join the community, consequently improving the editor for all users.

neovim

It is important to emphasize that this is not a project to rewrite Vim from scratch or transform it into an IDE (though the new features provided will enable IDE-like distributions of the editor). The changes implemented here should have little impact on Vim’s editing model or Vimscript in general. Most Vimscript plugins should continue to work normally.

The following topics contain brief explanations of the major changes (and motivations) that will be performed in the first iteration.

Neovim Features

Neovim 0.7 released.

Changelog

BREAKING CHANGES

  • Support for Python 2 is dropped. For Python 3, the minimum supported version is 3.6. Legacy :pythonx commands are still available, and always uses the python 3 provider.
  • api: Existing usages of nvim_buf_set_text that use negative line numbers will be off-by-one.
  • highlight: signature of vim.highlight.range was changed.
  • input: distinguish between some input keys which previously were synonyms. This will break some exiting mappings.
    • <cr><tab> and <esc> are no longer considered equivalent to <c-m><c-i> and <c-[> respectively. In case the terminal or GUI supports distinguishing these keys, these can now be mapped separately. But even if the terminal only can send one code you might still need to change what variant is used in the config.

More

Download