A Neovim plugin for seamless configuration branch switching with an interactive floating window interface.
- 🎨 Interactive Floating Window - Beautiful branch selector with vim-like navigation
- ⚡ Direct Branch Switching - Quick switching with tab completion
- 🔄 Automatic Reload - Configuration reloads automatically after branch switch
- 👁️ Visual Indicators - Current branch clearly marked with ● symbol
- 🛠️ Zero Configuration - Works out of the box
- Neovim 0.7+ with Lua support
- Git repository in your config directory
- Multiple configuration branches
Using lazy.nvim
{
"rrxxyz/neochange.nvim"
}Using packer.nvim
use 'rrxxyz/neochange.nvim'Using vim-plug
Plug 'rrxxyz/neochange.nvim':NeoChangeOpens a floating window with all available branches.
Controls:
j/↓- Move downk/↑- Move upEnter/Space- Select branchq/Esc- Close window
:NeoChange python-nvimSwitches directly to the specified branch with tab completion.
Structure your Neovim config as a git repository:
~/.config/nvim/
├── init.lua
├── lua/
│ ├── config/
│ └── plugins/
└── .git/
Create different branches for different configurations:
# Create branches for different setups
git checkout -b python-nvim # Python development config
git checkout -b cpp-nvim # C++ development config
git checkout -b minimal # Lightweight config
# Use NeoChange to switch between them
:NeoChange python-nvimNo configuration required! NeoChange works automatically after installation.
The plugin auto-loads and registers the :NeoChange command when Neovim starts.
Complete documentation is available within Neovim:
:h neochangeContributions are welcome! Please see CONTRIBUTING.md for details.
git clone https://github.com/rizukirr/neochange.nvim
cd neochange.nvim
make setup # Set up development environment
make ci # Run all CI checks (format, lint, test)make setup- Set up development environment with all dependenciesmake test- Run all tests using plenary.nvimmake test-watch- Run tests in watch mode (requires entr)make lint- Run luacheck linter on lua/ and tests/make format- Format code with styluamake format-check- Check code formatting without changesmake install-dev- Install development dependencies (plenary.nvim)make ci- Run complete CI suite (format-check, lint, test)make clean- Clean up cache files
- 📋 Report Issues
- 💬 Discussions
- 📖 Documentation:
:h neochange
MIT License - see LICENSE file for details.
- Inspired by the need for easy configuration management
- Built with love for the Neovim community
- Thanks to all contributors!
⭐ Star this repository if you find it useful!