Go to file
github-actions[bot] 7bf12db0c8 docs: update version.c #36125
vim-patch: 8.1.1985: code for dealing with paths is spread out

vim-patch:8.2.0375: Coverity warning for not using return value
vim-patch:8.2.0471: missing change to compile_list()
vim-patch:8.2.0489: Vim9: memory leaks
vim-patch:8.2.0494: Vim9: asan error
vim-patch:8.2.0685: Build failure
vim-patch:8.2.0759: Vim9: missing changes for performance improvements
vim-patch:8.2.1740: test fails without the terminal feature
vim-patch:8.2.1742: test still fails without the terminal feature
vim-patch:8.2.1880: Vim9: asan complains about adding zero to NULL
vim-patch:8.2.1958: build failure with timers
vim-patch:8.2.2248: ASAN error on exit with GUI
vim-patch:8.2.2273: build failure
vim-patch:8.2.2382: build failure
vim-patch:8.2.2401: build fails without +profiling feature
vim-patch:8.2.2536: Coverity complains about unchecked return value
vim-patch:8.2.2599: build failure
vim-patch:8.2.2715: Vim9: tests fail without the channel feature
vim-patch:8.2.2987: build failure with normal features
vim-patch:8.2.3092: Vim9: builtin function test fails without +channel feature
vim-patch:8.2.3291: Coverity warns for not checking return value
vim-patch:8.2.3505: Vim9: build failure without the +eval feature
vim-patch:8.2.3541: compiler warning for unused variable in tiny version
vim-patch:8.2.3546: build failure without the +eval feature
vim-patch:8.2.3563: build failure with +eval but without GUI or +termguicolors
vim-patch:8.2.3566: build failure on old systems when using nano timestamp
vim-patch:8.2.3621: build failure
vim-patch:8.2.3636: Coverity warns for unreachable code
vim-patch:8.2.3672: build failure with unsigned char
vim-patch:8.2.3691: build failure with small features
vim-patch:8.2.3693: Coverity warns for possibly using a NULL pointer
vim-patch:8.2.3718: compiler warns for unused variable without +textprop
vim-patch:8.2.3724: build error for missing error message in small build
vim-patch:8.2.3736: test fails without the channel feature
vim-patch:8.2.3740: memory left allocated on exit when using Tcl
vim-patch:8.2.3752: build error when using Photon GUI
vim-patch:8.2.3791: build error with +cindent but without +smartindent
vim-patch:8.2.3868: Vim9: function test fails
vim-patch:8.2.3926: build failure without the 'autochdir' option
vim-patch:8.2.3931: Coverity reports a memory leak
vim-patch:8.2.3958: build failure compiling xxd with "-std=c2x"
vim-patch:8.2.3963: build failure with tiny and small features
vim-patch:8.2.3988: tiny build fails
vim-patch:8.2.3998: asan error for adding zero to NULL
vim-patch:8.2.4015: build failure with tiny features
vim-patch:8.2.4034: Coverity warns for possibly using a NULL pointer
vim-patch:8.2.4042: Vim9: build error
vim-patch:8.2.4054: Vim9 script test fails
vim-patch:8.2.4079: MS-Windows: "gvim --version" didn't work with VIMDLL
vim-patch:8.2.4081: CodeQL reports problem in if_cscope causing it to fail
vim-patch:8.2.4119: build failure when disabling the channel feature
vim-patch:8.2.4127: build failure without the +eval feature
vim-patch:8.2.4150: Coverity warns for using pointer after free
vim-patch:8.2.4239: build fails with unusual configuration
vim-patch:8.2.4272: Vim9 expr test fails without the channel feature
vim-patch:8.2.4278: build with Athena GUI fails
vim-patch:8.2.4300: cannot build tiny version
vim-patch:8.2.4368: Amiga: a few compiler warnings
vim-patch:8.2.4369: redundant #ifdef argument
vim-patch:8.2.4385: cannot build tiny version
vim-patch:8.2.4386: still cannot build tiny version
vim-patch:8.2.4405: compiler warning for unused variable without +folding
vim-patch:8.2.4413: Vim9: Coverity warns for using NULL pointer
vim-patch:8.2.4470: Coverity warns for uninitialized variable
vim-patch:8.2.4488: build error with +eval but without +channel or +job
vim-patch:8.2.4516: build failure without the +eval feature
vim-patch:8.2.4521: build failure without the +diff feature
vim-patch:8.2.4532: suspending with CTRL-Z does not work on OpenBSD
vim-patch:8.2.4549: cannot build with Motif and editres
vim-patch:8.2.4550: Motif: cannot set the color of the scrollbar thumb
vim-patch:8.2.4556: test fails without the +job or +channel feature
vim-patch:8.2.4560: suspending with CTRL-Z does not work on DragonFlyBSD
vim-patch:8.2.4654: missing changes for import check
vim-patch:8.2.4680: build failure without +postscript
vim-patch:8.2.4681: build fails with a combination of features
vim-patch:8.2.4725: unused variable in tiny build
vim-patch:8.2.4756: build error without the +eval feature
vim-patch:8.2.4769: build warning with UCRT
vim-patch:8.2.4771: Coverity warns for not checking return value
vim-patch:8.2.4815: cannot build with older GTK version
vim-patch:8.2.4863: accessing freed memory in test without the +channel feature
vim-patch:8.2.4878: valgrind warning for using uninitialized variable
vim-patch:8.2.4884: test fails without the job/channel feature
vim-patch:8.2.4898: Coverity complains about pointer usage
vim-patch:8.2.4900: Vim9 expression test fails without the job feature
vim-patch:8.2.4976: Coverity complains about not restoring a saved value
vim-patch:8.2.5021: build fails with normal features and +terminal
vim-patch:8.2.5067: timer_create is not available on every Mac system
vim-patch:8.2.5071: with some Mac OS version clockid_t is redefined
vim-patch:8.2.5125: MS-Windows: warnings from MinGW compiler
vim-patch:8.2.5133: MacOS: build fails
vim-patch:8.2.5137: cannot build without the +channel feature
vim-patch:8.2.5168: cannot build with Python 3.11

vim-patch:9.0.0123: cannot build with small features
vim-patch:9.0.0159: cannot build with small features
vim-patch:9.0.0161: warning for uninitialized variable
vim-patch:9.0.0237: Mac: cannot build if dispatch.h is not available
vim-patch:9.0.0256: compiler warning for uninitialized variables
vim-patch:9.0.0378: compiler warning for uninitialized variable
vim-patch:9.0.0413: ASAN reports a memory leak
vim-patch:9.0.0462: ASAN warning for integer overflow
vim-patch:9.0.0970: Coverity warns for uninitialized variable
vim-patch:9.0.1042: ASAN gives false alarm about array access.
vim-patch:9.0.1076: ASAN complains about NULL argument
vim-patch:9.0.1085: compiler warns for uninitialized variable
vim-patch:9.0.1666: compiler may warn for uninitialized variable

vim-patch:9.1.0816: tests: not clear what tests cause asan failures
vim-patch:9.1.1345: tests: Test_xxd_color2() test failure dump diff is misleading
2025-10-15 14:40:24 -07:00
2025-10-12 12:16:14 +08:00
2025-10-15 14:40:24 -07:00
2025-02-12 17:43:42 +01:00
2025-03-17 12:31:53 +01:00
2025-05-04 22:55:19 +02:00
2019-11-10 22:50:24 -08:00
2024-06-07 10:55:14 +08:00
2025-09-16 11:41:36 +08:00
2025-01-11 10:34:12 +01:00
2025-09-16 11:41:36 +08:00
2025-06-14 17:24:36 +02:00
2025-09-16 11:41:36 +08:00

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.
Description
Vim-fork focused on extensibility and usability
Readme 470 MiB
Languages
Vim Script 40.1%
Lua 32.2%
C 26.8%
CMake 0.4%
Zig 0.2%
Other 0.1%