Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsMay 14, 2026·3 min de lecture

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.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
lazy.nvim Overview
Commande CLI universelle
npx tokrepo install ebd5fae6-4fb0-11f1-9bc6-00163e2b0d79

Introduction

lazy.nvim is the standard plugin manager for modern Neovim configurations. It replaces older tools like packer.nvim with a declarative Lua spec format, automatic lazy loading based on events, commands, keymaps, and filetypes, and a built-in UI for managing and profiling plugins.

What lazy.nvim Does

  • Installs, updates, and removes Neovim plugins from Git repositories and local paths
  • Lazy-loads plugins based on events, commands, keymaps, or filetypes automatically
  • Generates and maintains a lockfile (lazy-lock.json) for reproducible setups
  • Provides a built-in profiler showing startup time per plugin
  • Supports automatic post-install build steps (make, cargo, npm, etc.)

Architecture Overview

lazy.nvim stores plugins in a flat directory under stdpath("data")/lazy/. Each plugin spec is a Lua table declaring its source, dependencies, lazy-loading triggers, and configuration function. At startup, lazy.nvim reads the lockfile to verify versions, loads only the plugins whose triggers have fired, and defers the rest. The :Lazy UI provides a real-time view of plugin status, updates, and profiling data.

Self-Hosting & Configuration

  • Bootstrap lazy.nvim with the snippet above in your init.lua
  • Define plugin specs as Lua files in a plugins/ directory
  • Run :Lazy sync to install, update, and clean plugins in one step
  • Commit lazy-lock.json to version control for reproducible environments
  • Requires Neovim 0.8+ and Git

Key Features

  • Automatic lazy loading reduces startup to only the plugins you need at launch
  • Lockfile support pins exact commits for each plugin
  • Built-in profiler identifies slow plugins with per-plugin timing
  • Spec fragments let multiple files contribute to one plugin's configuration
  • Concurrency during install and update operations for fast package management

Comparison with Similar Tools

  • packer.nvim — predecessor using a compile step; lazy.nvim is faster and actively maintained
  • vim-plug — Vimscript-based, simpler; lazy.nvim offers richer Lua-native lazy loading
  • dein.vim — supports caching; lazy.nvim provides a more intuitive spec format and UI
  • mini.deps — minimalist approach; lazy.nvim has more features like profiling and lockfiles
  • rocks.nvim — uses luarocks for packaging; lazy.nvim manages Git-based plugin sources directly

FAQ

Q: How do I migrate from packer.nvim? A: Convert your use() calls to lazy.nvim spec tables. The format is similar but uses different keys (opts instead of config, event/cmd/keys for lazy loading).

Q: Can I pin a plugin to a specific version? A: Yes. Set the version field in the spec (e.g., version = "^2") or commit the lockfile for exact pins.

Q: How do I profile startup time? A: Run :Lazy profile to see a ranked list of plugins by load time.

Q: Does lazy.nvim support local plugins? A: Yes. Set dir to the local path instead of specifying a Git URL.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires