Neovim
Neovim 0.12.4 is a terminal-focused and embeddable Vim fork with Lua configuration, built-in LSP, Tree-sitter, asynchronous jobs, RPC and a large plug-in ecosystem.
What Neovim does
Neovim is a keyboard-driven terminal editor and embeddable editor engine. It keeps Vim's modal editing model while adding Lua configuration, a built-in LSP client, Tree-sitter, asynchronous jobs and RPC. The same flexibility means that configuration, plug-ins and project-local files must be treated as executable code.
Version and platform packages
Version 0.12.4 is the stable revision represented here, with Windows x64 and ARM64 MSI or ZIP, macOS Intel and Apple silicon archives and Linux x86_64 or ARM64 AppImage and archive packages. Check glibc on older Linux and runtime libraries on Windows Server before moving a working setup.
Configuration trust boundaries
init.lua, plug-ins, language servers, parsers and project-local configuration can start processes or read files. Project-local .nvim.lua, .nvimrc and .exrc files are controlled by the trust list when exrc is enabled. Keep unknown repositories untrusted and use a plain EditorConfig when no code execution is needed.
LSP, RPC and recovery
Start with a minimal configuration, run :checkhealth, add one plug-in or language server at a time and lock versions. RPC should remain on a local user-only pipe or socket. Back up the configuration, data, state directories and lock files rather than copying only init.lua.
Maintenance note
Review date: 2026-08-23. The page was checked against Neovim 0.12.4 stable assets, configuration paths, exrc trust, LSP, Tree-sitter, RPC and :checkhealth behavior.
Save to your cloud drive
Open the cloud drive to get the file directly, or save it for convenient access on another device.
Quark Cloud Drive
RecommendedSave Neovim to this cloud drive
Baidu Netdisk
Save Neovim to this cloud drive
Neovim 0.12.4 installation, init.lua and LSP guide
Install the matching stable package, verify the terminal, clipboard and runtime from an empty configuration, create a minimal init.lua and then add plug-ins, Tree-sitter and LSP one at a time.
Before you start
- Match Windows, macOS or Linux architecture and check glibc or runtime-library requirements for older systems.
- Back up configuration, data, state directories, plug-in lock files and unfinished code, and record current Neovim and plug-in versions.
- Prepare a test project and verify PATH, Git, compiler, clipboard tools and language servers from trusted sources.
Installation steps
- 01
Install the 0.12.4 stable package
Choose the matching MSI or ZIP on Windows, Intel or Apple silicon archive on macOS or x86_64 or ARM64 package on Linux, and keep Nightly files separate.
- 02
Verify the runtime
Start Neovim from a terminal, check the version and run :checkhealth to review runtime files, clipboard and provider messages.
- 03
Create a minimal init.lua
Add only line numbers, indentation and one or two known key mappings, restart without errors and then introduce the plug-in manager.
Quick start
- 01
Learn the editing loop
Use a test file to practice normal, insert and command modes, movement, search, edit, undo, save and exit without relying on a plug-in.
- 02
Add one language server
Install the language server required by the project and verify diagnostics, completion, definition jump and rename with the built-in LSP client.
- 03
Enable plug-ins incrementally
Add one plug-in at a time, lock its version and review external dependencies. Run health checks after each restart so a failure has a clear rollback point.
Usage tips
- Unix configuration is commonly under .config/nvim and Windows uses an AppData Local nvim directory; plug-in data, state and logs live separately and should be backed up too.
- init.lua, plug-ins, language servers and Tree-sitter parsers may run code or load local binaries. Keep sources trusted, versions locked and changes reviewable.
- With exrc enabled, project-local files execute only after they are trusted. Keep unfamiliar repositories untrusted and use EditorConfig for formatting-only needs.
- RPC listeners can let another client control the editor. Prefer a user-only local pipe or socket and never expose a control port directly to an untrusted network.
Troubleshooting and uninstall
Why are plug-ins, LSP or clipboard features failing?
Start with an empty configuration and run :checkhealth, then check core runtime, provider, plug-in and language-server layers in order. Keep the data directory until the source of the failure is clear.
Why will the Linux AppImage not run?
Check execute permission, architecture and glibc. If FUSE is missing, unpack the AppImage for a test or use a matching distribution package and keep the terminal error summary.
- Archive configuration and plug-in stateBack up configuration, data, state directories and lock files, record external language servers and parsers and verify recovery in a clean environment.
- Remove the program and optional dataUninstall the MSI or delete archives and AppImage, then remove configuration, cache, logs and plug-in data only after checking whether another editor shares those tools.
Frequently asked questions
Is Neovim 0.12.4 a stable release?
Yes. It is the stable 0.12 revision represented here. Nightly builds belong to later development and can change configuration or plug-in compatibility, so lock the stable package for daily work.
Do I need to know Vim before using Neovim?
Not completely, but learn modes, movement, save and exit first. A clean configuration makes the built-in editing loop understandable before Lua, plug-ins and LSP are introduced.
Are project-local .nvim.lua files ordinary settings?
They can execute code when exrc is enabled and trusted. Read a repository's local configuration before adding it to the trust list and keep unknown projects untrusted.