To switch from vertical split to horizontal split fast in Vim
How can you switch your current windows from horizontal split to vertical split and vice versa in Vim?
I did that a moment ago by accident but I cannot find the key again.
Solution 1:
Vim mailing list says (re-formatted for better readability):
To change two vertically split windows to horizonally split
Ctrl-w t Ctrl-w K
Horizontally to vertically:
Ctrl-w t Ctrl-w H
Explanations:
Ctrl-w t makes the first (topleft) window current
Ctrl-w K moves the current window to full-width at the very top
Ctrl-w H moves the current window to full-height at far left
Note that the t is lowercase, and the K and H are uppercase.
Also, with only two windows, it seems like you can drop the Ctrl-w t part because if you're already in one of only two windows, what's the point of making it current?
Solution 2:
Ctrl-w followed by H, J, K or L (capital) will move the current window to the far left
, bottom
, top
or right
respectively like normal cursor navigation.
The lower case equivalents move focus instead of moving the window.
Solution 3:
When you have two or more windows open horizontally or vertically and want to switch them all to the other orientation, you can use the following:
(switch to horizontal)
:windo wincmd K
(switch to vertical)
:windo wincmd H
It's effectively going to each window individually and using ^WK or ^WH.
Solution 4:
The following ex commands will (re-)split any number of windows:
- To split vertically (e.g. make vertical dividers between windows), type
:vertical ball
- To split horizontally, type
:ball
If there are hidden buffers, issuing these commands will also make the hidden buffers visible.