Install ยท Configure ยท Docs

Latest release Last commit License Stars Issues Repo Size follow on Twitter

LazyVim is a Neovim setup powered by [๐Ÿ’ค lazy.nvim](https://github.com/folke/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](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png) ![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png) ## โœจ Features - ๐Ÿ”ฅ Transform your Neovim into a full-fledged IDE - ๐Ÿ’ค Easily customize and extend your config with [lazy.nvim](https://github.com/folke/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](https://www.nerdfonts.com/) **_(optional)_** - a **C** compiler for `nvim-treesitter`. See [here](https://github.com/nvim-treesitter/nvim-treesitter#requirements) ## ๐Ÿš€ Getting Started You can find a starter template for **LazyVim** [here](https://github.com/LazyVim/starter)
Try it with Docker ```sh docker run -w /root -it --rm alpine:edge sh -uelic ' apk add git lazygit fzf curl 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: ```sh mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak ``` - Clone the starter ```sh git clone https://github.com/LazyVim/starter ~/.config/nvim ``` - Remove the `.git` folder, so you can add it to your own repo later ```sh rm -rf ~/.config/nvim/.git ``` - Start Neovim! ```sh nvim ``` Refer to the comments in the files on how to customize **LazyVim**.
--- There's a great video created by [@elijahmanor](https://github.com/elijahmanor) with a walkthrough to get started. [![Watch the video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM) [@dusty-phillips](https://github.com/dusty-phillips) wrote a comprehensive book called [LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes) 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](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config) You can add your custom plugin specs under `lua/plugins/`. All files there will be automatically loaded by [lazy.nvim](https://github.com/folke/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](https://lazyvim.github.io)