🧠Smart, seamless, directional navigation and resizing of Neovim + terminal multiplexer splits. Supports tmux, Wezterm, and Kitty. Think about splits in terms of "up/down/left/right".
This PR also adds a hook system for multiplexer integrations to run initialization and cleanup functions. mux.on_init() is called on startup and VimResume while mux.on_exit() is called on VimSuspend and VimLeave.
@b0o would you mind giving this a test for me? It has been a long time since I've used tmux and I don't have a configuration for it at the moment.
To Test:
Use the modified tmux configuration in the README.md changes of this PR
Use tmux
Ensure smart-splits.nvim either auto-detects or is set to use tmux
Create multiple tmux splits
Open Neovim in one of them and ensure smart-splits.nvim is loaded
For me:
[x] Make sure I didn't break it for Wezterm :stuck_out_tongue:
This PR also adds a hook system for multiplexer integrations to run initialization and cleanup functions.
mux.on_init()
is called on startup andVimResume
whilemux.on_exit()
is called onVimSuspend
andVimLeave
.@b0o would you mind giving this a test for me? It has been a long time since I've used tmux and I don't have a configuration for it at the moment.
To Test:
smart-splits.nvim
either auto-detects or is set to use tmuxsmart-splits.nvim
is loadedFor me: