A Neovim plugin to dynamically resize panes, focusing on the active window and excluding NvimTree and floating windows.
Pane Resizer is a Neovim plugin that automates pane resizing to optimize workspace layouts. With Pane Resizer, you can keep specific windows like NvimTree
at a fixed width, distribute space evenly among inactive panes, and configure custom resizing for the focused pane.
- Automatic Pane Resizing: Automatically resizes the focused pane to a user-defined percentage.
- NvimTree Handling: Keeps
NvimTree
at a fixed width, even when switching focus. - Floating Windows Exclusion: Ignores floating windows during pane resizing.
- Efficiency: Dynamically resize panes to enhance workflow by focusing on essential windows.
- Customization: Offers flexible settings for the size of focused windows,
NvimTree
, and other panes. - Compatibility: Designed to work seamlessly with floating windows.
Using your preferred plugin manager:
-- Using LazyVim
return {
{
"mboyov/pane-resizer.nvim",
config = function()
require('pane_resizer').setup({
NVIMTREE_WIDTH = 40, -- Set NvimTree width (default is 30)
FOCUSED_WIDTH_PERCENTAGE = 0.5, -- Resize focused window to 50% (default is 60%)
})
end,
},
}
- Users who work with multiple splits and need a focused window to occupy a larger portion of the screen.
- Users who want to keep NvimTree at a fixed width.
- Users who use floating windows and want them excluded from the resizing logic.
Feel free to open issues or pull requests if you have suggestions for improvements.
Distributed under the MIT License. See LICENSE for more information.
- Neovim for creating an extensible editor that makes plugins like this possible.
- Thanks to the Neovim community for their valuable resources and examples.