Releases: neovim/neovim
Nvim development (prerelease) build
NVIM v0.11.0-dev-1619+ga9c12d4c29
Build type: RelWithDebInfo
LuaJIT 2.1.1736781742
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
Note: On Windows "Server" you may need to install vcruntime140.dll.
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- Run
./nvim-macos-arm64/bin/nvim
Linux (x64)
glibc 2.31 or newer is required. Or you may try the (unsupported) builds for older glibc.
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
ecced447d6b51b6053f02b1636d1bfae0c0faa677ca01fc5bba206512cb62929 nvim-linux64.tar.gz
a2de6c9027e6983497837a4d6ddc2bd00191f56fcc024c18bc3fc3a5805d4eef nvim.appimage
6686b5e85bf2aaa73515de4ff5aa072088c41642f9c3f0ffaf4ea1cd7cc40f7c nvim.appimage.zsync
dd285a9c6f2f9fb8068c9b26d27453437efd290ddb699fbe57d7fc1e50c0b2b9 nvim-macos-x86_64.tar.gz
db42647f8f0653025744300438e179376c893c7a6079d5b329ccc5e9779fbf83 nvim-macos-arm64.tar.gz
521b70d4537547b3af80eb5b37512022d420e47aef4f8423d08d1fc15b90a19b nvim-win64.zip
dd5bf96987c0e249762675f4eb066ffaa5a22c9aa739850a787aae5f13caa3ef nvim-win64.msi
Nvim 0.10.3
NVIM v0.10.3
Build type: Release
LuaJIT 2.1.1713484068
Changes since 0.10.2:
Features
- main: Expand file ~\ or ~/ prefix on Windows
Bug Fixes
- api: Make
nvim_set_hl()
respect allcterm
attributes (#31390) - completion: Avoid deleting text when completion leader changes #31448
- coverity/510275: Linematch out of bounds access (#30687)
- defaults: Don't replace keycodes in Visual search mappings (#31460)
- events: Don't expand
args.file
for Lua callback (#31473) - extmark: Builtin completion can still affect nearby extmarks #31387
- filetype: Make filetype detection work with :doautocmd (#31470)
- inccommand: Ensure cursor is where it belongs
- inspect: Show priority for treesitter highlights
- inspect: Always show priority
- lsp: Str_byteindex_enc bounds checking #30747
- lsp: Retrigger diagnostics request on server cancellation (#31345) (#31427)
- lsp: Cancel pending requests before refreshing (#31500)
- marks: Skip right_gravity marks when deleting text
- startup: Report --startuptime error to stderr (#31131)
- treesitter: Show proper node name error messages
- tui: Avoid flushing buffer halfway an OSC 2 sequence (#30793)
- uri: Uri_encode encodes brackets incorrectly for RFC2732 #31284
- vim.system: Invalid MAX_TIMEOUT for 32-bit systems #31638
Documentation
- Misc (#29410)
- lua: "vim.bo" is always equivalent to :setlocal (#30733)
- lua: Clarify when on_key "typed" will be empty (#30774)
Refactor
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- Run
./nvim-macos-arm64/bin/nvim
Linux (x64)
Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
be189915a2a0da3615576e2db06a7c714aef0ae926b4da6107e589a3cc623e5c nvim-linux64.tar.gz
ce5f6462d4fa7150cc90c593955f66f7707ab5edc1d18f87413ea482e096c24e nvim.appimage
fa777410d766464e0578079f433119308b6bb7b92c03db7ef2be68789d1d4959 nvim.appimage.zsync
ddd3009b7f680d96211036e4c1a9af01c575ff5f9ef093ef7102e69aef6bf334 nvim-macos-x86_64.tar.gz
351819f8353c4f34f4928bddd2ab92c33f2a8976e9310a87a8fb794e2ae69104 nvim-macos-arm64.tar.gz
e5c1d5c1f9e0da6498ab3341046bb7568b72cfb578236188025c5dc5485ce752 nvim-win64.zip
8c2d9e1149813b65e7b0cb63c120f89a244db4ec3d67a28711e5fb02383f6c47 nvim-win64.msi
Nvim release build
NVIM v0.10.3
Build type: Release
LuaJIT 2.1.1713484068
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- Run
./nvim-macos-arm64/bin/nvim
Linux (x64)
Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
be189915a2a0da3615576e2db06a7c714aef0ae926b4da6107e589a3cc623e5c nvim-linux64.tar.gz
ce5f6462d4fa7150cc90c593955f66f7707ab5edc1d18f87413ea482e096c24e nvim.appimage
fa777410d766464e0578079f433119308b6bb7b92c03db7ef2be68789d1d4959 nvim.appimage.zsync
ddd3009b7f680d96211036e4c1a9af01c575ff5f9ef093ef7102e69aef6bf334 nvim-macos-x86_64.tar.gz
351819f8353c4f34f4928bddd2ab92c33f2a8976e9310a87a8fb794e2ae69104 nvim-macos-arm64.tar.gz
e5c1d5c1f9e0da6498ab3341046bb7568b72cfb578236188025c5dc5485ce752 nvim-win64.zip
8c2d9e1149813b65e7b0cb63c120f89a244db4ec3d67a28711e5fb02383f6c47 nvim-win64.msi
Nvim 0.10.2
This is a maintenance release
NVIM v0.10.2
Build type: Release
LuaJIT 2.1.1713484068
Features
- jumplist: Allow opting out of removing unloaded buffers (#30419)
Bug Fixes
- api: Error properly with invalid field in nvim_open_win (#30078)
- api: Nvim_buf_get_text() crashes with large negative column #28740
- api: Fix crash/leak with float title/footer on error (#30543)
- channel: Handle writing to file instead of pipe (#30520)
- column: Set signcolumn width after splitting window (#30556)
- completion: Don't include <Lua function> in -complete= (#30209)
- decor: Don't use separate DecorSignHighlight for url (#30096)
- decor: Exclude invalid marks from meta total
- diagnostics: Don't apply extmarks to invalid lines #29321
- diff: Use mmfile_t in linematch
- filetype: Handle .in files with no filename (#30487)
- float: Properly find last window of tabpage (#30571)
- health: Fix pyenv root and python exepath detect issue
- health: Return correct name from 'path2name()'
- lsp: Don't send foreign diagnostics to servers in buf.code_action (#29501)
- lsp: Avoid reusing diagnostics from different servers in actions (#30002)
- lsp: Return call hierarchy item, not the index (#30145)
- lsp: Handle out-of-bounds character positions #30288
- lsp: Handle encoding bounds in str_utfindex_enc
- lsp: Handle nil bytes in strings
- lua: Ignore stdout and stderr for xdg-open
- man: Avoid setting v:errmsg (#30052)
- man: Check if buffer is valid before restoring 'tagfunc' (#30180)
- regexp: Fix typo in E888 error message (#30161)
- runtime: Sync bundled treesitter queries
- runtime: Sync bundled treesitter queries
- runtime: Add remaining missing commentstrings (#30252)
- terminal: Interrupt/got_int hangs terminal (#30094)
- treesitter: Escape things like
"
in omnifunc results - treesitter: Lint top-level anonymous nodes
- treesitter: EditQuery shows swapfile ATTENTION #30536
- treesitter: Indent size for inspect_tree #28727
- tui: Set id parameter in OSC 8 sequences (#29847)
- tui: Reset active attr ID when OSC 8 sequence is terminated (#29960)
- version: Return nil with empty string
- vim.ui.open: Prefer xdg-open on WSL #30302
- win-msi: Set installer scope to machine #29895
- window: Respect hide flag of float windows when switching (#30507)
- window: Making float with title/footer non-float leaks memory (#30551)
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- Run
./nvim-macos-arm64/bin/nvim
Linux (x64)
Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
9f696e635d503b844e4e78e88a22bcf512a78f288bf471379afc3d0004e15217 nvim-linux64.tar.gz
970113b5279718126b82adddf3fbed1741db7afabf8a4134635a0d75c9f2c5d8 nvim.appimage
cae0908b60c4b7f27e5864ea9d19a388c4be6a418d4fc2af3fda805fc3cb163b nvim.appimage.zsync
8be3960d6ed843121a8d00af38d47ef6757824fc05a50a9bc240d678d61a5463 nvim-macos-x86_64.tar.gz
cd3e2e97fee285c41016cece51e67e8174df1dc577b89bc04063b2068ccdaea0 nvim-macos-arm64.tar.gz
3e11c4bed6f3d921af03112c8056740ca6fcacdbf84066328193f058200531c2 nvim-win64.zip
ab303db898b193c8bbcee229052b7eb60da8c2ef852b0746158902860c2f8c48 nvim-win64.msi
NVIM 0.10.1
NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1713484068
Changes since 0.10.0:
Features
- lsp: Update LSP healthcheck format (#28988)
Build System
- deps: Bump tree-sitter-query to v0.4.0
- deps: Bump tree-sitter-c to v0.21.3
- deps: Bump tree-sitter-vimdoc to v3.0.0
- deps: Drop unused bundled bash, python parsers and queries
- macos: Disable deduplication in link step
- "popcount" name conflict on NetBSD #28983
- Remove -O2 from gen_cflags
- Reuse code for deps.txt for both deps and main build
Bug Fixes
- Show swapfile warning as a warning (#28972)
- Assert failure in VimL expression parser
- api: Alloc and draw cursor window in nvim__redraw
- colorscheme: Underline StatusLineNC with 'notermguicolors' #28810
- column: Crash with 'signcolumn' set to "number" (#29003)
- column: Clamp line number for legacy signs
- column: Modifying a sign should update placed signs (#29750)
- comment: Fall back to using trimmed comment markers (#28950)
- defaults: Default @/Q broken when 'ignorecase' is set (#29343)
- drawline: Don't draw beyond end of window (#29035)
- drawline: Don't draw beyond end of window with 'rnu' (#29406)
- extmarks: Issues with revalidating marks #28961
- filetype: Fix typos in filetype detection
- float: Handle error in win_float_create() (#29742)
- fs: Make vim.fs.root work for relative paths and unnamed buffers (#28973)
- health: Broken ruby detect #28804
- health: Fix fetching url with python in provider health (#29594)
- input: Handle vim.on_key() properly with ALT and K_SPECIAL (#29677)
- lsp: Add textDocument/documentLink to capability map (#28838)
- lsp: Hide layout in codelenses in virtual text (#28794) (#28895)
- lsp: Detach all clients on_reload to force buf_state reload (#28898)
- lsp: Trigger LspDetach on buffer delete
- lsp: Check if buffer was detached in on_init callback (#28942)
- lsp: Handle nil root_dir in health check (#29010)
- lsp: Do not detach from buffer if there are uninitialized clients (#29043)
- lsp: Clear lsp client diagnostics (#29091)
- lsp: Remove superfluous on_detach callback from semantic tokens module (#29188)
- lsp: Do not reset buf version when detaching client (#29273)
- lsp: Avoid vim.keymap.del error when stopping a client (#29478)
- lsp: Don't show codelens for buffers that don't support it (#29690)
- lsp: Inlay hints are rendered in the correct order (#29707)
- lua: Change some vim.fn.expand() to vim.fs.normalize() (#29583)
- marks: Revalidate marks whose position did not change
- mouse: Early return when clicking in padded 'statuscolumn' (#29394)
- move: Half-page scrolling with resized grid at eob (#28821)
- path: Avoid chdir() when resolving path (#28799)
- quickfix: Make shortmess+=O work with cmdheight=0 (#29609)
- runtime: Source c ftplugin properly for cpp on Windows (#29053)
- runtime: Add commentstring for glsl ftplugin
- snippet: Don't override unnamed register on tabstop select (#29008)
- snippet: Cancel snippet session when leaving the buffer (#29044)
- snippet: Modify base indentation when there's actually whitespace (#29670)
- tohtml: Replace ipairs with pairs
- tohtml: Ignore lsp inlay hints
- tohtml: Show how many warnings are hidden
- tohtml: Properly handle multiple hl groups #29012
- tohtml: Extmark text may be out of bounds
- tohtml: Support ranges again
- treesitter: Do not modify highlight state for _on_spell_nav
- treesitter: Ensure syntaxset augroup exists (#29542)
- treesitter: Display fields for anonymous nodes in :InspectTree
- treesitter: Recognize aliased parsers in omnifunc, query linter
- tui: Remove duplicate disabling of synchronized output (#28884)
- tui: Move $COLORTERM check to _defaults.lua (#29206)
- tui: Skip TUI in ui_rgb_attached (#29096)
- ui: Flush ext_cmdline events before doing cmdpreview (#29062)
- ui: Superfluous showmode / excessive grid_cursor_goto #29089
- ui: Avoid ambiguity about last chunk when flushing halfway (#29718)
- version: Fix vim.version().prerelease
- vim.text: Remove assert from vim.text.hexdecode
- win-msi: Add bin to PATH per-machine after installation (#29099)
Documentation
- Update LSP quickstart (#28989)
- Misc (#29229)
- Document 'list' behavior when 'listchars' excludes "tab" (#29360)
- Fix more treesitter parsing errors
- Misc (#29714)
- lpeg: Merge upstream changes
- lsp: Format the handwritten part #29295
Refactor
- Replace deprecated vim.loop with vim.uv
- lsp: Reuse buf_detach_client logic in on_detach (#28939) (#29024)
- path.c: Add nonnull attributes (#28829)
- tests: Use more global highlight definitions
- tests: More global highlight definitions
Testing
- Add a test for #29119
- Do not set termguicolors in test runner
- Remove checks for failed tests on Windows
- Starting and stopping treesitter highlight (#29546)
- Fix reporting "no flush received" too early (#29735)
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- Run
./nvim-macos-arm64/bin/nvim
Linux (x64)
Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
4867de01a17f6083f902f8aa5215b40b0ed3a36e83cc0293de3f11708f1f9793 nvim-linux64.tar.gz
c4762d54cadfd9fa4497c7969197802c9cf9e0d926c39e561f0bd170e36c8aa0 nvim.appimage
f11f2c7ac72c2a6d6dba0817982ee88bd6dbeae0fcccdae62e1ef19e7e6c5632 nvim.appimage.zsync
dd88c86164e6fb34ee364c4a2b42c6a1832890003ae7c9c733032697d92cf7a6 nvim-macos-x86_64.tar.gz
4b322a8da38f0bbdcdcc9a2b224a7b5267f0b1610b7345cb880d803e03bb860b nvim-macos-arm64.tar.gz
6b9be9acb4f5011f7ab6f7390286a579534e05f0dcf8f37d503c4d40b4adf548 nvim-win64.zip
7e7ba2f0079c48e181bd2253c65b54c4c9169465a1438dd3ddf2939041de6121 nvim-win64.msi
Nvim v0.10.0
NVIM v0.10.0
Build type: Release
LuaJIT 2.1.1713484068
Release notes
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- Run
./nvim-macos-arm64/bin/nvim
Linux (x64)
Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
be1f0988d0de71c375982b87b86cd28d2bab35ece8285abe3b0aac57604dfc5a nvim-linux64.tar.gz
6a021e9465fe3d3375e28c3e94c1c2c4f7d1a5a67e4a78cf52d18d77b1471390 nvim.appimage
7e6cefbd1c3f6d76ec1f03170d4308808ce5cd288e0568203ed585a629bc79e7 nvim.appimage.zsync
ac4dc050f83e8537cfad3cbaf61ca4e5870ed30a7d0187cdaa33f8fa421aca1f nvim-macos-x86_64.tar.gz
e00452adbe1e90fb8c2d9bd41855b3f585bf6e2db31b9c35456d6253b0a152dd nvim-macos-arm64.tar.gz
e32390f8ed607c9a3749c2faba68e1dd9ecc6fa9a7cae544e4dadd810766d064 nvim-win64.zip
c75e6d029d4487f389c6c16168be62afc04dc7c277f9b6fb24f48b9a69f1bb61 nvim-win64.msi
Nvim 0.9.5
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794
This is a maintenance release, focusing on bugfixes.
Notably, fixes were made for issues with using and testing Nvim on less common platforms, like big endian platforms.
Release notes
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim-qt.exe
MSI
- Download nvim-win64.msi
- Run the MSI
- Search and run
nvim-qt.exe
or runnvim.exe
on your CLI of choice
macOS
- Download nvim-macos.tar.gz
- Run
xattr -c ./nvim-macos.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos.tar.gz
- Run
./nvim-macos/bin/nvim
Linux (x64)
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
44ee395d9b5f8a14be8ec00d3b8ead34e18fe6461e40c9c8c50e6956d643b6ca nvim-linux64.tar.gz
0c82e5702af7a11fbb916a11b4a82e98928abf8266c74b2030ea740340437bf9 nvim.appimage
e3f3174d75c038915330db86bf685c704cb9be86863ee592a07e21203d32ced2 nvim.appimage.zsync
19d2366e0d6da001583bd0b8a3db59f69ce3dda5fa41f3064c6778cef3edd34c nvim-macos.tar.gz
de6dc1f0edb45f5f225ee24ce80a4fcbc3a337932037e98ae143975fca2556bf nvim-win64.zip
006b8578f0b6717bc5a987f12bc0746c61c20e6ba777fde6d4aa53ee54b937cd nvim-win64.msi
Nvim v0.9.4
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.1692716794
This is a maintenance release, focusing on bug fixes.
Bug Fixes
- build: Fix exporting symbols on macOS Sonoma
- api: Handle NUL in nvim_err_write() and nvim_out_write()
- autocmd: Api functions accepting garbage after event name
- clang: Null pointer dereference in parse_msgpack
- clipboard: Don't pass --foreground to wl-copy
- exception: Remember whether message is multiline
- float: Update position of anchored windows first
- float: Fix some other crashes with :unhide or :all
- lua: Not using global value in vim.opt_global
- lua: Show error message when failing to set variable
- mouse: Click on 'statuscolumn' with 'rightleft'
- path: Accept special characters on Windows
- provider: Fix python3 provider cannot detect python3.12
- provider/pythonx: Import the correct module
- rpc: Fix race condition
- runtime: Add commentstring for D ftplugin
- statuscolumn: Update number hl for each screen line
- terminal: Check terminal size at end of screen update
- treesitter: Remove more double recursion
- ui: "resize -1" with cmdheight=0
- unhide: Close floating windows first
- unittests: Ignore __s128 and __u128 types in ffi
- tutor: Clarify the meaning of β and β
Build System
- deps: Bump libmpack-lua to 1.0.11
- ci: fix mac release for Sonoma
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim-qt.exe
MSI
- Download nvim-win64.msi
- Run the MSI
- Search and run
nvim-qt.exe
or runnvim.exe
on your CLI of choice
macOS
- Install
libintl
andgettext
(e.g., viabrew install gettext
) - Download nvim-macos.tar.gz
- Run
xattr -c ./nvim-macos.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos.tar.gz
- Run
./nvim-macos/bin/nvim
Linux (x64)
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
dbf4eae83647ca5c3ce1cd86939542a7b6ae49cd78884f3b4236f4f248e5d447 nvim-linux64.tar.gz
028cfaaf551d64cbb2f39d15363ed78edb01e2673579b48cb694e3604207d656 nvim.appimage
efb32db5b12d5a3db41facbe1a1aaf29228cc60a2a0e090ad24e90dfc2fdca0d nvim.appimage.zsync
86136acbc959abd164b7c1177707d3a8784a81b158380cf3493b1b5f1d9ed88a nvim-macos.tar.gz
c2cccfa8d6a116ad3e30334826e05d86ccfa055cf67210b32bc84a8e9d7390bb nvim-win64.zip
a2b45a463b94de413eec7dcc38dbb0af650dea1db9a78d6b8ff50fdd7f6a47d1 nvim-win64.msi
Nvim 0.9.2
This is a maintenance release, focused on bug fixes and performance improvements.
However, There are included features related to TUI and :terminal
.
Bram
Nvim is a fork of the Vim editor, created and developed by Bram Moolenaar.
On August 3, 2023, he passed away at the age of 62. If Vim or Nvim have been
of use to you in your life, read :help Bram
and :help Uganda
and consider
honoring his memory in a way you see fit.
Changes since 0.9.1
Breaking change
An adjustment was made to the grid_line
event as part of the external UI protocol:
the cells
array might now end with a [' ', attr, 0]
item with a repeat count of
zero. This is needed by the TUI to disambiguate final spaces from a line from just
clearing the line, which will make a difference when copying text using the terminal
emulators' builtin primary selection support.
External UIs can safely ignore such an empty item and most UIs already handle this fine.
But it could break UIs which has an assert to validate the cell count to be bigger
than zero, or similar.
Features
- tui: Support Super and Meta modifiers
- terminal: Forward more special keys and modifier-mouse combinations
Bug Fixes
- lua: Always set arg0 to lua scripts
- api: Redundant error when using
nvim_cmd
- api, lua: Make blank lines in a message work properly
- column: Fix bugs related to signs in 'statuscolumn'
- completion: Don't add backslash in runtime completion
- diff: Filler lines for hunks bigger than linematch limit
- edit: Fix K_EVENT interfering with 'digraph'
- editorconfig: Better validation and error handling
- events: Don't expand non-file as file name
- events: Trigger VimResume on next UI request
- extmarks: Wrong display when changing text with virt_lines
- folds: Update folds in Insert mode with fdm=indent
- helptags: Make multibyte help tags work properly
- highlight: Make CurSearch work properly with 'winhl'
- inccommand: Fix saving of undo info
- keycodes: Recognize <t_xx> as a key
- lsp: Do not assume client capability exists in watchfiles check (#24558)
- mouse: Handle folded lines with virt_lines attached to line above
- remote: Make --remote-expr print to stdout
- remote: Restore previous --remote-expr output formatting
- spell: Splice extmarks on :spellrepall
- startup: Don't truncate when printing with -l
- startup: Run embedded Nvim with real path
- statusline: Redraw when Visual submode changes
- statusline: Fill for double-width char after moving items
- treesitter: Updates to queries and injections
- treesitter: Fix TSNode:tree() double free
- ui: Propagate line wrapping state on grid_line events
- ui: Avoid ambiguity about chunk that clears part of line
Performance
- extmarks: Avoid unnecessary marktree traversal with folds
- substitute: Don't reallocate new_start every time
Build System
- deps: Bump libvterm to 0.3.3
- deps: Bump LuaJIT to HEAD - 03c31124c
- deps: Bump libuv to v1.46.0
- deps: Bump Luv to 1.45.0-0
- deps: Bump tree-sitter-c to v0.20.5
- deps: Bump tree-sitter-lua to v0.0.18
NVIM v0.9.2
Build type: Release
LuaJIT 2.1.1692716794
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim-qt.exe
MSI
- Download nvim-win64.msi
- Run the MSI
- Search and run
nvim-qt.exe
or runnvim.exe
on your CLI of choice
macOS
- Download nvim-macos.tar.gz
- Run
xattr -c ./nvim-macos.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos.tar.gz
- Run
./nvim-macos/bin/nvim
Linux (x64)
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
fee870b6173f1da134281824a744ada91ef612723bd328683dc941ef16837ec5 nvim-linux64.tar.gz
61950131e18157ab9c7f14131a3dda0aa81f8e4fb47994bf6d8b418d9be6e3c0 nvim.appimage
c6831ac9bb7145e3fdc595cca2a655aad25600a73d4d06750489282d54144c99 nvim.appimage.zsync
da2e852e25325ddc568c9c828060221a03b79b4e9fc9b7eecff9a633830eb923 nvim-macos.tar.gz
73f0b11322a905fbd9c1ba28fca21bacbf9b8547f164d3d5439f39d1c272bf15 nvim-win64.zip
febca24056ec8220e3d748755eeedd282db2dca6a32b6f8e89cf1c39328dcbfd nvim-win64.msi
Nvim 0.9.1
NVIM v0.9.1
Build type: Release
LuaJIT 2.1.0-beta3
This is a maintenance release.
- checkhealth: Add shims for health functions (#23241)
- Add vim.lsp.buf.formatting_sync() to deprecated.txt
- treesitter: update parsers and queries
- api: Extmark highlight groups not always included in details
- api: Avoid assertion when autocmd group id is 0
- api: Don't change title when setting buffer in a window
- api: Nvim_get_hl should return default flag
- colorscheme: Try .lua files in 'rtp' before .vim files in 'pp'
- statuscolumn: fix issues when used with virt_lines and signs
- drawline: Make cursorlineopt=screenline work with resized grid
- eval: Prevent double-free in garbage collection
- extmarks: Don't show virt lines for end mark
- float: Make bufpos work properly with resized parent grid
- highlight: Add missing g: prefix for colors_name
- highlight: Combine ColorColumn with low-priority CursorLine
- highlight: Apply 'winblend' to NormalNC
- lua: Inspect_pos respect bufnr when get syntax info
- lua: Vim.split may trim inner empty items
- man.lua: Don't continue on command error
- man.lua: Return support of all sections
- mark: Properly init mark views
- messages: Ensure msg_grid is at top at more prompt
- mkspell: Prevent Unicode character overflow
- mouse: Cmdline click registered as statuscolumn
- mouse: Fix popup menu position check with winbar
- normal: Make "g$" work properly with resized grid
- pum: Show right-click menu above cmdline area
- pum: Position properly with multigrid and floats
- pum: Fix issues with with 'rightleft'
- redo: Make redo of Lua mappings in op-pending mode work
- redraw: Multibyte characters are wrapped at the end of a line
- redraw: Overwrite double-width char with virt_text properly
- ruler: Show ruler of curwin with no statusline in cmdline
- spell: Extmark with spell=false should disable spell
- statusline: Also allow right click when 'mousemodel' is "popup*"
- substitute: Properly check if preview is needed
- termdebug: Handle partial lines passed to callback
- tui: Position cursor at bottom-left before stopping
- tui: Redraw on SIGWINCH even if size didn't change
- tui: Grid_clear properly clears the screen
- tui: Fix title restore with title stack or altscreen
- ui: Send title to newly-attached UI
- windows: Set stdout to binary mode for --api-info
- windows: Revert installation context to per-machine
- build: Include all dependency directories when generating headers
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim-qt.exe
MSI
- Download nvim-win64.msi
- Run the MSI
- Search and run
nvim-qt.exe
or runnvim.exe
on your CLI of choice
macOS
- Download nvim-macos.tar.gz
- Run
xattr -c ./nvim-macos.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos.tar.gz
- Run
./nvim-macos/bin/nvim
Linux (x64)
AppImage
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
SHA256 Checksums
6c083017304213c3a3efde8d332a52231b8df8206d35146942097c303ebf93d5 nvim-linux64.tar.gz
262892176e21da0902c4f0b1e027d54d21b4bcae6b0397afccd8a81b476c3055 nvim.appimage
e56f47db50fbe594749e47fcd4aea1242a9bd1f12ea345dc710b4573b04b43a6 nvim.appimage.zsync
6f7de66c494d7b73cdf878f060dedd1b2d66a648a387a245aa2aec76a5b4c777 nvim-macos.tar.gz
af41890b8c14d4ed214a2ef6c1ab8e0be004eac7094d5df1cc4bc17ccf0a13ef nvim-win64.zip
07a9f278635b91478ced01be1f2818b924b436f1d2e2867c687b7a92b6e702e0 nvim-win64.msi