Vim is a powerful text editor with a big community that is constantly growing. Even though the editor is about two decades old, people still extend and want to improve it, mostly using vimscript or one of the supported scripting languages.
Over its more than 20 years of life, vim has accumulated about 300k lines of scary C89 code that very few people understand or have the guts to mess with.
Another issue is that as the only person responsible for maintaining vim’s big codebase, Bram Moolenaar has to be extra careful before accepting patches, because once merged, the new code will be his responsibility.
These problems make it very difficult to have new features and bug fixes merged into the core. Vim just can’t keep up with the development speed of its plugin ecosystem.
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 between 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."