Contrary to some of the other answers here, I say that you can use tabs however you want. vim was designed to be versatile and customizable, rather than forcing you to work according to predefined parameters. We all know how us programmers love to impose our "ethics" on everyone else, so this achievement is certainly a primary feature.
<C-w>gf
is the tab equivalent of buffers' gf
command. <C-PageUp>
and <C-PageDown>
will switch between tabs. (In Byobu, these two commands never work for me, but they work outside of Byobu/tmux. Alternatives are gt
and gT
.) <C-w>T
will move the current window to a new tab page.
If you'd prefer that vim use an existing tab if possible, rather than creating a duplicate tab, add :set switchbuf=usetab
to your .vimrc file. You can add newtab
to the list (:set switchbuf=usetab,newtab
) to force QuickFix commands that display compile errors to open in separate tabs. I prefer split
instead, which opens the compile errors in a split window.
If you have mouse support enabled with :set mouse=a
, you can interact with the tabs by clicking on them. There's also a +
button by default that will create a new tab.
For the documentation on tabs, type :help tab-page
in normal mode. (After you do that, you can practice moving a window to a tab using <C-w>T
.) There's a long list of commands. Some of the window commands have to do with tabs, so you might want to look at that documentation as well via :help windows
.
Addition: 2013-12-19
To open multiple files in vim with each file in a separate tab, use vim -p file1 file2 ...
. If you're like me and always forget to add -p
, you can add it at the end, as vim follows the normal command line option parsing rules. Alternatively, you can add a bash alias mapping vim
to vim -p
.