Neovim — Hyperextensible Vim-Based Text Editor
Neovim is a Vim-fork focused on extensibility and usability. First-class Lua scripting, native LSP client, Tree-sitter for incremental parsing, async job control, and floating windows. The modern heir to Vim loved by developers worldwide.
Installation agent prête
Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.
npx -y tokrepo@latest install 6ed06dab-35cb-11f1-9bc6-00163e2b0d79 --target codexÀ exécuter après confirmation du plan en dry-run.
What it is
Neovim is a Vim fork focused on extensibility and usability. It adds first-class Lua scripting, a native LSP (Language Server Protocol) client, Tree-sitter for incremental syntax parsing, async job control, and floating windows. These features make Neovim a modern development environment while preserving Vim's modal editing efficiency.
Neovim targets developers who value keyboard-driven editing and want IDE-level features (code completion, diagnostics, refactoring) without leaving the terminal. It has a large plugin ecosystem and is the foundation for distributions like LazyVim, NvChad, and AstroNvim.
How it saves time or tokens
Neovim's native LSP client provides code intelligence (completion, diagnostics, go-to-definition) without external IDE overhead. Tree-sitter parsing gives accurate syntax highlighting and code folding that updates incrementally, avoiding full-file re-parsing. The Lua configuration language is faster to load than Vimscript and easier to maintain. For AI-assisted coding, Neovim integrates with Copilot, Cody, and other AI plugins that run alongside your editing workflow.
How to use
- Install Neovim:
brew install neovim # macOS
sudo apt install neovim # Debian/Ubuntu
winget install Neovim.Neovim # Windows
- Create your configuration:
-- ~/.config/nvim/init.lua
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.expandtab = true
vim.opt.shiftwidth = 2
- Launch Neovim:
nvim file.txt
Example
Set up LSP for TypeScript with completion:
-- ~/.config/nvim/init.lua
-- Using lazy.nvim plugin manager
require('lazy').setup({
'neovim/nvim-lspconfig',
'hrsh7th/nvim-cmp',
'hrsh7th/cmp-nvim-lsp',
})
local lspconfig = require('lspconfig')
local capabilities = require('cmp_nvim_lsp').default_capabilities()
lspconfig.ts_ls.setup({
capabilities = capabilities,
})
local cmp = require('cmp')
cmp.setup({
sources = { { name = 'nvim_lsp' } },
mapping = cmp.mapping.preset.insert({
['<CR>'] = cmp.mapping.confirm({ select = true }),
}),
})
This gives you TypeScript diagnostics, auto-completion, and go-to-definition in Neovim.
Related on TokRepo
- AI Tools for Coding — Compare code editors and AI coding environments
- AI Tools for Automation — Automation tools that complement terminal-based workflows
Common pitfalls
- Neovim configuration has a learning curve. Start with a distribution like LazyVim for a pre-configured experience, then customize incrementally.
- Plugin conflicts are common when mixing many plugins. Use a plugin manager like lazy.nvim that supports lazy loading and dependency resolution.
- Tree-sitter parsers need to be installed per language. Run
:TSInstall typescriptfor each language you work with. - Always check the official documentation for the latest version-specific changes and migration guides before upgrading in production environments.
- For team deployments, establish clear guidelines on configuration and usage patterns to ensure consistency across developers.
Questions fréquentes
Neovim adds Lua scripting, a native LSP client, Tree-sitter parsing, async job control, and floating windows. Vim uses Vimscript and lacks built-in LSP support. Neovim maintains backward compatibility with most Vim configurations.
Neovim includes a built-in Language Server Protocol client. This provides code completion, diagnostics, go-to-definition, and refactoring by connecting to language servers for TypeScript, Python, Go, Rust, and other languages.
Tree-sitter is an incremental parsing library that Neovim uses for syntax highlighting, code folding, and text objects. It provides more accurate highlighting than regex-based approaches and updates incrementally as you type.
Distributions like LazyVim, NvChad, and AstroNvim provide pre-configured setups with LSP, completion, and plugins. Start with a distribution to get productive quickly, then customize as you learn what you need.
Yes. Neovim integrates with GitHub Copilot, Cody by Sourcegraph, and other AI assistants through plugins. These provide inline completions and chat interfaces within your Neovim editing session.
Sources citées (3)
- Neovim GitHub— Neovim is a Vim-fork with Lua scripting and native LSP
- Neovim Documentation— Built-in LSP client and Tree-sitter integration
- LSP Specification— Language Server Protocol specification
En lien sur TokRepo
Fil de discussion
Actifs similaires
vim-fugitive — Premier Git Plugin for Vim and Neovim
A comprehensive Git wrapper for Vim that lets you run any Git command from inside the editor, stage hunks interactively, browse history, resolve merge conflicts, and push code without leaving your buffer.
lazy.nvim — Modern Plugin Manager for Neovim
A fast and feature-rich plugin manager for Neovim that handles lazy loading, lockfiles, profiling, and automatic builds with a clean Lua-based spec format.
Helix — A Post-Modern Modal Text Editor
Helix is a post-modern modal text editor inspired by Kakoune. Written in Rust with batteries-included defaults: Tree-sitter, LSP, multi-cursor, selection-first editing, and beautiful themes. Zero-config replacement for Vim for most users.
SpaceVim — Community-Driven Modular Vim Distribution
A modular Vim and Neovim distribution that bundles curated plugins, language layers, and a polished UI out of the box, letting developers start with a full IDE-like experience and customize through simple configuration layers.