What is LazyVim
LazyVim is a Neovim distribution by Folke — batteries-included, pre-configured with lazy.nvim, LSP, Treesitter, Telescope, and a curated plugin ecosystem. Covers architecture, philosophy, structure, and all core features.
LazyVim Cheatsheet
Complete keymap reference for LazyVim — every default keybinding from the official docs, organized by category with which-key groups, LSP, git, UI toggles, and plugin-specific mappings.
Installation
Step-by-step guide to installing LazyVim — requirements, backup, cloning the starter, first launch, and post-installation steps.
Configuration
Complete guide to configuring LazyVim — options.lua, keymaps.lua, autocmds.lua, plugins, and LSP configuration patterns.
Plugins Overview
Complete catalog of all plugins LazyVim ships with — coding, editor, UI, LSP, Treesitter, formatting, linting, and utilities — with their default configurations.
Extras
Complete catalog of LazyVim Extras — optional language support, editor enhancements, AI integrations, DAP debugging, UI themes, formatting, linting, and testing — organized by category.
Recipes
Practical LazyVim customization recipes — transparent theme, nvim-cmp sources, supertab, surround, formatting, and more.
Completion & Snippets
How completion works in LazyVim — nvim-cmp vs blink.cmp, completion sources, accepting/selecting completions, snippet expansion, and creating your own snippets.
Picker, Explorer & Workflow
Daily navigation workflow in LazyVim — Snacks Picker for finding files/grep/buffers, Snacks Explorer for browsing, root dir vs cwd, and switching between Telescope, fzf-lua, Neo-tree, and mini.files.
Dashboard, UI & Notifications
Keyboard-centric guide to LazyVim UI — dashboard customization, bufferline tabs, lualine statusline, Noice notifications, and every UI toggle explained.
Updates & Maintenance
How to safely update LazyVim, understand the lockfile, handle breaking changes, back up and restore your config, and migrate from other setups.
Sessions & Workspace
How session management works in LazyVim — persistence.nvim auto-save/restore, manual session controls, workspace root detection, and multi-project workflow.
Language Setup
Practical per-language setup guides for LazyVim — Python, TypeScript/JavaScript, Lua, Bash, Docker, YAML, PHP, and Markdown. Each covers LSP, formatter, linter, Treesitter, and project files.
Keymap Reference
LazyVim comes with a huge number of pre-configured keymaps to make navigation, editing, and managing your environment easier. Most of these keymaps use the <leader> key, which is mapped to <Space> by default.
which-key Guide
LazyVim uses the which-key.nvim plugin extensively to make its massive list of keymaps discoverable. If you ever forget a keymap, which-key is your built-in interactive cheat sheet.
Custom Plugins
LazyVim is powered by lazy.nvim, making it incredibly simple to add new plugins, override existing ones, or completely disable default functionality you don't need.
LSP Setup
Language Server Protocol (LSP) setup is one of the most notoriously difficult parts of configuring vanilla Neovim. LazyVim solves this by automatically managing LSP servers, formatters, and linters using Mason and nvim-lspconfig.
Migrating from Vanilla
If you've spent months building a custom init.lua, you might be hesitant to switch to a pre-configured distribution. However, migrating to LazyVim is often worth it for the improved performance, standardized configuration, and reduced maintenance burden.