Seite wählen

Puppet und vim

von | Okt 30, 2012 | Linux, Puppet, Technology, Windows

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
Lead Senior Systems Engineer

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist unter anderem für die Automatisierung des RZ-Betriebs und der Evaluierung und Einführung neuer Technologien zuständig.
Mehr Beiträge zum Thema Linux | Puppet | Technology | Windows

ZFS Cheat Sheet

Wenn man sich mit einem eigenen Linux Storage Servers beschäftigt hat man sicher schon davon gehört: ZFS. Ich beschäftige mich schon seit längerem mit ZFS und bin an einem Punkt an dem ich mir die Menge der Kommandos nicht mehr merken kann. Zu ZFS findet man zwar...

Pimp your DNS!

Bei einem Consultingkunden hatte ich eine interessante Aufgabenstellung zu lösen: "Jedes Mal wenn die Domänencontroller geplant nacheinander durchgestartet werden führt das dazu, dass die Hosts im Monitoring (Icinga) kurzzeitig nicht erreichbar sind". Auf die Frage...

Redis Eviction Policies

After install Redis you don't have any settings configured to control memory consumption. In Production this brings OOM to the arena which leads into a broken applications. First thingy what users do is to configure MaxMemory config setting (like me of course ;-)). In...

Administrators Toolbox: Die Zsh

Einfuehrung Zu jeder stereotypischen Hacking-Szene in einem Film oder einer Serie gehoert das Terminal in dem kryptische Ausdruecke, Befehle oder Programmcode ueber den Bildschirm huschen. Je nach Ausfuehrung ist das unterschiedlich laecherlich, aber nichtsdestotrotz...

Veranstaltungen

Mi 21

Icinga 2 Advanced Training | Online

April 20 @ 09:00 - April 22 @ 17:00
Mi 21

InfluxDB & Grafana | Online

April 20 @ 09:00 - April 21 @ 17:00
Di 27

Elastic Stack Training | Online

April 27 @ 09:00 - April 29 @ 17:00
Di 27

Graylog Training | Online

April 27 @ 09:00 - April 28 @ 17:00
Mai 04

GitLab Fundamentals Training | Online

Mai 4 @ 09:00 - Mai 5 @ 17:00