A Neovim plugin for freely rearranging and swapping windows with intuitive keyboard-driven movement.
WinShift.nvim is a Neovim plugin that enhances window management by allowing users to freely move and swap windows in any direction. It solves the problem of Vim's restrictive native window operations, enabling dynamic workspace rearrangement and improved multitasking.
Neovim users who frequently work with multiple windows and seek more flexible layout control than Vim's default window swapping and rotation provides.
Developers choose WinShift.nvim for its intuitive, keyboard-driven approach to window rearrangement, offering far greater flexibility than Vim's built-in commands while maintaining a seamless modal editing experience.
Rearrange your windows with ease.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows moving windows in any direction including far ends, overcoming Vim's restrictive column/row constraints as described in the README.
Provides a visual mode with hjkl or arrow keys for intuitive, keyboard-driven rearrangement, with highlighting options for the moving window.
Enables precise window swapping via configurable character identifiers and filtering rules, as shown in the setup function for ignoring floating windows or specific buffers.
Offers default keymaps for movement and swapping that can be disabled or remapped, giving users control over their workflow without conflicts.
Movement can be 'wonky' and cause unexpected resizing with windows using 'winfixwidth' or 'winfixheight', a limitation explicitly admitted in the Caveats section.
Requires Neovim ≥ 0.7.2, excluding users on older versions or vanilla Vim, which limits adoption in legacy environments.
Configuration involves Lua code and custom keymaps, which may be daunting for users unfamiliar with Neovim's API or those seeking plug-and-play solutions.