Editing Neovim
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences
Neovim - the next generation of the [[Vim]] text editor '''Author:''' Thiago de Arruda '''Homepage:''' http://neovim.org/ '''Family:''' VIMFamily '''Platform:''' OS X, Linux '''License:''' Vim license Neovim is the next generation of the [[Vim]] text editor. Background Development of Neovim started after a succesfull Bountysource fundraiser - https://www.bountysource.com/teams/neovim/fundraiser - The source code is available at GitHub https://github.com/neovim/neovim 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 maintaing vim's big codebase, Bram Moolenaar has to be extra-careful when 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. Solution 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 needing explicit support from the editor. By achieving these goals, new developers will be more inclined to join the community, consequently improving the editor for all users. Development Goals (Bountysource fundraiser) * Reimplement vimscript as a language that compiles to lua. In other words, vimscript will be to lua what coffeescript is to javascript. This will have the following benefits: - Vimscript will run much faster, especially if luajit is used. Luajit is probably the fastest scripting runtime out there: https://gist.github.com/spion/3049314 - Instead of reinventing the wheel, vimscript will be backed by one of the best scripting engines out there. Lua is fast, small and very well designed. - By removing tons of legacy C code that implement parsing, garbage collection and other runtime features, we will automatically get rid of most vim bugs related to vimscript. * Refactor the editor into a library. It will require changing the way vim reads input or emits output. This will allow programs to embed the editor in the same process for better efficiency (no more marshalling of json/msgpack documents between the GUI and the core).
Summary:
This change is a minor edit.
Please calculate
*
=
(Visit
Preferences
to set your user name.)
View other revisions
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences