My custom neovim configuration written in (mostly) lua.
- neovim v0.9.5 (untested on other versions, might work)
- ripgrep
- for telescope fuzzy finding in files
go
(>=1.16)- to install
efm
which 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.nix
that includes dependencies for this
- (optional)
yarn
- to install iamcco/markdown-preview.nvim
- delete
lua/plugins/markdown_plugins.lua
if you don't need this
- Plugins
- See Lazy.nvim
- Use
:Lazy sync
to update plugins
- LSP
- After opening a file you want LSP support for, run
:LspInstall
and select the server you want installed. Restart neovim after it completes. This uses mason-lspconfig.nvim - See
lua/lsp/init.lua
for 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 Lualua
plugins/
- If you don't want/need some of them, simply delete those files
lsps.lua
andlsp/
misc.lua
: other configurations such as line numbers, splits, tabs, whitespaces, colorschemes, etc.- Other files are plugin-specific configurations. I should probably move them.