44

I have list of buffers in vim. I can split buffer horizontally using :sb[N] where N is the buffer number. How can I split the buffer vertically ?

4 Answers 4

74

The vs and vsplit commands take a filename as an argument like :vs somefile to open a file in a vertical split.

To put an existing buffer in a split window you use the sb# command (where # is the buffer number). Splits in VIM default to horizontal, to change this, prefix your command with vert which forces a vertical split of the next split command.

:vert sb#

Where # is the buffer number

6
  • I know :vsplit. I doesn't seem to take buffer number.
    – blacklife
    Apr 23, 2010 at 23:53
  • 1
    I thought it was to easy :P .. try :vert sbN -where N is the buffer number
    – kyrisu
    Apr 24, 2010 at 0:12
  • wohoo! It works.
    – blacklife
    Apr 24, 2010 at 0:41
  • 1
    @blacklife: so the answer is actually ":vert sbN" ?
    – akira
    May 21, 2010 at 6:38
  • 5
    Since :sb works with buffer names too, this will also works with buffer names: :vert sb vimrc
    – fphilipe
    Apr 27, 2013 at 14:07
2

This is a command I created and added to my .vimrc to allow me to open a current buffer in a vertical split

command -nargs=1 Vsb call VsbFunction(<f-args>)

function VsbFunction (arg1)
  execute 'vert sb' a:arg1
endfunction
3
  • you mean open all files currently in the buffer on vertical splits right? that was the answer i was looking for.
    – kroe
    Nov 4, 2016 at 2:12
  • How am I supposed to execute this? Aug 31, 2019 at 1:32
  • :Vsb somefile
    – Brett Y
    Aug 31, 2019 at 10:17
1

You can use vim-fzf plugins and:

Similarly to {ctrlp.vim}{3}, use enter key, CTRL-T, CTRL-X or CTRL-V to open selected files in the current window, in new tabs, in horizontal splits, or in vertical splits respectively.

use :Buffers select and hit CTRL-V

0

As kirysu said, but additionally with "positioning the other split".

:vert rightbelow sb otherfile.txt

or

:vert bel sb otherfile.txt

... opens a existing buffer, named otherfile.txt, in a split "right below" the existing one.
In the case of vertical splitting, it means "right side of the existing buffer".

Here you can use the [tab]-key too, to let vim complete the buffer-name!

(see :help :vert too, for further "positioning"-commands)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .