My custom neovim configuration written in (mostly) lua.
- neovim v0.11 (untested on other versions, might work)
- ripgrep
- for snacks picker fuzzy finding in files
go(>=1.16)- to install
efmwhich provides linting and formatting for many languages
- to install
gcc- to build treesitter parsers
- only needed when the treesitter plugin is installed/updated
- If you use nix, see
shell.nixthat includes dependencies for this
- (optional)
yarn- to install iamcco/markdown-preview.nvim
- delete
lua/plugins/markdown_plugins.luaif you don't need this
- Plugins
- See Lazy.nvim
- Use
:Lazy syncto update plugins
- LSP
- After opening a file you want LSP support for, run
:LspInstalland select the server you want installed. Restart neovim after it completes. This uses mason-lspconfig.nvim - See
lua/lsp/init.luafor keybinds set for LSP stuff
- After opening a file you want LSP support for, run
All lua files are formatted using stylua.
init.lua: main file which Neovim loadsvimscript: legacy vimscript stuff that could not be ported over to Lualuaplugins/- If you don't want/need some of them, simply delete those files
lsps.luaandlsp/misc.lua: other configurations such as line numbers, splits, tabs, whitespaces, colorschemes, etc.- Other files are plugin-specific configurations. I should probably move them.