
Install Β· Configure Β· Docs
LazyVim is 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 the best of both worlds - the flexibility to tweak your config as needed, along with the convenience of a pre-configured setup.
β¨ Features
- π₯ Transform your Neovim into a full-fledged IDE
- π€ Easily customize and extend your config with lazy.nvim
- π Blazingly fast
- π§Ή Sane default settings for options, autocmds, and keymaps
- π¦ Comes with a wealth of plugins pre-configured and ready to use
β‘οΈ Requirements
- Neovim >= 0.9.0 (needs to be built with LuaJIT)
- Git >= 2.19.0 (for partial clones support)
- a Nerd Font (optional)
- a C compiler for
nvim-treesitter
. See here
π Getting Started
You can find a starter template for LazyVim here
Try it with Docker
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
Install the LazyVim Starter
-
Make a backup of your current Neovim files:
mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak
-
Clone the starter
git clone https://github.com/LazyVim/starter ~/.config/nvim
-
Remove the
.git
folder, so you can add it to your own repo laterrm -rf ~/.config/nvim/.git
-
Start Neovim!
nvim
Refer to the comments in the files on how to customize LazyVim.
Thereβs a great video created by @elijahmanor with a walkthrough to get started.
@dusty-phillips is working on a book called LazyVim for Ambitious Developers available for free online.
π File Structure
The files under config will be automatically loaded at the appropriate time, so you donβt need to require those files manually. LazyVim comes with a set of default config files that will be loaded before your own. See here
You can add your custom plugin specs under lua/plugins/
. All files there
will be automatically loaded by lazy.nvim
~/.config/nvim βββ lua β βββ config β β βββ autocmds.lua β β βββ keymaps.lua β β βββ lazy.lua β β βββ options.lua β βββ plugins β βββ spec1.lua β βββ ** β βββ spec2.lua βββ init.lua
βοΈ Configuration
Refer to the docs