Vim script C Lua Python C++ CMake Other
Latest commit 9ff0cc7 Aug 21, 2017 @jamessan jamessan committed on GitHub Merge pull request #6808 from nelstrom/normal-mode-terminal
Make :terminal remain in normal mode when created
Failed to load latest commit information.
busted/outputHandlers test/busted: eager-flushing TAP.lua handler Jul 29, 2017
ci ci/win: list build permutations explicitly (#7163) Aug 15, 2017
cmake win: integrate winpty (WIP) Aug 16, 2017
config build: linux does not always have execinfo.h (#7101) Jul 30, 2017
contrib cmake: Remove custom "Dev" build-type. (#6932) Jun 29, 2017
man 'guicursor': Empty means "block cursor in all modes". Apr 1, 2017
runtime Update documentation Aug 21, 2017
scripts doc: "terminal" always means "embedded terminal emulator" Aug 2, 2017
src Use Normal mode as default when opening a new terminal Aug 21, 2017
test Repair tui_spec functional tests Aug 21, 2017
third-party third-party: Bump win32yank to v0.0.4 and install arch-specific binary Jul 14, 2017
unicode Update unicode files Jun 29, 2017
.editorconfig add .editorconfig Feb 23, 2016
.gitignore git: ignore .nvimlog (#7074) Jul 26, 2017
.travis.yml travis: Move TSAN to last stage and allow failure Aug 13, 2017 Update backer URL Nov 12, 2015
CMakeLists.txt win: integrate winpty (WIP) Aug 16, 2017 doc: how to enable ASan/UBSan Jul 29, 2017 doc: Jul 8, 2017
LICENSE LICENSE: add LuaJIT notice. #899 Jun 30, 2014
Makefile ci: Also lint lua code in src/nvim/lua May 25, 2017 doc Aug 18, 2017
appveyor.yml ci: Ignore MINGW_64-gcov failures in overall ci status Aug 16, 2017
codecov.yml ci: Rename .codecov.yml → codecov.yml Aug 15, 2017


Wiki | Documentation | Twitter | Community | Gitter Chat

Travis Build Status AppVeyor Build status codecov Coverity Scan Build Clang Scan Build PVS-studio Check

Debian Downloads

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

See the wiki and Roadmap for more information.

Throughput Graph

Install from source

make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

See the wiki for details.

Install from package

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

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

Project layout

├─ ci/              build automation
├─ cmake/           build scripts
├─ runtime/         user plugins/docs
├─ src/             application source code (see src/nvim/
│  ├─ api/          API subsystem
│  ├─ eval/         VimL 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
├─ third-party/     cmake subproject to build dependencies
└─ test/            tests (see test/
  • To disable third-party/ specify USE_BUNDLED_DEPS=NO or USE_BUNDLED=NO (CMake option).


See :help nvim-features for the full list!


Neovim is licensed under the terms of the Apache 2.0 license, except for parts that were contributed under the Vim license.

  • Contributions committed before b17d96 remain under the Vim license.

  • Contributions committed after b17d96 are licensed under Apache 2.0 unless those contributions were copied from Vim (identified in the commit logs by the vim-patch token).

See LICENSE for details.

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:

You can also sponsor the development of Vim.  Vim sponsors can vote for
features.  The money goes to Uganda anyway.