Vim kann Tabs

Vim ist ein Texteditor, der, sieht man von "gVim" ab, direkt auf der Konsole läuft. Was die Nutzer grafischer Editoren vermissen dürften sind Tabs. ...aber Vim hat Tabs...

Vim hat die Version 7 (stand heute) erreicht und unterstützt Tabs. Zuvor konnte man mit dem MiniBufExplorer die Buffer sehr gut sichtbar machen. Dabei handelt es sich um die geöffneten Dateien, die aber (unsichtbar) im Hintergrund liegen. Die Handhabung ist recht umständlich, wenn man mit geteilten Fenstern arbeitet, da Die Bufferanzeige selbst ein eigenes Fenster ist.

Heute ist aber alles besser!

Mit der 7. Version von Vim kam die Tab-Funktionalität hinzu. Öffnet man Vim mit dem Parameter "p", so werden alle angegebenen Dateien in Tabs geöffnet. vim -p datei1.txt datei2.txt

Vim kennt einige Kommandos, um mit den Tabs vernünftig arbeiten zu können. Mit :tabnew wird ein neues Tab geöffnet; mit :tabclose sinnvoller Weise geschlossen.

Aus Vim heraus lassen sich sich auch Dateien in neue Tabs laden. Mit :tabnew und dem darauf folgenden Dateinamen, wird man eben die angegebene Datei in das neue Tab legen. Hierbei ist zu beachten, dass es sehr wohl möglich ist mit einem Tastendruck auf die Taste den Dateinamen zu vervollständigen. Wildcards funktionieren aber auch; müssen aber eindeutig auf eine Datei verweisen, da ja schließlich nur eine Datei in ein Tab geladen werden kann.

Hat man mehrere Tabs geöffnet wird es interessant. Wie soll man sich zwischen den Tabs bewegen? Mit :tabprevious bzw. :tabp kommt man zum vorherigen Tab; mit :tabnext bzw. :tabn zum Nächsten.

Wem das zu umständlich ist, - und ich zähle mich dazu - der kann sich das Leben vereinfachen, indem er der Datei "~/.vimrc" zwei Tastatur-Mappings hinzufügt. vi ~/.vimrc

" tabbing nnoremap <silent> <C-n> :tabnext<CR> nnoremap <silent> <C-p> :tabprevious<CR>

Mit dieser Konfiguration kann nun mit [STRG-p] und [STRG-n] zwischen den einzelnen Tabs navigiert werden.

Wer kleine Schritte nicht mag, der kann auch :tabfirst und :tablast verwenden, um an den Anfang bzw. an's Ende der Tabliste zu springen.

Wer bereits eine stattliche Anzahl an Tabs geöffnet hat, der würde sich, der leben Ordnung wegen, sicher darüber freuen, die Reihenfolge der Tabs ändern zu können. Nichts leichter als das! Mit :tabmove bzw. :tabm und der darauf folgenden Position, kann das aktuell offene Tab an die entsprechende stelle geschoben werden.

Ein Problem tritt allerdings auf, wenn man eine voreingestellte Anzahl von Tabs überschreitet. Es sollte "10" sein; ich weiß es nicht, da nur selten so viele, gleichzeitig geöffnete Fenster einen Sinn machen dürften. Sollte man dennoch mal in die Bedrängnis kommen, mehr Tabs zu benötigen, so kann mit

set tabpagemax=15

die Anzahl auch "15" hoch gesetzt werden. Diese Einstellung kann auch in "~/.vimrc" eingetragen werden. Hat man's dennoch mal übertrieben, so helfen :next und :last weiter. Damit lässt sich auch auf geöffnete Dateien zugreifen, die durch die Tabs nicht mehr angezeigt werden.

Verliert man dann doch mal die Übersicht, so ist man auch hier nicht verloren. Mit dem Kommando :tabs erscheint eine Liste, die die Tabs und deren enthaltenen Dateien angezeigt.

Was? - Nun doch mehrere Dateien pro Tab? Ja! Denn der aktuelle Bildschirm lässt sich nach wie vor teilen (Splitscreen).

Ein Tab-Kommando sei an dieser Stelle aber noch erwähnt. Will man beispielsweise über alle Tabs einen Ersetzungsbefehl ausführen, kann man das tun, indem man das Kommando :tabdo verwendet.

:tabdo %s/foo/bar/g

So, gibt es da noch mehr zu wissen? Ja klar! - Es geht um Vim! - Hier hat man niemals ausgelernt!!! :-)