Neovim is a Vim-based text editor engineered for extensibility and usability. It refactors Vim’s codebase to enable better plugin architecture, modern GUI development, and improved user experience.
📑 Table of Contents
Key Features
- Lua API: First-class Lua scripting support
- Built-in LSP: Native Language Server Protocol support
- Tree-sitter: Advanced syntax highlighting
- Async Support: Non-blocking plugin architecture
- Terminal Emulator: Built-in terminal support
Installation
Install Neovim on Ubuntu:
sudo apt update
sudo apt install neovim
# Or latest version via AppImage
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
./nvim.appimage
Usage Examples
Basic Lua configuration in init.lua:
-- Set options
vim.opt.number = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
-- Key mappings
vim.keymap.set("n", "<leader>w", ":w<CR>")
-- Plugin example with lazy.nvim
require("lazy").setup({
"nvim-treesitter/nvim-treesitter",
"neovim/nvim-lspconfig",
})
Benefits
Neovim modernizes Vim while maintaining compatibility. Its Lua API and built-in LSP support create a powerful foundation for IDE-like features without sacrificing Vim’s efficiency.
Was this article helpful?