nv is a lua neovim config which tries to be simple, cute and well-documented
- neovim v0.5.0+ (required for lua support)
- git
- Nerd patched font - used by nvim-web-devicons
- sumneko-lua - used by lua-dev
- ripgrep - default telescope grep searcher
- Backup your previous neovim config if it exists
- Clone repository into config folder
- Windows
- cmd
- default:
git clone https://github.com/shift-d/nv --depth 1 %LOCALAPPDATA%\nvim\
- XDG_CONFIG_HOME is set:
git clone https://github.com/shift-d/nv --depth 1 %XDG_CONFIG_HOME%\nvim\
- default:
- powershell
- default:
git clone https://github.com/shift-d/nv --depth 1 $env:LOCALAPPDATA\nvim\
- XDG_CONFIG_HOME is set:
git clone https://github.com/shift-d/nv --depth 1 $env:XDG_CONFIG_HOME\nvim\
- default:
- cmd
- Unix:
- default:
git clone https://github.com/shift-d/nv --depth 1 ~/.config/nvim/
- XDG_CONFIG_HOME is set:
git clone https://github.com/shift-d/nv -- depth 1 $XDG_CONFIG_HOME/nvim/
- default:
- Windows
- Open neovim inside config directory
- Type
:PackerInstall
- Reopen neovim - and... done!
- Open powershell
- Run
Invoke-WebRequest https://raw.githubusercontent.com/shift-d/nv/main/scripts/install.ps1 | select -ExpandProperty Content | Invoke-Expression
- Follow steps 3-5 from manual installation
- Open shell
- Run
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/shift-d/nv/main/scripts/install.sh | bash
- Follow steps 3-5 from manual installation
Feel free to configurate everything! Unlike NvChad and kyoto.nvim nv provides only glue for your config. Make it yourself!
Please, review every config file. If you don't know what exactly this option does - run :h $option
or if it's in plugin config - visit it's README.md.
init.lua
- file that imports every modulelua/
- folder that should be used for containing*.lua
filesconfig/
- folder for plugin configuration filespacker.lua
- packer.nvim config and autoinstall
options.lua
-vim.opt
,vim.o
andvim.g
optionsmappings.lua
- keybindings handled by nest.nvimplugins.lua
- plugin specification file; more info in Plugins sectionlsp.lua
- LSP settingsutils.lua
- global functions for lua
viml/
- folder that should be used for containing*.vim
filescommands.vim
- definitions of user commands and autocommands
State | nv | NvChad | kyoto.nvim | Lunarvim |
---|---|---|---|---|
Number of plugins | 18 | 33 | 30 | 26 |
Why | simplicity and well-documented | fast and pretty | fast and customizable | sane defaults |
Installation | crossplatform | crossplatform | linux/macos only | not yet |
Required | nerd font, sumneko-lua, rg | rg, nodejs, nerd font | nerd font, ctags, python, nodejs, rg | rust, python, nodejs |
Latest update of table: 8.09.21
- EXTENDING.md - notes about extending nv
- DOCS.md - nv documentation
Sometimes you are not able to write code in lua, so you have to call vimscript from lua.
In my opinion, making stacks of vim.cmd(...
is a bad idea, so I'd like to separate vimscript only categories from lua code.
In case of this config, defining commands and autocommands is not supported in neovim lua api yet, so that's why I moved their definition to .vim file.
NOTE: related PR's for adding commands and autocommands support for lua API: neovim/neovim#11613 neovim/neovim#14661
siduck76 - for his inspirational NvChad
samrath2007 - for his amazing kyoto.nvim