neovim/neovim ↗
Created Dec 23, 2020 · View the neovim/neovim repository page
Vim-fork focused on extensibility and usability
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
688
Lines of Code
45,668
From
Jan 31, 2014
To
Dec 31, 2020
About neovim/neovim
Neovim is a modern refactoring of the Vim text editor designed to improve maintainability, encourage community contributions, and enable advanced features without core modifications. The project prioritizes extensibility through a well-defined API and splits functionality into modular subsystems for easier development. It maintains compatibility with most existing Vim plugins while introducing new capabilities.
The editor includes a built-in terminal emulator, asynchronous job control, and an event-loop architecture that allows external applications to interact with it via RPC in numerous programming languages including Python, Lua, JavaScript, Go, and Rust. Additional features include modern graphical user interfaces, shared editor state across multiple instances, and support for XDG base directory standards. The codebase uses CMake for building and is organized into distinct subsystems covering the API layer, Vimscript evaluation, event handling, and Lua integration.
Neovim targets developers and power users who want a highly customizable, extensible text editor with a modern architecture. Pre-built packages are available for Windows, macOS, and Linux through major package managers including Homebrew, Debian, Ubuntu, Fedora, and Arch Linux. Users can transition from Vim with dedicated documentation, and the project welcomes contributions under the Apache 2.0 license.