neovim /neovim
Vim-fork focused on extensibility and usability
★ 103,536⑂ 7,391👁 1,040⑃ 26,387● 14,823▤ 56◈ 1,336
TA的项目
103,536
stars
+18+226+559
7,391
forks
1,040
watchers
26,387
prs
14,823
issues
56
releases
1,336
discussions
README
Documentation |
Chat
Neovim is a project that seeks to aggressively refactor Vim in order to:
- Simplify maintenance and encourage contributions
- Split the work between multiple developers
- Enable [advanced UIs] without modifications to the core
- Maximize extensibility
See the Introduction wiki page and [Roadmap]
for more information.
Features
--------
- Modern GUIs
- API access
from any language including C/C++, C, Clojure, D, Elixir, Go, Haskell, Java/Kotlin,
JavaScript/Node.js, Julia, Lisp, Lua, Perl, Python, Racket, Ruby, Rust
- Embedded, scriptable terminal emulator
- Asynchronous job control
- Shared data (shada) among multiple editor instances
- XDG base directories support
- Compatible with most Vim plugins, including Ruby and Python plugins
See [:help nvim-features][nvim-features] for the full list, and [:help news][nvim-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.
bash
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
To install to a non-default location:
bash
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][license-commit] are licensed under the
Apache 2.0 license, except for contributions copied from Vim (identified by the
vim-patch token). See LICENSE.txt for details.
[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16aTop issues
#12064spell checker integration64 comments · 2020-03-29#23291LSP: high cpu usage with huge number of files with `workspace/didChangeWatchedFiles` enabled59 comments · 2023-04-23#553Bidi language support47 comments · 2014-04-17#1496:! (bang) and system() are not interactive43 comments · 2014-11-19#25377UI flush/redraw can happen before UI attach / UIEnter42 comments · 2023-09-26#31506`executable()` is slow on WSL38 comments · 2024-12-08#39893rename `al` text-object and add a better pair for `il`37 comments · 2026-05-19#21629add :Hardcopy command37 comments · 2023-01-03
Discussions
#42719Getting Started with Neovim Contributions and Preparing for GSoC 20271 comments · 2026-11-06#42575Please add btmux to the "GUI" section of the Related Projects wiki0 comments · 2026-10-28#42543neovim conf 20270 comments · 2026-10-25#42519Introducing iNeovim — a native macOS client for Neovim0 comments · 2026-10-24#42517bug? Missing tab completion in tags with LSP2 comments · 2026-10-24#42481multicursor: Is there a reliable way to determine the direction of a Visual selection?2 comments · 2026-10-19#42473Feature proposal: Add a CLI flag to open only existing files1 comments · 2026-10-19#42414Where is `noinsert` for `wildmode`?1 comments · 2026-10-16
Latest release
Nvim 0.12.6 v0.12.6 2026-10-09NVIM v0.12.6 Build type: Release LuaJIT 2.1.1774638290 Release notes - Changelog (fixes + features) - News (:help news in Nvim) Install Windows Zip 1. Download nvim-win64.zip (or nvim-win-arm64.zip for ARM) 2. Extract the zip 3. Run nvim.exe in your terminal MSI 1. Download nvim-win64.msi (or nvim-win-arm64.msi for ARM) 2. Run the MSI 3. Run nvim.exe in your terminal Note: On Windows "Server" you may need to install vcruntime.dll. macOS (x86_64) 1. Download nvim-macos-x86_64.tar.gz 2. Run xattr -c ./nvim-macos-x86_64.tar.gz (to avoid "unknown de
相关报道 (6)
CSDNAI编程的“下半场”:插件形态的收敛与Kimi K3.1 Pro的降维打击2026-10-30quasa.ioCursor还是GitHub Copilot:月费差一半,PR结果看任务2026-09-30OSCHINA有没有感觉 Claude Code 的配置目录很清晰?2026-06-02新浪新闻_手机新浪网面对GitHub Copilot成本激增,开发者该如何优化使用习惯?2026-05-31CSDN博客“告别 Neovim!为什么我投奔了刚开源的 Zed 编辑器?”2024-08-20凤凰网每人每月19美元,GitHub推出Copilot for Business计划2022-12-09
News & coverage (19)
Hacker NewsNeovim▲ 879 · 362 comments · 2014-02-21Hacker NewsNeovim v0.5▲ 449 · 208 comments · 2021-07-02Hacker NewsNeovim 0.12.0▲ 409 · 262 comments · 2026-03-29Hacker NewsNeovim 0.7 Released▲ 336 · 216 comments · 2022-04-15Hacker NewsNeovim v0.4.0▲ 334 · 162 comments · 2019-09-16Hacker NewsNeovim 0.8 Released▲ 326 · 221 comments · 2022-09-30Hacker NewsNeoVim 0.2.0 released▲ 319 · 140 comments · 2017-05-02Hacker NewsNeovim v0.2.1 released▲ 301 · 158 comments · 2017-11-08noteFrom VS Code to Neovim: The Story of Building My Dream Black Screen with Claude Code2026-11-01heise onlineNeovim 0.12 with native plugin manager2026-03-31