Neovim personal config based on LazyVim.
Designed for full-stack development with PHP, Vue.js, Go and SQL.
MateVim is a modular config where each file in lua/plugins/ returns a lazy.nvim spec, and lua/plugins/lang/ extends shared opts tables per language (LSP, formatters, linters, DAP). Highlights:
- LSP via
mason+nvim-lspconfig(PHP, TS/JS/Vue, CSS, Lua, Go, SQL). - Completion with blink.cmp + LuaSnip.
- Format on-save with
conform.nvimand linting withnvim-lint. - Debug with
nvim-dapand tests withneotest. - Database UI (
vim-dadbod-ui) and HTTP client (kulala.nvim). - UI with
snacks.nvim,noice,bufferline,lualine, andwhich-key. - Colorscheme:
gruvbox
- Neovim 0.10+
- Git
- A NerfFont (needed to display some icons)
- tree-sitter-cli and a C complier (
gcc/clang) - lazygit
- ripgrep and fd for searching
- a terminal that support true color, I recommend ghostty for this
Make a backup of your existing configs
mv ~/.config/nvim ~/.config/nvim.bak 2>/dev/nullClone the repo, but I strongly recommend that you fork it.
git clone https://github.com/SttavoS/MateVim ~/.config/nvimRemove the .git folder, not necessary if you make the fork.
rm -rf ~/.config/nvim/.gitRun neovim for the first time to download dependencies.
nvimYou can run :checkhealth to verify that everything is working.
- Use
VimBeGoodto learn the vim motions. - Complete keybind reference in
docs/keybinds.md.
Personal configs, but PRs are appreciated.
MIT © Gustavo Schneider

