Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2005  »  07  »  Tipps für Tippfaule  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Richtig eingerückt

Über die Formatierung von Programmcode ist schon viel gestritten worden. Wo kommen die geschweiften Klammern hin? Wie tief wird verschachtelt? Mit Leerzeichen oder mit Tabs? Da jeder Programmierer seinen eigenen Geschmack hat, bietet Vim genug Optionen.

Beim Einrücken mit Tabs scheiden sich allerdings die Geister, viele lehnen sie grundsätzlich ab. Ist die Option »:set expandtab« gesetzt, wandelt Vim alle Tabs in Leerzeichen um. Die Anzahl der Leerzeichen pro Tab bestimmt die Option »:set shiftwidth=4«.

Wer allerdings »expandtab« blindlings setzt, läuft böse auf, wenn er ein Makefile editiert: Dort sind Tabs vor den Kommandos für ein Target tatsächlich notwendig. Werden sie durch Leerzeichen ersetzt, ist dies ein Syntaxfehler. Die Lösung lautet, Vim per »autocmd« den Dateityp feststellen zu lassen und nur bei Perl-Programmen die Option »expandtab« zu setzen:

:filetype on
:autocmd FileType perl :set expandtab

Eine nützliche Option, um sonst unsichtbare Zeichen sichtbar zu machen, ist »:set list«. Alle Tabs erscheinen als »^I« und das Zeilenende ist mit einem blauen »$« markiert, »:set nolist« schaltet wieder zurück in den Normalmodus.

Blöcke schieben

Die oben vorgestellte Option »shiftwidth« hat noch eine weitere Funktion: Zusammen mit der Option »cindent« lässt sich so ordentlich Tipparbeit sparen, denn sobald ein Konstrukt wie »if($really) {« eingetippt und die [Enter]-Taste gedrückt wird, rückt Vim die nächste Zeile entsprechend »shiftwidth« und »expandtabs« ein. Tippt der Benutzer dagegen »}« und ein [Enter], schiebt Vim die schließende Klammer automatisch wieder an den Zeilenanfang zurück.

Da sich dieses Verhalten ebenfalls nicht für alle Arten von Dateien eignet, empfiehlt sich gleichermaßen ein Auto-Kommando, das erst den File-Typ prüft, bevor es die Option setzt: »:autocmd FileType perl :set cindent«.


Abbildung 4a: Ein Block mit geschweiften Klammern, Cursor auf dem Blockstart.


Abbildung 4b: Das Kommando »>i{« rückt den inneren Block vier Leerzeichen ein.

Dass ein Codestück in einen Block gehört, stellt sich manchmal allerdings erst heraus, wenn es bereits getippt wurde. Dann setzt man, wie in Abbildung 4 gezeigt, einfach geschweifte Klammern darum herum und tippt im Kommandomodus die Tastenfolge »>i{«, um den inneren Block eine »shiftwidth«-Breite nach rechts einzurücken.

Die Option »:set smarttab« geht bei gesetzter »expandtab«-Option noch eins weiter: Ein Backspace im Eingabemodus auf dem ersten Zeichen einer eingerückten Zeile rückt die Zeile wieder aus, ein Druck auf die [Tab]-Taste rückt sie wieder ein, ohne dass richtige Tabulatorzeichen im Spiel sind.

Noch ein Tipp: Um von einer geschweiften Klammer zur korrespondierenden zu springen, genügt es, den Cursor auf einer Klammer zu positionieren und dann die [%]-Taste im Kommandomodus zu drücken. So lässt sich leicht feststellen, wo eine geschweifte Klammer fehlt, wenn Perl einen Syntaxfehler anzeigt. Wer mal an einem Computer mit amerikanischer Tastatur sitzt und mit Vi einen Umlaut wie Ä eintippen möchte, der kann dies mit der Sequenz [Ctrl]+[K] gefolgt von [A] und [:] im Eingabemodus tun. Eine vollständige Tabelle mit allen so verfügbaren Umlauten bringt das Kommando »:digraphs« zum Vorschein.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Umlaute auf Umwegen Ein Blick hinter die Kulissen der Zeichensätze und Kodierungen
Muschelperle Shell-Funktionen in Perl nachgebaut
Übersetzungskünstler Parser im Eigenbau mit Perl
Füttern nach Programm Tipps täglich verschicken
Prüfungsfrage Vim-Makros in Perl schreiben
Babylon zu fünft Populäre Programmiersprachen treten gegeneinander an
Whitepaper
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)