Tabbing in vim

vim is one of the tools one can use for years and still discover new features or better ways to accomplish something. One of these features are tabs, which I didn't know exist until today. Although splitting windows is fine for most tasks, sometimes I wish to edit multiple files in short succession, like some configuration files. In this case, just using vim file1 file2 ... filen does not work as expected, since after one is finished with the first file and tries to close it wit :x or :wq, vim shows up an error E173: n-1 more files to edit and when hitting :x again, it just closes all remaining files. Of course one could use use :bn or similar to navigate to the next file, however, I wish for a way that leaves vim open and only closes the currently displayed file.

The solution to this problem is vim -p file1 file2 ... filen, which opens up all files and when closing the first file, vim stays open and displays the next file. I noticed that vim displays the remaining filenames at the top of the screen, much like tabs in a browser and as it turns out, these are indeed tabs. One can navigate to the next tab with gt and to the previous tab with gT, and even jump to a specific tab by prefixing gt with a number, where the leftmost tab corresponds to the number 1, the one right next to it to 2, et cetera. vim shows only a limited number of tabs, this value can however be modified by setting tabpagemax to a higher value in one's .vimrc; this doesn't seem to be applied unless vim is restarted, though. Also we can force vim to show the tab bar at all times by setting showtabline=2 or disable it regardless of whether tabs are open or not by showtabline=0. Furthermore, one can open new tabs via :tabnew [file] respective :tabf[ind] file. What's especially great is that one can still use horizontal and vertical splits individually in each tab.

Although I'm using vim for years now, I'm always in a way surprised how feature rich this seemingly simple text editor is and I have yet to encounter an editing problem which vim can't solve in a satisfying manner. The help pages would probably be an interesting lecture, but once one can beat most tasks to death fairly efficiently with the features one already knows and only seldom stumbles upon some problems, it should be an acceptable loss if one doesn't read it entirely.

blogroll

social