A Neovim plugin for intuitive directional navigation and resizing of splits, with seamless integration for terminal multiplexers.
smart-splits.nvim is a Neovim plugin that provides smarter split pane management using directional commands for navigation and resizing. It solves the problem of awkward split interactions by treating splits as a spatial grid and seamlessly integrates with terminal multiplexers to unify Neovim and external panes.
Neovim users who work with split windows and terminal multiplexers like Tmux, Zellij, Wezterm, or Kitty, and want a more intuitive way to navigate and resize panes across their entire workspace.
Developers choose smart-splits.nvim for its intuitive directional model, seamless multiplexer integration that eliminates context switching, and highly configurable edge behavior that adapts to complex workflows.
🧠 Smart, seamless, directional navigation and resizing of Neovim + terminal multiplexer splits. Supports Zellij, Tmux, Wezterm, and Kitty. Think about splits in terms of "up/down/left/right".
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses left/right/up/down for navigation and resizing, replacing awkward traditional commands with spatial reasoning, as highlighted in the philosophy section.
Allows moving between Neovim splits and external panes (Tmux, Zellij, Wezterm, Kitty) as a unified workspace, with detailed configuration examples for each.
Supports wrap, split, stop, or custom functions when cursor reaches an edge, enabling tailored workflows for complex split layouts.
Enables directional buffer swapping between windows with options to move the cursor or not, enhancing buffer management flexibility.
Requires manual configuration in Tmux, Zellij, Wezterm, or Kitty configs, which can be error-prone and time-consuming, as shown in the lengthy integration sections.
Some features are unsupported, like wrap behavior in Kitty and precise resizing in Zellij, and Wezterm resizing needs a nightly build, limiting functionality.
Not recommended to lazy load for multiplexer integrations due to variable setting on startup, which might impact startup time or require careful plugin management.