neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

README.md (5261B)


<h1 align="center"> <img src="https://raw.githubusercontent.com/neovim/neovim.github.io/master/static/logos/neovim-logo-300x87.png" alt="Neovim">

<a href="https://neovim.io/doc/">Documentation</a> | <a href="https://app.element.io/#/room/#neovim:matrix.org">Chat</a> </h1>

![Coverity Scan analysis](https://scan.coverity.com/projects/2227) ![Packages](https://repology.org/metapackage/neovim) ![Debian CI](https://buildd.debian.org/neovim) ![Downloads](https://github.com/neovim/neovim/releases/)

Neovim is a project that seeks to aggressively refactor Vim in order to:

See the Introduction wiki page and [Roadmap] for more information.

Features


from any language including C/C++, C#, Clojure, D, Elixir, Go, Haskell, Java/Kotlin, JavaScript/Node.js, Julia, Lisp, Lua, Perl, Python, Racket, Ruby, Rust

See [:help nvim-features][nvim-features] for the full list, and [:help news][nvim-news] for noteworthy changes in the latest version!

Install from package


Pre-built packages for Windows, macOS, and Linux are found on the Releases page.

[Managed packages] are in [Homebrew], [Debian], [Ubuntu], [Fedora], [Arch Linux], [Void Linux], [Gentoo], and more!

Install from source


See BUILD.md and supported platforms for details.

The build is CMake-based, but a Makefile is provided as a convenience. After installing the dependencies, run the following command.

make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

To install to a non-default location:

make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_INSTALL_PREFIX=/full/path/
make install

CMake hints for inspecting the build:

Transitioning from Vim


See `:help nvim-from-vim` for instructions.

Project layout


├─ cmake/ CMake utils ├─ cmake.config/ CMake defines ├─ cmake.deps/ subproject to fetch and build dependencies (optional) ├─ runtime/ plugins and docs ├─ src/nvim/ application source code (see src/nvim/README.md) │ ├─ api/ API subsystem │ ├─ eval/ Vimscript subsystem │ ├─ event/ event-loop subsystem │ ├─ generators/ code generation (pre-compilation) │ ├─ lib/ generic data structures │ ├─ lua/ Lua subsystem │ ├─ msgpack_rpc/ RPC subsystem │ ├─ os/ low-level platform code │ └─ tui/ built-in UI └─ test/ tests (see test/README.md)

License


Neovim contributions since [b17d96][license-commit] are licensed under the Apache 2.0 license, except for contributions copied from Vim (identified by the vim-patch token). See LICENSE.txt for details.

[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16afb1a498a89d803 [nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features [nvim-news]: https://neovim.io/doc/user/news.html [Roadmap]: https://neovim.io/roadmap/ [advanced UIs]: https://github.com/neovim/neovim/wiki/Related-projects#gui [Managed packages]: ./INSTALL.md#install-from-package [Debian]: https://packages.debian.org/testing/neovim [Ubuntu]: https://packages.ubuntu.com/search?keywords=neovim [Fedora]: https://packages.fedoraproject.org/pkgs/neovim/neovim/ [Arch Linux]: https://www.archlinux.org/packages/?q=neovim [Void Linux]: https://voidlinux.org/packages/?arch=x86_64&q=neovim [Gentoo]: https://packages.gentoo.org/packages/app-editors/neovim [Homebrew]: https://formulae.brew.sh/formula/neovim

<!-- vim: set tw=80: -->