NeoVim
詳細情報
タイトル | NeoVim |
---|---|
URL | https://neovim.io/ |
バージョン | ver 0.11.4 |
更新日 | 2025/09/01 |
追加日 | 2016/01/28 |
種別 | フリーソフト |
説明 | ポストVimを目指して開発されているモダンなViエディタ。 |
レビュー
概要(開発背景・歴史を含む)
NeoVimは、Vimからフォークされた、自由でオープンソースのテキストエディタです。
このプロジェクトは2014年に開始しました。Vimのソースコードをリファクタリングして保守性を向上させるだけでなく、非同期プラグインや優れたスクリプトアーキテクチャなどのモダンな機能を追加することを目的としいます。
NeoVimは、Vimのクラシックなモーダル編集モデルを損なうことなく、新しいアプリケーションと拡張性を実現する「超拡張可能なVimベースのテキストエディタ」を目指しています。Vimよりもソースコードを30%削減し、より焦点の合ったモダンなコアを目標としています。
主要な特徴・機能
NeoVimは、Vimのほとんどの機能やプラグインとの互換性を維持しつつ、いくつかの重要な強化を導入しています。
- ファーストクラスAPI: MessagePackに基づいた強力で発見可能なAPIを提供し、任意のプログラミング言語で安全な非同期プラグインを作成できます。
- Lua統合: LuaはNeovimでファーストクラスのスクリプト言語であり、Vimscriptよりもモダンとされる言語で設定やプラグイン開発が可能です。
- 内蔵Language Server Protocol (LSP): ネイティブLSPクライアントを内蔵しており、コード補完、定義ジャンプ、診断といった高度なIDEのような機能を提供します。
- Tree-sitter統合: Tree-sitterを使用してコードを解析し、より高速で正確なシンタックスハイライト、コードナビゲーション、テキストオブジェクトを実現します。
- クライアント・サーバーアーキテクチャ: エディタをヘッドレスサーバーとして実行でき、様々なGUI、IDE、さらにはウェブブラウザがNeoVimをテキスト編集コンポーネントとして埋め込むことができます。
- Vim互換性: Vimのドロップインリプレースメントとして設計されており、Vimの編集モデルとVimscript v1をサポートしているため、Vimに慣れたユーザーは容易に移行できます。
対象ユーザー
Neovimは、非常に柔軟で拡張性の高いテキストエディタを必要とする開発者、プログラマー、パワーユーザーを対象としています。これにはモダンな機能や優れたパフォーマンス、他の開発ツールとの深い統合を求める既存のVimユーザーが含まれます。強力なAPIとスクリプト機能は、自分好みの編集体験を構築したり、NeoVimをより大きなアプリケーションに統合したい開発者にとっても魅力的です。
ライセンス情報
NeovimはMITライセンスの下で配布されるフリーソフトウェアで、ソースコードはGitHubで公開されています。これは、GPL互換のチャリティーウェアライセンスを使用するVimとは対照的です。
スクリーンショット
更新グラフ
バージョン履歴
NVIM v0.11.4
Build type: Release
LuaJIT 2.1.1741730670
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-ma
NVIM v0.11.3
Build type: Release
LuaJIT 2.1.1741730670
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 v0.11.2
Build type: Release
LuaJIT 2.1.1741730670
This is a maintenance release, focusing on bug fixes. Some enhancements related
to vim.lsp.enable are also included.
Features
- lsp: Vim.lsp.is_enabled() #33703
-
lsp:
root_markers
can control priority - lsp: Start/stop LSPs as necessary during vim.lsp.enable() #33702
- lsp: Detach LSP clients when 'filetype' changes #33707
- checkhealth: Trigger FileType event after showing report
- health: Summary in section heading #33388
Bug Fixes
- lsp: Detect if Client:request re
NVIM v0.11.1
Build type: Release
LuaJIT 2.1.1741730670
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-m
NVIM v0.11.0
Build type: Release
LuaJIT 2.1.1741730670
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 v0.10.4
Build type: Release
LuaJIT 2.1.1713484068
This is maintenance release, focusing on bug fixes. It also contains changes
to the available binary releases.
A Linux AArch64 binary has been added as part of the binary releases.
In addition, the previous "linux64" binary has been renamed to "linux-x86_64".
This is a BREAKING change for scripts which consumes our binary releases.
Bug Fixes
- checkhealth: Failed if 'lua' in plugin name
- decor: Set invalid flag for end of invalidated paired marks
- inspect: Use correct default highlight
- jobs: Do not block UI when jobwait() doesn't block (#31803)
-
lsp: Minimum height for floating popup
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
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 &
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
NVIM v0.10.0
Build type: Release
LuaJIT 2.1.1713484068
Release notes
- https://neovim.io/doc/user/news-0.10.html
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
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.
Bug Fixes
- defaults: Set 'fsync' #26039
- Dont create data dir if it's a broken symlink
- Make InspectTree handle nested injection
- Remove nested for_each_tree in TSTreeView (#26331)
- api: Use a conditional stack for nvim_cmd
- change: Update fold after on_bytes
- deps: Bump libmpack from luarocks
- extmark_to_array: Convert conceal_char to bytes
- highlight: Apply 'winblend' to f