Die Formatierung von Quelltext ist für die Lesbarkeit natürlich entscheidend und sobald man im Team arbeitet sollte sich jeder an die gleiche Formatierung halten. Vermutlich gibt es für fast jede Programmier- oder Beschreibungssprache einen Styleguide, aber ganz ehrlich, wenn mein Editor das nicht für mich erledigt, lese ich selten irgendwelche Styleguides um herauszufinden, wie weit ich einrücken soll oder ob ich Tabs anstatt Leerzeichen verwenden soll. Glücklicherweise hat rodjek für meinen Lieblingseditor und Puppet eine einfache Lösung parat, welche sich um die Einrückungen und die Ausrichtung der Pfeiloperatoren kümmert und auch Syntax-Highlighting mitbringt. Damit das eigene .vim-Verzeichnis übersichtlich bleibt und die benötigten vim-Plugins auch wieder leicht entfernt werden können, werfen wir aber erstmal einen kurzen Blick auf pathogen, ein vim-Plugin zum Verwalten von vim-Plugins.
pathogen ist zum Glück schnell installiert (die paar Zeilen Code sind von pathogen geklaut):

mkdir -p ~/.vim/autoload ~/.vim/bundle;
curl -Sso ~/.vim/autoload/pathogen.vim  \
  https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

Jetzt muss man nur noch folgende Zeilen in die ~/.vimrc eintragen und pathogen ist fertig konfiguriert:

call pathogen#infect()
syntax on
filetype plugin indent on

Nachdem wir jetzt unsere vim-Plugins leicht verwalten können, zurück zum eigentlich Thema. Um das vim-Plugin vim-puppet zu installieren reicht dank pathogen ein einfaches git clone im neu angelegten bundle-Verzeichnis. Damit auch noch die automatische Ausrichtung der ‚=>‘-Operatoren funktioniert, muss man noch das vim-Plugin tabular installieren.

cd ~/.vim/bundle
git clone https://github.com/rodjek/vim-puppet.git
git clone https://github.com/godlygeek/tabular.git

Wenn man in vim einen Textbereich markiert und = drückt, richtet sich dieser wie von Zauberhand nach den Puppet Guidelines aus! Ein ggVG= im Commandmode und die ganze Datei ist richtig formatiert.
Mein Dank geht an tpope, rodjek und godlygeek. Dort findet Ihr auch ausführlichere Infos.
Im nächsten Blogpost von mir erfahrt Ihr dann mehr über das vim-Plugin syntastic, welches die Syntax eures Codes schon während des Schreibens überprüft.

Achim Ledermüller
Achim Ledermüller
Senior Manager Cloud

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist er für den Betrieb und die Weiterentwicklung unserer Cloud-Plattform verantwortlich.