NeoVim
NeoVim is a minimalistic source-code editor as opposed to a fully fledged IDE that runs on a UNIX shell. It is a fork of vim editor of contributors that were tired of the main maintainer's slow rate of development, overly legacy API, release cycle, and documentation. On top of fixing these problems, it also focuses on:
- Extensibility
- API is first class
- Documented
- Discoverable
- Versioned
- MessagePack structured communication
- Enables extensions in any language
- Remote plugins run as co-processes, safely & asynchronously
- Lua Plugins are easy to create
- Unlike Vim's vimscript...
- A common language with a wide knowledge base
- Embaddable with the C/C++ of the project
- Easy to create plugins
- Config quite simply just lives in
init.lua
- The expected places Neovim looks for configuration
- Typically located in
~/.config/nvim
- Unlike Vim's vimscript...
- AST-Producing parsing engine
- Improves native...
- Faster syntax highlighting
- Code navigation
- Refactoring
- Text objects
- Motions
- Improves native...
- API is first class
- Usability
- Builtin LSP Client
- Semantic code inspection
- Refactoring
- Go-to definition
- Find references
- Format
- ETC.
- Strong defaults
- Modern terminal features
- Cursor styling
- Focus Events
- Bracketed paste
- Builtin terminal emulator
- Builtin LSP Client
- Drop-in Compatibility with Vim
- Fully compatible with Vim's editing model & Vimscript v1
- Start with
:help nvim-from-vim
if you already use vim to get started
References
- Neovim Homepage: Hyperextensible Vim-based text editor
- Integrated Development Environment (from Wikipedia, the free encyclopedia)
- Source-code editor (from Wikipedia, the free encyclopedia)
- Vim - The ubiquotous text editor (Homepage)
- Neovim Docs: API
- MsgPack Homepage
- NeoVim Documentation: LUA
- Tree-Sitter Homepage
- NeoVim Docs: LSP Client
- NeoVim Documentation: Better Defaults
- Neovim builtin terminal emulator demonstration on Youtube