LazyVim/LazyVim

website github github
neovimneovim-confneovim-configneovim-configurationneovim-pluginnvim
stars 15,046
issues 26
subscribers 57
forks 1,030
CREATED

2022-12-30

UPDATED

11 hours ago


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.

image

image

โœจ 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

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
'
  • 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 later

    rm -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.

Watch the video

@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

โš™๏ธ Configuration

Refer to the docs