MiniMax
Generated from the main
branch of ‘MiniMax’
Neovim with maximum MINI
MiniMax is a collection of fully working self-contained Neovim configs. All of the them:
- Use mostly MINI to showcase its capabilities.
- Provide out of the box a stable, polished, and feature rich Neovim experience.
- Share minimal structure with potential to build upon.
- Contain extensively commented config files meant to be read.
It can be automatically set up, which uses the best suited config from available ones.
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 full Nerd font, using
Symbols Only
nerd font as a fallback is usually enough.
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.Several personal recommendations (no need to read in full; be aware of their content):
: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.
TipIf already inside MiniMax config, press
<Space>
+f
+h
to fuzzy search across all help tags.Read Lua language: variables, tables, function calls, iterations. See also
:h lua-concepts
and: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
# Wait for plugins to install (there should be no new notifications)
# Enjoy your new config!
# Start with reading its files (type `<Space>`+`e`+`i`, without much delay in between)
Notes:
MiniMax project can be downloaded manually (like via GitHub UI).
With
NVIM_APPNAME=nvim-minimax
config directory is ‘~/.config/nvim-minimax’ on Unix and ‘~/AppData/Local/nvim-minimax’ on Windows.A full-time config directory is ‘~/.config/nvim’ on Unix and ‘~/AppData/Local/nvim’ 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-backup
directory. Review/restore them and delete the whole backup directory.You can explore MiniMax manually to find which (parts of) config examples 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 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”):