498

There must be a way, something like this:

vim -[option] <file-list>

to open files from command prompt and not from within Vim.

  • split windows vertically or/and horizontally
  • in separate tabs

5 Answers5

524

Ctrl+W, S (case does not matter) for horizontal splitting

Ctrl+W, v (lower case) for vertical splitting

Ctrl+W, q (lower case) to close one

Ctrl+W, Ctrl+W to switch between windows

Ctrl+W, j (or k, h, l; lowercase) to switch to adjacent window (down, up, left, right respectively)

Ctrl+W, t (or b) to switch to the top-left (or bottom-right) pane

LB40
  • 5,535
501

From vim --help:

-p[N]  Open N tab pages (default: one for each file)
-o[N]  Open N windows (default: one for each file)
-O[N]  Like -o but split vertically

So type this to open files split horizontally, for example:

vim -o file1.txt file2.txt file3.txt

If N is provided the N windows/tabs will be opened. If N is less than the number of files in arguments, then the remaining files will be loaded in hidden buffers. If N is greater than the number of arguments, the remaining windows/tabs will be editing an empty file.

402

While running vim:

  1. :sp filename for a horizontal split
  2. :vsp filename or :vs filename for a vertical split
Taylor Leese
  • 4,493
23

another interested trick is the CLI -p argument - which opens them in separate tabs for recent versions of vim and gvim.

gvim -p file1.txt file2.txt
dls
  • 331
2

Another useful trick that I just found out, is that you can use wildcards in the filelist to open multiple files. Say you want to open file1.txt, file2.txt, and file3.txt all in separate tabs but don't feel like typing that all out you can just do:

vim -p file*

I frequently find myself needing to open a lot of files with a similar prefix, and this has been quite helpful

Brent
  • 137