lazy.nvim
💤 A modern plugin manager for Neovim
lazy.nvim is a fast Neovim plugin manager that only loads plugins when they are actually needed, keeping startup time short even with many plugins installed. It includes a visual UI, automatic installs, and version locking.
lazy.nvim is a modern plugin manager for Neovim, the terminal-based text editor. It handles installing, updating, and loading the add-ons (called plugins) that extend Neovim's functionality. Written in Lua, it is designed to be fast and efficient.
The key feature that gives it its name is "lazy loading" — plugins are only loaded when actually needed, such as when you open a specific type of file, run a certain command, or press a mapped key combination. This keeps Neovim's startup time fast even with many plugins installed. It also uses automatic caching and Lua bytecode compilation to further speed things up.
Other notable features include a visual UI for managing plugins, automatic installation of missing plugins at startup, a lockfile called lazy-lock.json to record exactly which version of each plugin is installed, async execution so operations don't block your editor, correct dependency ordering when multiple plugins depend on each other, and profiling tools to help diagnose slowdowns. It requires Neovim 0.8.0 or newer built with LuaJIT, and Git 2.19.0 or newer for partial clone support.
Where it fits
- Speed up Neovim startup by lazy-loading plugins so they only activate when a specific file type or command is used.
- Lock your plugin versions with lazy-lock.json so your editor configuration stays reproducible across machines.
- Automatically install missing Neovim plugins on first launch without any manual steps.
- Profile your Neovim setup to find which plugins are slowing it down using built-in profiling tools.