Vim ist ein Quasistandard unter unixoiden Betriebsystemen, da er meist in der Standard- oder Minimalinstallation verfügbar ist. Auch ich benutze vim als Standardeditor, von Bash - Skripten bis hin zu Latex, man kann halt alles mit ihm machen.

Ich möchte nur 2 Features von Vim präsentieren. Ich brauche sie recht häufig, da sie nützlich sind und einem jede Menge Arbeit und Zeit ersparen.

1. Mit vim beliebigen Code in HTML - Formatieren

Vim unterstützt ein sehr schönes Syntaxhighlightning und erkennt unzählige Sprachen. Es wäre doch genauso schön, wenn man dieses Highlightning beibehalten könnte, um z.B. übersichtlichen Code zu publizieren.

So sieht der Codeausschnitt in Vim aus:

So würde der Codeausschnitt aussehen, wenn man ihn aus der Quellatei in eine HTML - Datei kopiert:

sub print_ask() { # takes 2 arguments, string and askornot my $a=”“; print shift; my $ask = shift; while ($ask and not $a =~ m/^[yn]$/i) { print ” (y/n) “; $a=; } print “\n”; if ($a =~ m/^n$/i) { return undef; } else { return 1; } }

und so dank Vim seinem HTML Export:

sub print_ask() { # takes 2 arguments, string and askornot
        my $a="";
        print shift;
        my $ask = shift;
        while ($ask and not $a =~ m/^[yn]$/i) {
                print " (y/n) ";
                $a=<STDIN>;
        }
        print "\n";
        if ($a =~ m/^n$/i) {
                return undef;
        } else {
                return 1;
        }
}

Um dieses Ergebnis zu erreichen muss man lediglich im Lastline - Modus (ex - Modus) folgendes Kommando eingeben:

:runtime! syntax/2html.vim

Sobald vim den HTML - Code erzeugt hat, öffnet sich ein neues Fenster innerhalb von vim. Das bringt uns auch gleich zum nächsten Feature welches ich oft benutze.

2. Fenster innerhalb von vim

Dieses Feature ist besonders hilfreich beim manuellen Vergleichen zweier Konfigurationsdateien. Die Kommandos werden im Kommandomodus von vim eingegeben. Die einzelnen Fenster verhalten sich wie eine eigene vim - Instanz, allerdings haben alle einen gemeinsamen Zwischenspeicher.

Für horizontales Splitten:

[strg]+[w]+[s]

Für vertikales Splitten:

[strg]+[w]+[v]

Um zwischen den Fenstern zu wechseln dient folgendes Kommando:

[strg]+[w]+[w]

Es ist auch möglich mehr als zwei Fenster zu öffnen:


Next post: LHC countdown

Previous post: redundante usb-sticks mit zfs