Mindket

LazyVim

Newversion 2 · updated
Star27.8k

Overview

The LazyVim project’s free, open source Neovim setup, powered by lazy.nvim, with sane defaults and plugins ready to use. The setup notes cover Linux, macOS, Windows, Docker, configuration, keymaps and extras.

LazyVim is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.

At a glance

Runs in
  • Linux and macOS: the starter cloned to ~/.config/nvim
  • Windows: the same starter cloned with PowerShell to the nvim folder under LOCALAPPDATA
  • Docker: the docker run command on the Installation page (Fedora) or in the README (Alpine)
  • Terminals: kitty, wezterm, alacritty, iTerm2 and ghostty, which the docs name for true color and undercurl
Start with
mv ~/.config/nvim{,.bak}
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}

Platform

LinuxOperating system
macOSOperating system
WindowsOperating system
DockerContainer

About

What it is

LazyVim is a Neovim setup powered by lazy.nvim. It is a set of Lua files, not a program of its own. The README says that rather than choosing between starting from scratch and using a pre-made distro, LazyVim offers the best of both worlds. It gives you the flexibility to tweak your config as needed, with the convenience of a pre-configured setup. It aims to turn Neovim into a full-fledged IDE, with sane default settings for options, autocmds and keymaps.

  1. You clone the starter into Neovim’s config folder
  2. The first start clones lazy.nvim
  3. lazy.nvim installs LazyVim and the plugins it imports
  4. LazyVim’s defaults load before your own files
  5. Your files in lua/config and lua/plugins change them

Who it suits

People who already use Neovim, or want to, and would like a working editor on the first start instead of a blank config. You will edit Lua files, so a little comfort with a terminal helps. Skip it if you keep a config you wrote yourself and like it. It also needs Neovim 0.11.2 or newer, so an older build has to be updated first.

Who uses it, and how
IndustryWho uses itHow they use itExample
Software developmentDevelopers who want an IDE inside the terminalClone the starter, then turn on language and tool extras with :LazyExtrasA developer runs :LazyExtras after the first start and picks from the groups the docs list, such as lang, test and dap.
AI-assisted codingDevelopers who work with an AI assistant in the editorTurn on one of the AI extras the Keymaps page listsA developer turns on the claudecode extra and presses <leader>ac to toggle Claude, as the Keymaps page lists it.
Dotfiles and shared setupsPeople who keep their config in GitRemove the starter’s .git folder and commit the config folder to their own repositoryA developer deletes ~/.config/nvim/.git, as the Installation page says, and pushes the folder to their own repo.
Learning NeovimNewcomers who want a guided startFollow the docs, the walkthrough video they link and the free bookA learner watches the walkthrough video, then edits lua/config/options.lua to change one setting.
Containers and quick trialsAnyone who wants to try it firstRun the docs’ docker run command and use LazyVim inside the containerA developer runs the Installation page’s Fedora command and lands in nvim inside the container.

Where to use it

LazyVim runs inside Neovim, in a terminal. The docs name a clone command for each system, and the setup notes have a page for each.

  • Linux and macOS: the starter cloned to ~/.config/nvim
  • Windows: the same starter cloned with PowerShell to the nvim folder under LOCALAPPDATA
  • Docker: the docker run command on the Installation page (Fedora) or in the README (Alpine)
  • Terminals: kitty, wezterm, alacritty, iTerm2 and ghostty, which the docs name for true color and undercurl

How to set it up

Get it saves a zip of Mindket’s setup notes in your downloads folder, with a page for each route above. The install itself is a clone of the starter, and lazy.nvim does the rest on the first start.

What you need first
NeedDetail
Neovim0.11.2 or newer, built with LuaJIT
Git2.19.0 or newer, for partial clones
A C compiler and tree-sitter-cliBoth are needed by nvim-treesitter
curlNeeded by the completion engine blink.cmp
A terminalOne that supports true color and undercurl
Optional extrasA Nerd Font (v3.0 or greater), lazygit, and for the fzf-lua picker fzf (v0.25.1 or greater), ripgrep and fd
An account or keyThe pages Mindket read ask for none
  1. Back up your current Neovim files.
  2. Clone the starter into Neovim’s config folder.
  3. Remove the starter’s .git folder, so you can add the folder to your own repo later.
  4. Start nvim and let the plugins install.
  5. Run :LazyHealth to check that everything works.

On Linux and macOS, the Installation page gives these lines. The first is required, and the other three are optional but recommended:

# required
mv ~/.config/nvim{,.bak}

# optional but recommended
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}

Then clone, strip the starter’s history and start Neovim:

git clone https://github.com/LazyVim/starter ~/.config/nvim
rm -rf ~/.config/nvim/.git
nvim

On Windows, the page uses PowerShell and different folders. The first line is required, and the second is optional but recommended:

# required
Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak

# optional but recommended
Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bak

Then clone the starter, remove its .git folder and start Neovim:

git clone https://github.com/LazyVim/starter $env:LOCALAPPDATA\nvim
Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force
nvim

The move lines put your current setup aside, so Neovim stops loading it. Look at what is in those folders first.

How to use it

Press the space key. LazyVim uses which-key.nvim, so a popup lists every keymap that starts with it. The default leader key is space and the default local leader is a backslash. These keys come from the Keymaps page:

  • <leader><space> finds files in the root dir, and <leader>/ greps there
  • <leader>e opens the explorer, and <leader>, lists buffers
  • <leader>cf formats the file, and <leader>ca opens code actions
  • <leader>l opens Lazy, and <leader>L opens the LazyVim changelog
  • <leader>? shows the keymaps for the current buffer

Extras are optional plugin sets. The Extras page says the easiest way to install them is the :LazyExtras command.

:LazyExtras

Example

You want the catppuccin colorscheme in place of the default. The Configuration page sets it as an option of the LazyVim plugin. Save this as lua/plugins/core.lua:

return {
  {
    "LazyVim/LazyVim",
    opts = {
      colorscheme = "catppuccin",
    }
  }
}

The default colorscheme option loads tokyonight. The Plugins page lists TokyoNight and Catppuccin as its default color schemes.

For newcomers and experts

If you are new. LazyVim is a ready-made Neovim config: an init.lua and Lua files under lua/config and lua/plugins that you edit. The starter’s files hold comments that say what to change. LazyVim loads its own defaults first and yours after them. The General Settings page warns you not to require autocmds, keymaps, lazy or options under lua/config by hand, because LazyVim loads them. Run :LazyHealth after the first start, as the Installation page suggests.

For experts. A plugin spec of yours merges with LazyVim’s by rule. The cmd, event, ft, keys and dependencies lists are extended, opts is merged, and any other property overrides. For ft, event, keys, cmd and opts you can pass a function that edits the defaults or returns new ones. To turn off a default keymap, give the same lhs and mode with false as the value.

lazy.nvim and LazyVim follow the latest stable release by default. To track the development version, add specs for both with version set to false. The starter keeps version false for other plugins, and the docs say many plugin releases are outdated and may break your install. Options such as vim.g.lazyvim_picker (telescope or fzf) and vim.g.lazyvim_cmp (nvim-cmp or blink.cmp) default to "auto".

Good to know

lazy.nvim, mason.nvim and nvim-treesitter all fetch from the network, and the install steps move your existing Neovim folders.

  • Network: the first start clones lazy.nvim from https://github.com/folke/lazy.nvim.git, and lazy.nvim installs LazyVim and the plugins it imports. mason.nvim installs language servers and tools (the starter’s example.lua says pyright “will be automatically installed with mason”), and nvim-treesitter installs parsers. The starter turns on lazy.nvim’s update checker, with notifications off
  • Your old config: the move commands rename it, and those folders hold any other Neovim setup too
  • Changes to watch: LazyVim shows its NEWS.md when it changes, covering big new features and breaking changes
  • Versions: the docs say to leave plugins on version false for now, because outdated releases may break your install
  • AI extras: avante, claudecode, CopilotChat and sidekick appear as extras on the Keymaps page. The pages Mindket read do not say what accounts or keys they need, so read each plugin’s own page first
  • Removal: the docs give no uninstall steps. The folders named in the backup lines are the ones to look at
  • Usage data and accounts: the pages Mindket read say nothing about either
  • License: Apache-2.0. The LICENSE file is the standard text and names no holder, and the docs site footer reads “Copyright © 2026 LazyVim, Inc.”

README and files

README

LazyVim: setup notes

This kit holds setup notes only. Mindket wrote them. LazyVim installs from its maker's repositories: https://github.com/LazyVim/LazyVim holds LazyVim itself, and https://github.com/LazyVim/starter holds the starter template you clone.

These notes are not made or endorsed by the LazyVim project. The README says LazyVim is "a Neovim setup powered by lazy.nvim to make it easy to customize and extend your config." The documentation is at https://lazyvim.github.io

License: Apache-2.0. The LICENSE file (https://github.com/LazyVim/LazyVim/blob/main/LICENSE) is the standard Apache License 2.0 text. Its closing appendix keeps the placeholder line "Copyright [yyyy] [name of copyright owner]" and names no holder. The starter's LICENSE (https://github.com/LazyVim/starter/blob/main/LICENSE) is the same text. The documentation site's footer reads "Copyright © 2026 LazyVim, Inc." (https://lazyvim.github.io/extras).

Mindket read these pages on 3 November 2026. LazyVim changes often, so check the Installation page before you run a command.

What installs

LazyVim is not a program you install by itself. It is a set of Lua files that Neovim loads. The Installation page has you clone the LazyVim starter into Neovim's config folder. On the first start, the starter's lua/config/lazy.lua clones the plugin manager lazy.nvim, and lazy.nvim then installs LazyVim and the plugins it imports. Source: https://lazyvim.github.io/configuration/lazy.nvim

The starter's GitHub page lists .gitignore, .neoconf.json, LICENSE, README.md, init.lua, stylua.toml and a lua folder. The Configuration page draws the config folder as an init.lua, lua/config (autocmds.lua, keymaps.lua, lazy.lua and options.lua) and lua/plugins, where your own spec files go. You edit those files, and LazyVim's own defaults load before them. Source: https://github.com/LazyVim/starter and https://lazyvim.github.io/configuration

What you need first

The Getting Started page lists these. Source: https://lazyvim.github.io

  • Neovim 0.11.2 or newer, built with LuaJIT.
  • Git 2.19.0 or newer, for partial clones.
  • tree-sitter-cli and a C compiler, for nvim-treesitter. The page points to that plugin's requirements.
  • curl, for the completion engine blink.cmp.
  • Optional: a Nerd Font (v3.0 or greater), which the page says is needed to display some icons, and lazygit.
  • Optional, for the fzf-lua picker: fzf (v0.25.1 or greater), ripgrep for live grep and fd for finding files.
  • A terminal that supports true color and undercurl. The page names kitty (Linux and macOS), wezterm, alacritty and ghostty (Linux, macOS and Windows) and iTerm2 (macOS).

See setup/requirements.md.

Main install command

Back up your current Neovim files first, then clone the starter. This is the Linux and macOS route from the Installation page, and setup/linux-and-macos.md has the whole sequence.

git clone https://github.com/LazyVim/starter ~/.config/nvim

Source: https://lazyvim.github.io/installation

Per-platform notes

  • setup/linux-and-macos.md
  • setup/windows.md: PowerShell
  • setup/docker.md: the docker run commands from the Installation page and the README
  • setup/requirements.md: what each requirement is for
  • setup/configure.md: options, plugins, keymaps, colorscheme and versions
  • setup/keymaps-and-extras.md: the which-key menu, :LazyExtras and the AI extras
  • setup/learn.md: the walkthrough video and the free book

Update or remove

The pages Mindket read give no update steps and no uninstall steps. They do show what is on the machine:

  • Updates: the starter's lua/config/lazy.lua turns on lazy.nvim's update checker with notifications off. The Keymaps page lists <leader>l for Lazy and <leader>L for LazyVim Changelog. The Configuration page says LazyVim shows its NEWS.md when it changes, and that it covers only big new features and breaking changes. The Plugins page sends you to the lazy.nvim readme for the full plugin spec: https://github.com/folke/lazy.nvim
  • Removal: the Installation page's backup commands name the folders Neovim and LazyVim use. These notes (Mindket's, not the project's) go by that list. On Linux and macOS they are ~/.config/nvim, ~/.local/share/nvim, ~/.local/state/nvim and ~/.cache/nvim. On Windows they are $env:LOCALAPPDATA\nvim and $env:LOCALAPPDATA\nvim-data. They hold any other Neovim setup you keep there too, so look before you delete.

Outbound connections

The pages Mindket read describe these:

  • The first start clones lazy.nvim from https://github.com/folke/lazy.nvim.git with git clone (the lua/config/lazy.lua shown on https://lazyvim.github.io/configuration/lazy.nvim).
  • lazy.nvim then installs LazyVim and the plugins it imports. The page asks for Git 2.19.0 or newer for partial clones, and the clone in lua/config/lazy.lua uses --filter=blob:none.
  • The update checker looks for newer plugin versions on its own.
  • mason.nvim installs language servers and tools: the starter's lua/plugins/example.lua says pyright 'will be automatically installed with mason'.
  • nvim-treesitter installs parsers. The What's new page (15.x) says the tree-sitter cli is required to install them.
  • The Getting Started page lists curl for blink.cmp, the completion engine. It does not say what blink.cmp uses it for.

The pages say nothing about telemetry or an account.

Sources

Files
README.md  6 KB
setup/configure.md  4 KB
setup/docker.md  1 KB
setup/keymaps-and-extras.md  3 KB
setup/learn.md  2 KB
setup/linux-and-macos.md  2 KB
setup/requirements.md  1 KB
setup/windows.md  2 KB

8 files, 21 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

DavideNLMultiple Cursor Mode in LazyVim – LazyVim for Ambitious Developers1 pointThe Projektkickstart.nvim is one commented init.lua, so the evening goes into reading what each line does instead of hunting plugins. LazyVim is faster on day one, right up until you want to change something it hides.2 likes@psycipher当初排除 bin/ 的 PR: https://t.co/vX0Ix8JSCfr/unixporn[KDE] Rose Pine inspired from another postalonp99LazyVim1 point@archiveos.bsky.socialLazyVim – a Neovim setup powered by lazy.nvim to make it easy to customize and extend your config. Rather than having to choose between starting from scratch or using a pre-made distro, LazyVim offers... archiveapp.org/lazyvim/ #texteditor #vim #linux #osx #windows1 like@nickjanetakisDid you know a while back shfmt added zsh support for formatting your shell scripts? I added a PR recently for LazVim to auto-format zsh by default in https://t.co/LbM1AU3x2z. This already exists in DotFriedRice https://t.co/6qZQxhL50p so we don't have to wait for the PR there.noelwelshMovwin: My (Unpublished) TUI FrameworkTUIs in Prolog sounds fun. The great thing about TUIs is that a simple text component is a universal widget. If the user can display text and capture events they can implement any interface components they want in terms of that. That said, whatever the framework provides pushes users in a…Pragg SnarboI’m so excited to move away from electron based apps that bundle an entire browser and instead move towards rich TUIs. All the ‘lazy{service}’ apps like lazyvim, lazydocker, lazykube etc are such a pleasure to use.1 likesceleratI set all 376 Vim options and I'm still a foolI think it took me about four months of daily use to know most of the editor basics without having to pause to look up things. Another eight for it all to feel natural. And, maybe about six years later, it remains my favorite text entry and code editing environment. I've been using the LazyVim…Matthew SetterSure, I skipped a lot of the configuration by using the wonderful LazyVim project. But, I don't need to do everything myself. A huge hat-tip to that project. If you've not heard of it and you're a Neovim user, it's well worth checking out.1 replyrmunnMicrosoft makes Zork open-sourceEveryone's recommending books; I'm going to do the opposite and recommend a specific dialect. Install Clojure. Read https://clojure.org/guides/getting_started and choose an editor. If you don't have a favorite editor, I recommend NeoVim with the LazyVim package (clone…

Searched

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Developer

See all in Developer

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

buzz

block · Kit

Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…

New37.3k

plannotator

backnotprop · Kit

Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.

New10.5k