ftblog

:: widerstand zwecklos ::
email jabber gpgkey
hackergotchi

September 13, 2007

vim7 tagline

Filed under: computer -- 17:26

Ab Version sieben ist vim in der Lage, Fenster (Buffer) in "Tabs" zu
organisieren (ganz ähnlich zu Tabs in bekannten Browsern).

In der grafischen vim Variante sieht das Ganze der Darstellung in Browsern dann
auch recht ähnlich. Aber auch in der Terminal Variante von vim gibt es die
Möglichkeit in der obersten Zeile eine solche "tabline" anzuzeigen.

Dieses Feature ist für mich eines der nützlichsten, die vim in der jüngeren
Vergangenheit hinzu gewonnen hat. Denn es erhöht die Übersichtlichkeit doch
erheblich.

vim tagline 0

Dabei ging mir eigentlich nur auf den Wecker, daß das Limit der möglichen Tabs
relativ niedrig ist. Klar kann man das locker erhöhen, um mehr Tabs haben zu
können. Allerdings verliert man sämtliche Übersicht, falls die Tabline länger
als die maximale Terminalbreite ist.

Ich habe nun vor ein paar Tagen ein wenig mit der Möglichkeit gespielt, die
Tabline per vimscript Funktion zu setzen. Das versetzt mich nun in die Lage
trotz sehr langer Tabline die Übersicht darüber, wo ich mich gerade befinde.

Befinde ich mich am Anfang die Tabline, schneidet vim das Ende ab und weißt mich
auf diese Kürzung durch drei Punkte hin:

vim tagline 1

Bin ich am Ende der Liste, so schneidet vim auf die selbe Weise den Anfang ab:

vim tagline 2

Natürlich kann es eine sehr lange Tabline es nötig machen, daß Anfang sowie Ende
gekürzt weden, das macht meine Funktion auch. Der Übersicht halber wird das
aktuelle Tab dabei in der Terminalmitte platziert:

vim tagline 3

Nun kann man ja in einem Tab mehrere Fenster haben. Dann möchte ich natürlich,
daß der Inhalt beider Fenster in der Tabline widergespiegelt werden. Zusätzlich
möchte ich wissen ob ich den Inhalt eines Fensters verändert habe. Das zeige ich
in der Tabline durch ein weißes Kreuz auf rotem Grund an:

vim tagline 4

Per ':tabs' bekommt man eine Liste von offenen Tabs. Für den Fall, daß man
einmal richtig viele Files gleichzeitig öffnet.

:set tabpagemax=128
:set tabline=%!FTTablineSet()

'FTTablineSet()' gibt es in meiner vimrc.

Powered by zblog
valid css | valid xhtml | utf-8 encoded | best viewed with anybrowser