Seite wählen

Puppet und vim

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

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.

3 Kommentare

  1. jd

    Ich empfehle ja gerne Janus, es funktioniert auch wunderbar unter Linux und ist eine nette Zusammenstellung und macht das Arbeiten mit VIM noch angenehmer!
    /jd

    Antworten
  2. Anonymous

    new balance shoes

    Antworten
  3. jb

    Ich glaub man verwendet „execute pathogen#infect()“ anstatt „call pathogen#infect()“

    Antworten

Trackbacks/Pingbacks

  1. Weekly Snap: InGraph, Puppet & VIM › NETWAYS Blog - [...] found a vim plugin to make code formatting for Puppet easier and Matthias posted part 3 of the ultimate…
  2. vim, puppet-lint und syntastic › NETWAYS Blog - [...] letzte Blogpost von mir zeigte wie schnell und einfach man mit pathogen, tabular und vim-puppet die [...]
  3. VIM ist einfach cool › NETWAYS Blog - […] Tabular (dazu gibt es auch einen Beitrag von Achim) […]

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Linux | Windows | Puppet | Technology

Kibana Sicherheits-Updates: CVSS:Critical

Und täglich grüßt das Murmeltier. Nein nicht ganz. Heute ist es  aus der Elastic Stack Werkzeugkiste Kibana, für das es ein wichtiges Sicherheits-Update gibt. Es besteht auf jeden Fall Handlungsbedarf! IMHO auch wenn ihr die "Reporting" Funktion deaktiviert habt. Der...

Graylog Release Version 5.2 ist da! HURRA!

Diese Woche wurde Graylog 5.2 veröffentlicht. Natürlich gibt es auch in diesem Release wieder Abstufungen für Open, Operations und Security. Da wir nicht auf alles eingehen können, möchte ich hier auf die hervorzuhebenden Neuerungen und Änderungen eingehen. Ein...