No Description

zeertzjq 435dee74bb vim-patch:9.1.0374: wrong botline in BufEnter (#28530) 11 hours ago
.github c34c31af73 ci: enable unittests on macos-14 1 week ago
cmake a1c2da56ec build: do not use GIT_REPOSITORY for local dependencies 2 days ago
cmake.config 75b80516d5 build: fix link error for `_BitScanForward64` (#28173) 3 weeks ago
cmake.deps 9319d97679 build(deps): bump luajit to HEAD - 75e927779 1 week ago
cmake.packaging 036f86feac ci: provide separate macos releases for intel and arm 1 month ago
contrib 206475d791 build(nix): update flake to prevent build errors #28394 1 week ago
runtime e81eb34aa1 vim-patch:9525f6213604 11 hours ago
scripts 052498ed42 test: improve test conventions 3 days ago
src 435dee74bb vim-patch:9.1.0374: wrong botline in BufEnter (#28530) 11 hours ago
test 435dee74bb vim-patch:9.1.0374: wrong botline in BufEnter (#28530) 11 hours ago
.cirrus.yml a6d5bedb7d vim-patch:9.0.1892: CI: no FreeBSD 14 support (#26604) 4 months ago
.clang-format d561830a52 build: align .clang-format rules with uncrustify config 11 months ago
.clang-tidy a1550dbf0a build: silence new clang-tidy warnings 3 days ago
.clangd bcaff309b6 build: disable UnusedIncludes from clangd 5 months ago
.editorconfig 5f7560b8da build(editorconfig): set indent_size to 4 for python files (#21135) 1 year ago
.git-blame-ignore-revs 56ae85a33c docs: .git-blame-ignore-revs #26397 2 months ago
.gitattributes e8d3c4cccb feat: generate types and docs for v variables 4 months ago
.gitignore c0beb8173f feat: add .luarc.json (#24592) 8 months ago
.luacheckrc e5d7003b02 build: rework formatting to use add_glob_target 4 months ago
.luacov 678a51b1da Lua: vim.validate() 4 years ago
.luarc.json d51b615747 refactor: fix luals warnings 3 months ago
.mailmap 5b7213ad7f docs: update .mailmap (#20086) 1 year ago
.stylua.toml 517f0cc634 build: enable lintlua for scripts/ dir #26391 4 months ago
.styluaignore 59d117ec99 build: enable lintlua for test/ dir 3 months ago
BSDmakefile 69fe427df4 feat(lua)!: register_keystroke_callback => on_key 2 years ago
BUILD.md be2a4b52b9 docs(BUILD): mention treesitter parser dependencies (#28226) 2 weeks ago
CMakeLists.txt a89ce89742 docs: fix typos (#27868) 1 month ago
CMakePresets.json 664f2749e6 build: add "ci" configure preset to reduce verbosity 1 year ago
CONTRIBUTING.md a1c2da56ec build: do not use GIT_REPOSITORY for local dependencies 2 days ago
INSTALL.md a89ce89742 docs: fix typos (#27868) 1 month ago
LICENSE.txt cbf54ec2a5 vim-patch:e978b4534a5e (#24697) 8 months ago
MAINTAIN.md d3e51603bc ci(windows): optionally test windows with ASAN 1 month ago
Makefile a75ef40f4c build: set deps default build type to Release (#27495) 2 months ago
README.md b0f9228179 docs: remove mentions of scan-build 1 week 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.