2017-02-17 09:41:30 -07:00
|
|
|
[![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo-600x173.png)](https://neovim.io)
|
2017-02-17 09:44:10 -07:00
|
|
|
|
2016-10-12 14:52:05 -07:00
|
|
|
[Wiki](https://github.com/neovim/neovim/wiki) |
|
|
|
|
[Documentation](https://neovim.io/doc) |
|
|
|
|
[Twitter](https://twitter.com/Neovim) |
|
|
|
|
[Community](https://neovim.io/community/) |
|
2016-10-12 15:06:32 -07:00
|
|
|
[Gitter **Chat**](https://gitter.im/neovim/neovim)
|
2014-02-20 19:08:59 -07:00
|
|
|
|
2018-10-31 12:19:58 -07:00
|
|
|
[![Travis build status](https://travis-ci.org/neovim/neovim.svg?branch=master)](https://travis-ci.org/neovim/neovim)
|
|
|
|
[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/urdqjrik5u521fac/branch/master?svg=true)](https://ci.appveyor.com/project/neovim/neovim/branch/master)
|
|
|
|
[![Codecov coverage](https://img.shields.io/codecov/c/github/neovim/neovim.svg)](https://codecov.io/gh/neovim/neovim)
|
|
|
|
[![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/)
|
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
|
|
|
|
2016-08-09 21:47:04 -07:00
|
|
|
[![Throughput Graph](https://graphs.waffle.io/neovim/neovim/throughput.svg)](https://waffle.io/neovim/neovim/metrics)
|
|
|
|
|
2018-07-22 18:06:27 -07:00
|
|
|
Features
|
|
|
|
--------
|
|
|
|
|
|
|
|
- Modern [GUIs](https://github.com/neovim/neovim/wiki/Related-projects#gui)
|
|
|
|
- [API](https://github.com/neovim/neovim/wiki/Related-projects#api-clients)
|
2018-10-31 12:19:58 -07:00
|
|
|
access from any language including Clojure, Lisp, Go, Haskell, Lua,
|
|
|
|
JavaScript, Perl, Python, Ruby, and 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
|
|
|
|
|
|
|
See [`:help nvim-features`][nvim-features] for the full list!
|
|
|
|
|
2017-02-17 09:41:30 -07:00
|
|
|
Install from source
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
make CMAKE_BUILD_TYPE=RelWithDebInfo
|
|
|
|
sudo make install
|
|
|
|
|
2018-03-18 15:24:37 -07:00
|
|
|
To install to a non-default location, set `CMAKE_INSTALL_PREFIX`:
|
2017-08-19 05:13:14 -07:00
|
|
|
|
|
|
|
make CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=/full/path/"
|
|
|
|
make install
|
|
|
|
|
2018-03-18 15:24:37 -07:00
|
|
|
To list all targets:
|
|
|
|
|
|
|
|
cmake --build build --target help
|
|
|
|
|
2018-11-03 13:28:07 -07:00
|
|
|
To skip "bundled" dependencies (`third-party/*`) define `USE_BUNDLED=NO`:
|
|
|
|
|
|
|
|
sudo apt install gperf libluajit-5.1-dev libunibilium-dev libmsgpack-dev libtermkey-dev libvterm-dev libjemalloc-dev
|
|
|
|
make USE_BUNDLED=NO
|
2017-12-27 11:30:23 -07:00
|
|
|
|
2018-10-31 12:19:58 -07:00
|
|
|
See the [Building Neovim](https://github.com/neovim/neovim/wiki/Building-Neovim) wiki page for details.
|
2017-02-17 09:41:30 -07:00
|
|
|
|
|
|
|
Install from package
|
|
|
|
--------------------
|
|
|
|
|
2018-10-31 12:19:58 -07:00
|
|
|
Pre-built packages for Windows, macOS, and Linux are found on the
|
2017-05-20 14:49:46 -07:00
|
|
|
[Releases](https://github.com/neovim/neovim/releases/) page.
|
|
|
|
|
2017-06-02 14:45:32 -07:00
|
|
|
Managed packages are in [Homebrew], [Debian], [Ubuntu], [Fedora], [Arch Linux], [Gentoo],
|
2017-05-20 14:49:46 -07:00
|
|
|
and [more](https://github.com/neovim/neovim/wiki/Installing-Neovim)!
|
2017-02-17 09:41:30 -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
|
|
|
|
├─ cmake/ build scripts
|
|
|
|
├─ runtime/ user plugins/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
|
2018-10-31 12:19:58 -07:00
|
|
|
├─ third-party/ CMake subproject to build dependencies
|
2017-08-15 15:58:06 -07:00
|
|
|
└─ test/ tests (see test/README.md)
|
|
|
|
|
2016-08-09 21:47:04 -07:00
|
|
|
License
|
|
|
|
-------
|
2014-02-22 04:57:44 -07:00
|
|
|
|
2014-06-27 15:32:58 -07:00
|
|
|
Neovim is licensed under the terms of the Apache 2.0 license, except for
|
|
|
|
parts that were contributed under the Vim license.
|
|
|
|
|
2015-10-26 22:07:24 -07:00
|
|
|
- Contributions committed before [b17d96][license-commit] remain under the Vim
|
|
|
|
license.
|
2014-06-27 15:32:58 -07:00
|
|
|
|
|
|
|
- Contributions committed after [b17d96][license-commit] are licensed under
|
2015-03-16 10:52:13 -07:00
|
|
|
Apache 2.0 unless those contributions were copied from Vim (identified in
|
2014-06-27 15:32:58 -07:00
|
|
|
the commit logs by the `vim-patch` token).
|
|
|
|
|
2014-06-30 10:59:56 -07:00
|
|
|
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
|
|
|
|
[Roadmap]: https://neovim.io/roadmap/
|
2017-05-20 14:49:46 -07:00
|
|
|
[advanced UIs]: https://github.com/neovim/neovim/wiki/Related-projects#gui
|
2017-02-17 09:41:30 -07:00
|
|
|
[Homebrew]: https://github.com/neovim/homebrew-neovim#installation
|
|
|
|
[Debian]: https://packages.debian.org/testing/neovim
|
|
|
|
[Ubuntu]: http://packages.ubuntu.com/search?keywords=neovim
|
2018-10-31 12:19:58 -07:00
|
|
|
[Fedora]: https://apps.fedoraproject.org/packages/neovim
|
2017-02-17 09:41:30 -07:00
|
|
|
[Arch Linux]: https://www.archlinux.org/packages/?q=neovim
|
2017-06-02 14:45:32 -07:00
|
|
|
[Gentoo]: https://packages.gentoo.org/packages/app-editors/neovim
|
2014-06-27 15:32:58 -07:00
|
|
|
|
2014-02-22 05:50:34 -07:00
|
|
|
<!-- vim: set tw=80: -->
|