Neovim config examples based on MINI
Neovim with maximum MINI
MiniMax is a Neovim config generator. After running a script, your config will:
- Be primarily based on the 'mini.nvim' modules for a coherent, powerful, and flexible setup.
- Provide out of the box a stable, polished, and feature rich Neovim experience.
- Have minimal structure with potential to build upon.
- Contain extensively commented files meant to be read.
See change log for a history of changes.
If you find this project useful, please consider leaving a Github star.
How it looks
What it is not
It is not a "Neovim distribution", i.e. there are no automatic config updates. After your config is set up, it is yours to improve and update (which makes this approach more stable). You can still see how MiniMax itself gets updated (see Updating and Change log) and adjust the config accordingly.
It is not a comprehensive guide on how to set up and use every Neovim feature and plugin. Most of the config parts are carefully chosen in order to reach a balance between stability and features.
Requirements
Software
- Neovim executable. Assumed to be named
nvim. - Git executable. Assumed to be named
git. - Operating system: any OS supported by Neovim.
- Internet connection for downloading plugins.
- (Optional, but recommended)
ripgrep. - (Optional, but recommended) Terminal emulator (or GUI) with true colors and Nerd Font icons support. No need for a full Nerd font, using
NerdFontsSymbolsOnlyas a fallback is usually enough. - (Optional, but recommended) System requirements for
mainbranch of 'nvim-treesitter/nvim-treesitter' plugin.
Knowledge
Basic level of understanding of how to:
- Use CLI (command line): open, navigate file system, execute commands, close.
- Use Neovim: open, modal editing, reading help, close. If inside Neovim, type
:h help.txt(or click it if it is a link) followed by<Enter>and it should guide you through understanding basics.
:h notation, :h key-notation, :h vim-modes, :h mode-switching, :h windows-intro, :h vimtutor
- Read help files from inside Neovim: notion of help tags, key notations, navigation.
<Space> + f + h to fuzzy search across all help tags.
- Read Lua language: variables, tables, function calls, iterations. See also
:h lua-conceptsand:h lua-guide.
Motivation
- It will be really helpful if you are mentally ready to read documentation and practice. If you are new to Neovim and/or MINI, it might feel like a lot. It gets easier the more you learn and practice. Without this you likely won't enjoy Neovim and MiniMax as much.
Setting up
This sets up temporary 'nvim-minimax' config and doesn't affect your regular config. To set up a full time config, remove all instances of NVIM_APPNAME=nvim-minimax.
# Download
git clone --filter=blob:none https://github.com/nvim-mini/MiniMax ./MiniMax
Set up config (copies config files and possibly initiates Git repository)
NVIM_APPNAME=nvim-minimax nvim -l ./MiniMax/setup.lua
Start Neovim
NVIM_APPNAME=nvim-minimax nvim
On Neovim>=0.12 press y to confirm installation of all listed plugins
Wait for plugins to install (there should be no new notifications)
Enjoy your new config!
Start with reading its files. Type <Space>+e+i to open 'init.lua'.
Notes:
- MiniMax project can be downloaded manually (like via GitHub UI).
- With
NVIM_APPNAME=nvim-minimaxconfig directory is '\~/.config/nvim-minimax' on Unix and '\~/AppData/Local/nvim-minimax' on Windows.
- If there are messages about backed up files during setup, it means the target config directory already contained files that are meant to come from MiniMax. Previous files were moved to
MiniMax-backupdirectory. Review/restore them and delete the whole backup directory.
- You can explore MiniMax manually to find which (parts of) reference configs suit you best. Read through the relevant config example (starting at 'init.lua') and use interesting parts in your already existing config.
Updating
MiniMax doesn't provide fully automatic updates of an already set up config. The recommended approach is to manually explore reference configs and change log to see the changes.
The closest approach to automatic updating is:
# Pull updates of MiniMax itself
git -C ./MiniMax pull
Run setup script again. Remove NVIM_APPNAME=nvim-minimax for full-time config
NVIM_APPNAME=nvim-minimax nvim -l ./MiniMax/setup.lua
There probably be messages about backed up files:
1. Examine 'MiniMax-backup' directory with conflicting files.
2. Recover the ones you need.
3. Delete the backup directory.
Similar projects
- More automated approaches ("Neovim distributions"):