How to split a tmux window into panes?
Short answer
tmux split-window -h # panes side by side (left / right)
tmux split-window -v # panes stacked (top / bottom)
From the keyboard with the default prefix, prefix % splits side by side and prefix " splits
top and bottom.
Details
A tmux window can hold several panes, each running its own shell. split-window cuts the active
pane in two and starts a new shell in the freed half.
The flag names are the classic tmux trap. -h reads as “horizontal” but gives you a vertical
divider, so the panes end up side by side. -v gives a horizontal divider, stacking the
panes top and bottom. The flag describes the axis of the cut, not the visual orientation of the
split.
Because those flag names are easy to forget, I rebind the splits to keys that look like the result:
# ~/.tmux.conf
bind | split-window -h # | is the vertical divider: panes side by side
bind - split-window -v # - is the horizontal divider: panes stacked
Now prefix | splits side by side and prefix - stacks, with the key matching the layout. The
default % and " still work. Add -c "#{pane_current_path}" to either bind to open the new
pane in the current directory.
Verified on tmux 3.2a.
A few options worth knowing: -c "#{pane_current_path}" opens the new pane in the current pane’s
directory, -b inserts the new pane before the current one (left or top instead of right or
bottom), and -l 30 or -l 30% sets its size.