MμVim is three editor configs. This repository is Current: Lua, Neovim only, and where new work lands first.
The other two are Mini (one init.vim) and VimScript (modular Vim and Neovim). Docs for all three: andresmpa.github.io/mu-vim-page.
Neovim and Lua (lua, lua5.4, or luajit). Current does not run on Vim. The installer pulls the rest.
| OS | Package manager | Config dir |
|---|---|---|
| Linux Arch / Manjaro | pacman | ~/.config/nvim |
| Linux Debian / Ubuntu | apt | ~/.config/nvim |
| Linux Fedora / RHEL | dnf | ~/.config/nvim |
| macOS | Homebrew | ~/.config/nvim |
| Windows | winget | %LOCALAPPDATA%\nvim |
Linux and macOS:
git clone https://github.com/AndresMpa/mu-vim.git ~/.config/nvim
cd ~/.config/nvim && lua install.lua
nvim
On a Mac, install Homebrew first. The installer uses brew install and does not need sudo.
Windows:
cd %LOCALAPPDATA%
move nvim nvim_old
git clone https://github.com/AndresMpa/mu-vim.git nvim
cd nvim
lua install.lua
nvim
winget installs Neovim, Node LTS, pnpm, ripgrep, and fd. If Lua is missing, winget install DEVCOM.Lua and rerun lua install.lua.
The first nvim runs :Pckr sync. When it finishes, quit (:qa) and open nvim again. Later: <Space> p i (install) or <Space> p u (sync).
:checkhealth is the next step. Windows often needs a C compiler for Treesitter. Format (Space f): black for Python, biome for JS/TS/JSON/CSS, Prettier for HTML/Markdown/Vue/YAML, shfmt for shell, stylua for Lua.
Removes the config, Mason, pckr, nvim cache/state, the font install.lua copied, and ~/.config/muvim (palettes and last theme). Leaves Neovim and package manager packages.
cd ~/.config/nvim
lua delete.lua
On Windows, run lua delete.lua from %LOCALAPPDATA%\nvim.
Shipped palettes are Lua (lua/scheme/palettes/, no extra theme plugins): deep-ocean (Current default), oceanic, palenight, darker, gruvbox, mini, nord, dracula, tokyonight, catppuccin, onedark. File icons follow the palette. Copy one to ~/.config/muvim/themes/my-theme.lua (return { bg = "#…", … }) or the shared Mini/VimScript .vim hex dict. <Space> t h opens a modal — moving the cursor previews, Enter saves, Esc cancels. :MuvimTheme name picks one; :MuvimTheme none restores this config's default. The choice is kept in ~/.config/muvim/active and is shared with Mini and VimScript.
./tests/run.sh
Podman if present, otherwise Docker. On the host: cd tests && go test -count=1 -parallel 8 . Mapping tests also cover Mini and VimScript.
If the project is useful, a star on GitHub helps.
Thanks to @jx11r for documentation.
Supported by DailyBot-Inc





