- Best configured vim
- Guter Code mit PHP
- PHP im Vim programmieren
Ich bin Softwareentwickler und arbeite in all meinen Projekten mit Vim als Sourcecode-Editor. In den kommenden Beiträgen möchte ich vorstellen, wie man heute durch Vim und gut integrierte Software-Werkzeuge schnell und gut (Achtung: Selbsteinschätzung!) Software entwickeln kann. Ich programmiere in den Programmiersprachen Python und PHP, dabei meist auf meinem Macbook, manchmal an Linux PCs und ebenso häufig remote auf Linux-Servern. Mein Anspruch an meine Entwicklungsumgebung ist, dass ich in allen Fällen mit einer nahezu identischen Umgebung und den selben Werkzeugen arbeiten kann – das ist mit dem Editor Vim leicht zu erreichen.
Das Vim-Erbe
Bis vor einigen Jahren war es beim Arbeiten mit Vim üblich, sich seine ~/.vimrc
-Datei und den ~/.vim
-Ordner zu konfigurieren und per CSV/SVN/Git zu versionieren. Dabei wurden diverse Erweiterungen, Colorschemes und sonstige Skripte in ein paar Ordnern unterhalb von ~/.vim
verteilt und konnten nie wieder schmerzfrei aktualisiert oder entfernt werden.
Dann kam pathogen als „Poor man’s package manager“1, erlaubte die Installation von Erweiterungen in einem jeweils eigenen Unterverzeichnis in ~/.vim
und generierte die diversen Suchpfade aus diesen „verteilten“ Installationen. Vim kam im 21. Jahrhundert an. Pathogens „Nachfolger“ vundle erweiterte dieses Package-Management um ein solides Git- und GitHub-Bewusstsein. Packages können nun einfach von GitHub installiert und vor allem via git aktualisiert werden.
Vim-Distributionen
Auf Basis dieses neuen Vundle-GitHub-Ökosystem entwickelten sich Vim-Distributionen, durch die bequem Vim-Best Practices und aktuelle Workflows von jedem interessierten Vim-Anwender genutzt werden können. Diese Distributionen bringen eine Vorauswahl von Bundles sowie eine ausgewogene Basiskonfiguration (vimrc
) mit. Der Anwender kann in Anpassungsskripten Änderungen vornehmen, die automatisch in die vorgefertigte vimrc
eingebunden werden. Ich möchte ohne die Vim-Erweiterungen fugitive, python-mode und syntastic sowie einem zeitgemäßen Colorscheme (ich nutze molokai) nicht mehr sein.
In den vergangenen ~3 Jahren habe ich die drei Distributionen spf13-vim, janus und vimified (in
dieser Reihenfolge) getestet. Spf13-vim ist sehr perfektionistisch und umfangreich. Auf meinem drei Jahre alten Mac fühlte sich Vim schon recht zäh an. Janus gefiel mir sehr, das Projekt will vundle
jedoch nicht einsetzen, solange es keine Package-Versionen unterstützt. Dadurch wurde das Installieren zusätzlicher Packages unbequem. So bin bei vimified gelandet.
Vimified
Der Charme der vimified-Distribution ist, dass Konfigurationspakete (vimified_packages
) vordefiniert sind. Damit
skaliert das System gut und der geneigte Anwender muss sich nicht mit den einzelnen Installationspaketen beschäftigen. Durch Eintragen von
let g:vimified_packages = ['general', 'color', 'python',
'fancy', 'css', 'js', 'os', 'html', 'coding']
in ~/.vim/local.vimrc
habe ich festgelegt, welche Packages ich aktiviert haben möchte2. Die vimified_packages
sind auf der
Projektseite beschrieben. Jedes vimified_packages
beschreibt eine Anzahl vim-Bundles und zugehörige Konfiguration, die in vimrc
geladen werden. Meine Konfiguration findet Ihr in
- before.vimrc (initiale Anweisungen in der
vimrc
), - after.vimrc (nachträgliche Apassungen der
vimrc
), - local.vimrc (meine
vimified_packages
-Auswahl) und - extra.vimrc (hinzugefügte Bundles)
Zum Aufschlauen in Sachen Vim bieten sich Drew Neil’s Screencasts auf vimcasts.org sowie das Buch „Practical Vim“ (eBook oder Papier) vom selben Autor an. Beide Quellen bieten sich für ein „immer-mal-wieder-ein-bisschen-üben“ an.
Im nächsten Teil dieser Mini-Serie wird es um Softwarewerkzeuge zum Programmieren in PHP gehen.
- Zitat von der pathogen-Website ↩︎
- Voreinstellung ist,
alle Packagesaußerdem auch die Packagesruby
,clojure
,haskell
zu laden. ↩︎