2022-03-27 10:25:55 -07:00
< h1 align = "center" >
< img src = "https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo-300x87.png" alt = "Neovim" >
< / h1 >
2017-02-17 09:44:10 -07:00
2021-05-18 20:46:37 -07:00
[Documentation ](https://neovim.io/doc/general/ ) |
2021-08-22 16:56:41 -07:00
[Chat ](https://app.element.io/#/room/#neovim:matrix.org ) |
2019-02-04 05:21:35 -07:00
[Twitter ](https://twitter.com/Neovim )
2014-02-20 19:08:59 -07:00
2021-08-28 14:00:54 -07:00
[![GitHub CI ](https://github.com/neovim/neovim/workflows/CI/badge.svg )](https://github.com/neovim/neovim/actions?query=workflow%3ACI+branch%3Amaster+event%3Apush)
2018-10-31 12:19:58 -07:00
[![Coverity Scan analysis ](https://scan.coverity.com/projects/2227/badge.svg )](https://scan.coverity.com/projects/2227)
[![Clang analysis ](https://neovim.io/doc/reports/clang/badge.svg )](https://neovim.io/doc/reports/clang)
[![PVS-Studio analysis ](https://neovim.io/doc/reports/pvs/badge.svg )](https://neovim.io/doc/reports/pvs/PVS-studio.html.d)
2017-05-03 03:37:32 -07:00
2017-12-27 11:30:23 -07:00
[![Packages ](https://repology.org/badge/tiny-repos/neovim.svg )](https://repology.org/metapackage/neovim)
2017-10-27 10:34:02 -07:00
[![Debian CI ](https://badges.debian.net/badges/debian/testing/neovim/version.svg )](https://buildd.debian.org/neovim)
2017-11-14 02:47:49 -07:00
[![Downloads ](https://img.shields.io/github/downloads/neovim/neovim/total.svg?maxAge=2592001 )](https://github.com/neovim/neovim/releases/)
2019-12-23 22:43:25 -07:00
[![nvim ](https://snapcraft.io//nvim/badge.svg )](https://snapcraft.io/nvim)
2014-02-22 10:29:21 -07:00
2014-03-29 15:18:58 -07:00
Neovim is a project that seeks to aggressively refactor Vim in order to:
2014-02-24 11:48:18 -07:00
2016-06-03 12:05:44 -07:00
- Simplify maintenance and encourage [contributions ](CONTRIBUTING.md )
2014-03-07 14:25:44 -07:00
- Split the work between multiple developers
2017-02-17 09:41:30 -07:00
- Enable [advanced UIs] without modifications to the core
- Maximize [extensibility ](https://github.com/neovim/neovim/wiki/Plugin-UI-architecture )
2018-10-31 12:19:58 -07:00
See the [Introduction ](https://github.com/neovim/neovim/wiki/Introduction ) wiki page and [Roadmap]
2017-02-17 09:44:10 -07:00
for more information.
2014-02-20 19:08:59 -07:00
2018-07-22 18:06:27 -07:00
Features
--------
- Modern [GUIs ](https://github.com/neovim/neovim/wiki/Related-projects#gui )
2019-01-10 17:20:15 -07:00
- [API access ](https://github.com/neovim/neovim/wiki/Related-projects#api-clients )
2019-02-04 05:21:35 -07:00
from any language including C/C++, C#, Clojure, D, Elixir, Go, Haskell, Java,
JavaScript/Node.js, Julia, Lisp, Lua, Perl, Python, Racket, Ruby, Rust
2018-07-22 18:06:27 -07:00
- Embedded, scriptable [terminal emulator ](https://neovim.io/doc/user/nvim_terminal_emulator.html )
- Asynchronous [job control ](https://github.com/neovim/neovim/pull/2247 )
- [Shared data (shada) ](https://github.com/neovim/neovim/pull/2506 ) among multiple editor instances
- [XDG base directories ](https://github.com/neovim/neovim/pull/3470 ) support
2018-10-31 12:19:58 -07:00
- Compatible with most Vim plugins, including Ruby and Python plugins
2018-07-22 18:06:27 -07:00
2022-10-20 03:04:32 -07:00
See [`:help nvim-features`][nvim-features] for the full list, and [`:help news`][nvim-news] for noteworthy changes in the latest version!
2018-07-22 18:06:27 -07:00
2018-12-08 17:49:59 -07:00
Install from package
--------------------
Pre-built packages for Windows, macOS, and Linux are found on the
[Releases ](https://github.com/neovim/neovim/releases/ ) page.
2021-07-03 05:52:33 -07:00
[Managed packages] are in [Homebrew], [Debian], [Ubuntu], [Fedora], [Arch Linux], [Void Linux], [Gentoo], and more!
2018-12-08 17:49:59 -07:00
2017-02-17 09:41:30 -07:00
Install from source
-------------------
2022-10-16 15:31:51 -07:00
See the [Building Neovim ](https://github.com/neovim/neovim/wiki/Building-Neovim ) wiki page and [supported platforms ](https://neovim.io/doc/user/support.html#supported-platforms ) for details.
2021-04-18 08:31:43 -07:00
2019-02-15 16:23:51 -07:00
The build is CMake-based, but a Makefile is provided as a convenience.
2021-04-18 08:31:43 -07:00
After installing the dependencies, run the following command.
2019-02-15 16:23:51 -07:00
2017-02-17 09:41:30 -07:00
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
2019-02-15 16:23:51 -07:00
To install to a non-default location:
2017-08-19 05:13:14 -07:00
2022-06-04 12:15:06 -07:00
make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_INSTALL_PREFIX=/full/path/
2017-08-19 05:13:14 -07:00
make install
2021-08-21 18:26:33 -07:00
CMake hints for inspecting the build:
2019-02-15 16:23:51 -07:00
- `cmake --build build --target help` lists all build targets.
- `build/CMakeCache.txt` (or `cmake -LAH build/` ) contains the resolved values of all CMake variables.
2018-12-08 17:49:59 -07:00
- `build/compile_commands.json` shows the full compiler invocations for each translation unit.
2017-12-27 11:30:23 -07:00
2018-07-22 18:06:27 -07:00
Transitioning from Vim
--------------------
See [`:help nvim-from-vim` ](https://neovim.io/doc/user/nvim.html#nvim-from-vim ) for instructions.
2017-03-13 06:07:55 -07:00
Project layout
--------------
2017-08-15 15:58:06 -07:00
├─ ci/ build automation
2022-06-27 03:08:59 -07:00
├─ cmake/ CMake utils
├─ cmake.config/ CMake defines
├─ cmake.deps/ subproject to fetch and build dependencies (optional)
├─ runtime/ plugins and docs
2018-12-08 17:31:34 -07:00
├─ src/nvim/ application source code (see src/nvim/README.md)
2017-08-15 15:58:06 -07:00
│ ├─ api/ API subsystem
│ ├─ eval/ VimL subsystem
│ ├─ event/ event-loop subsystem
│ ├─ generators/ code generation (pre-compilation)
│ ├─ lib/ generic data structures
2018-10-31 12:19:58 -07:00
│ ├─ lua/ Lua subsystem
2017-08-15 15:58:06 -07:00
│ ├─ msgpack_rpc/ RPC subsystem
│ ├─ os/ low-level platform code
│ └─ tui/ built-in UI
└─ test/ tests (see test/README.md)
2016-08-09 21:47:04 -07:00
License
-------
2014-02-22 04:57:44 -07:00
2019-12-10 02:24:20 -07:00
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 for details.
2014-02-22 04:57:44 -07:00
Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation for needy children in Uganda. Please see the
kcc section of the vim docs or visit the ICCF web site, available at these URLs:
http://iccf-holland.org/
http://www.vim.org/iccf/
http://www.iccf.nl/
You can also sponsor the development of Vim. Vim sponsors can vote for
features. The money goes to Uganda anyway.
2014-06-30 01:37:41 -07:00
[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16afb1a498a89d803
2016-08-09 21:47:04 -07:00
[nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features
2022-10-08 08:49:09 -07:00
[nvim-news]: https://neovim.io/doc/user/news.html
2016-08-09 21:47:04 -07:00
[Roadmap]: https://neovim.io/roadmap/
2017-05-20 14:49:46 -07:00
[advanced UIs]: https://github.com/neovim/neovim/wiki/Related-projects#gui
2019-02-04 05:21:35 -07:00
[Managed packages]: https://github.com/neovim/neovim/wiki/Installing-Neovim#install-from-package
2017-02-17 09:41:30 -07:00
[Debian]: https://packages.debian.org/testing/neovim
[Ubuntu]: http://packages.ubuntu.com/search?keywords=neovim
2022-02-27 18:14:16 -07:00
[Fedora]: https://packages.fedoraproject.org/pkgs/neovim/neovim/
2017-02-17 09:41:30 -07:00
[Arch Linux]: https://www.archlinux.org/packages/?q=neovim
2021-07-03 05:52:33 -07:00
[Void Linux]: https://voidlinux.org/packages/?arch=x86_64& q=neovim
2017-06-02 14:45:32 -07:00
[Gentoo]: https://packages.gentoo.org/packages/app-editors/neovim
2021-01-18 01:41:25 -07:00
[Homebrew]: https://formulae.brew.sh/formula/neovim
2014-06-27 15:32:58 -07:00
2014-02-22 05:50:34 -07:00
<!-- vim: set tw=80: -->