<p>I've started using Vim to develop Perl scripts and am starting to find it very powerful. </p>

<p>One thing I like is to be able to open multiple files at once with:</p>

<pre><code>vi main.pl maintenance.pl
</code></pre>

<p>and then hop between them with:</p>

<pre><code>:n
:prev
</code></pre>

<p>and see which file are open with:</p>

<pre><code>:args
</code></pre>

<p>And to add a file, I can say: </p>

<pre><code>:n test.pl
</code></pre>

<p>which I expect would then be added to my list of files, but instead it wipes out my current file list and when I type <code>:args</code> I only have <code>test.pl</code> open.</p>

<p>So how can I add and remove files in my args list?</p>

Vim (but not the original Vi!) has tabs which I find (in many contexts) superior to buffers. You can say
```
:tabe [filename]
```
to open a file in a new tab. Cycling between tabs is done by clicking on the tab or by the key combinations [
n
]
```
gt
```
and
```
gT
```
. Graphical Vim even has graphical tabs.