Splitting Vim Screen VerticallyPress the keyboard combination Ctrl + w , followed by the letter 'v' .
To toggle between the current and the last buffer use the Ctrl-^ (normal mode) command (on most keyboards, hold down Ctrl and press the 6 key on the main keyboard).
Try:
:vert sb N
which will open a left vertical split (by default, unless you have modified some options).
To open a split to the right, on the other hand:
:vert belowright sb N
:vsp | b1
1 being some buffer number. Use buffers
to list all buffers.
Here's some additional info on splits, if you're interested. Link
You can ease your pain by adding the following to your .vimrc
cabbrev vb vert sb
Now you can use it in the following way.
:vb <buffer>
The answer to the OP that I found most useful is embedded deep in Jerinaw's answer and a comment on it, and in Wolfson's answer. But I felt it might be brought out more. (Nor have those been voted most highly, even though they seemed to me the ones that answered OP best.)
The answer to the question, Why is there not :vsbuffer
, is that there is. It's called :vsplit
and does the trick either as
:vsplit NameOfBuffer
OR
:vsplit #NumberOfBuffer
.
(In this second use, take care to note that the hash # is significant. If you want to get to buffer number 3, you need to say :vsplit #3
, not just :vsplit 3
which will instead create a new file named "3".)
Again, this answer is embedded above, it's just not brought out clearly enough for the quick scanner, IMV.
You can also combine :ls
that lists your current buffers and the commands to open the desired buffer in either
:b <N/bufname>
:vsp | b <N/bufname>
:sp | b <N/bufname>
For this, I've added the following mappings to my ~/.vimrc
(order of mappings represents the above list of desired windows)
nnoremap <leader>b :ls<cr>:b<space>
nnoremap <leader>v :ls<cr>:vsp<space>\|<space>b<space>
nnoremap <leader>s :ls<cr>:sp<space>\|<space>b<space>
Based on this, you can see the buffer list as soon as you hit
<leader>b
<leader>v
<leader>s
and then just enter the desired buffer number N
. This will then open the buffer in the desired window. You can of course still use a part of the buffer name bufname
as well.
I mapped the <leader>
to ,
based on
let mapleader = ","
For some people (e.g. me) this could even replace plugins like MiniBufExpl and thus save space on the screen.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With