Zero-config neovim plugin to resize splits proportionally.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-08-25 14:32:44 -04:00
lua/keep-split-ratio fix: traverse through top-level horizontal splits 2025-08-23 22:07:21 -04:00
.gitignore feat: create keep-split-ratio 2025-08-23 18:10:01 -04:00
demo.gif feat: create keep-split-ratio 2025-08-23 18:10:01 -04:00
LICENSE Initial commit 2025-08-23 15:44:17 -04:00
README.md feat(readme): Add "See also" section w/ related options and plugins 2025-08-25 14:32:44 -04:00

🪟 keep-split-ratio.nvim

Preserve split percentages on UI resize. If you have 70/30 or 50/50 vertical splits, resizing your terminal/editor resizes the splits proportionally.

  • Lightweight. Does nothing until VimResized fires.
  • Per-tab state.
  • Respects winfixwidth columns (they keep their width).

Install

Lazy.nvim

{ "adlrwbr/keep-split-ratio.nvim", opts = {} }

Demo

As we resize the window,

Default with keep-split-ratio.nvim
only the right side grows and shrinks both splits grow and shrink

demo

See also

  • winfixwidth / winfixheight
    Mark a split as fixed (:set winfixwidth) so it resists being resized.
    Useful for sidebars but the opposite of keeping ratios.

  • Manual equalize
    The keybind <C-w>= equalizes all splits on demand.

  • equalalways
    :set equalalways or vim.opt.equalalways = true
    Automatically equalizes splits whenever the window is resized or a new split is opened.

  • focus.nvim
    Full-fledged window manager: auto-resizing, focus mode, etc.

  • windows.nvim
    Automatic window sizing with focus animation.