No Description

zeertzjq 9cc060218b vim-patch:9.1.1059: completion: input text deleted with preinsert when adding leader (#32276) 1 day ago
.github 35c5e23107 ci!: store artifact shasums in a single shasum.txt file 3 days ago
cmake 1b90f4a9c4 build: mark CMake variables advanced #31412 1 month ago
cmake.config 4c25e60767 test: port libvterm unit test to neovim test suite 3 months ago
cmake.deps eb60cd74fb build(deps)!: bump tree-sitter to HEAD, wasmtime to v29.0.1 (#32200) 6 days ago
cmake.packaging 318676ad13 ci(release)!: remove backwards compatible releases 5 days ago
contrib ac5a6d9ff5 build: fix RelWithDebInfo optimization flags #31802 4 weeks ago
runtime e71d2c817d docs: misc 3 days ago
scripts 318676ad13 ci(release)!: remove backwards compatible releases 5 days ago
src 9cc060218b vim-patch:9.1.1059: completion: input text deleted with preinsert when adding leader (#32276) 1 day ago
test 9cc060218b vim-patch:9.1.1059: completion: input text deleted with preinsert when adding leader (#32276) 1 day ago
.cirrus.yml a6d5bedb7d vim-patch:9.0.1892: CI: no FreeBSD 14 support (#26604) 1 year ago
.clang-format d561830a52 build: align .clang-format rules with uncrustify config 1 year ago
.clang-tidy 046e0956ee build: fix or silence new clang-tidy warnings 4 months ago
.clangd bcaff309b6 build: disable UnusedIncludes from clangd 1 year ago
.editorconfig 9e7b0bcf51 fix(editorconfig): fix indent style for `local.mk` (#31342) 2 months ago
.git-blame-ignore-revs 56ae85a33c docs: .git-blame-ignore-revs #26397 1 year ago
.gitattributes e8d3c4cccb feat: generate types and docs for v variables 1 year ago
.gitignore b5e69b32d7 vim-patch: make gen_opt_test.vim work with Nvim (#30850) 3 months ago
.luacheckrc 9b5ab66678 test(lsp): refactor and tidy 5 months ago
.luacov 678a51b1da Lua: vim.validate() 5 years ago
.luarc.json 6aa42e8f92 fix: resolve all remaining LuaLS diagnostics 6 days ago
.mailmap 8c5af0eb85 docs: misc (#28837) 8 months ago
.stylua.toml 517f0cc634 build: enable lintlua for scripts/ dir #26391 1 year ago
.styluaignore 59d117ec99 build: enable lintlua for test/ dir 1 year ago
BSDmakefile 69fe427df4 feat(lua)!: register_keystroke_callback => on_key 3 years ago
BUILD.md c1718d6863 ci(release): add linux-arm64 appimage and tarball 6 days ago
CMakeLists.txt ac5a6d9ff5 build: fix RelWithDebInfo optimization flags #31802 4 weeks ago
CMakePresets.json 6a425e7045 docs: misc 3 weeks ago
CONTRIBUTING.md d74c74aae3 build: remove `lintcommit` from `lint` target 1 month ago
INSTALL.md e71d2c817d docs: misc 3 days ago
LICENSE.txt cbf54ec2a5 vim-patch:e978b4534a5e (#24697) 1 year ago
MAINTAIN.md d8bc08db7f refactor: adopt vterm 3 weeks ago
Makefile 6a425e7045 docs: misc 3 weeks ago
README.md 44afd07443 docs(tui): rename term.txt, nvim_terminal_emulator.txt #30398 4 months ago

README.md

Neovim Documentation | Chat

Coverity Scan analysis Packages Debian CI Downloads

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

See the Introduction wiki page and Roadmap for more information.

Features

See :help nvim-features for the full list, and :help 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:

  • cmake --build build --target help lists all build targets.
  • build/CMakeCache.txt (or cmake -LAH build/) contains the resolved values of all CMake variables.
  • build/compile_commands.json shows the full compiler invocations for each translation unit.

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 are licensed under the Apache 2.0 license, except for contributions copied from Vim (identified 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:

        https://iccf-holland.org/
        https://www.vim.org/iccf/
        https://www.iccf.nl/

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