First off, thanks for taking the time to contribute!
This project is a beginner-friendly Neovim starter config. Contributions that keep it simple, well-documented, and accessible to newcomers are always welcome.
Please read our Code of Conduct before participating.
Open a bug report.
Include:
- Your Neovim version (
nvim --version | head -1) - Operating system
- Steps to reproduce
- What you expected vs what happened
If the error is from a plugin (not the config itself), report it to the plugin author instead.
Open a feature request.
Check existing issues and discussions first — someone may have already suggested it.
Typos, unclear explanations, or missing docs for common setups are all great fixes. See any *.md file in the repo.
Found a better default? A smarter keybinding? A plugin that's more stable or beginner-friendly than the current one? Open a pull request.
# Clone the repo
git clone https://github.com/Mvzundert/nvim-starter.git
cd nvim-starter
# Test your changes without touching your real config
nvim -u init.lua somefile.pyYou can also symlink the file to test day-to-day:
ln -sf "$(pwd)/init.lua" ~/.config/nvim/init.lua- Keep it focused. One change per PR. A starter config should stay lean.
- Stay single-file. The whole point is a single
init.luawith comments. - Stay beginner-friendly. New features must be clearly commented. Assume the reader has never used Neovim.
- Minimize plugins. Every new plugin adds maintenance cost and startup time. Ask yourself: is this essential for a beginner? If yes, prefer a stable, well-maintained option.
- Test your changes. Run
nvim -u init.luaand verify the feature works and nothing breaks. - Preserve the existing style. Indentation, comment style, and keybinding conventions should match.
Write commit messages in the imperative mood:
Add guess-indent.nvim for auto-indent detection
Fix which-key timeout description
Update LSP server list in docs
If this is your first PR ever, welcome! Feel free to tag @Mvzundert for help. Check issues labelled good first issue if you're looking for a place to start.
See SUPPORT.md or start a GitHub Discussion.