Webeditoren unter Ubuntu Linux
Mit der Umstellung auf Linux (Dist. Ubuntu) war ich auch gezwungen mir einen neuen Quelltext-Editor zu suchen und mein PsPad aufzugeben. Leider war es doch nicht ganz so einfach einen Editor zu finden, der mich in meinem Arbeitsverhalten unterstützt. Hier nun die Geschichte wie ich dennoch fündig wurde. Das gezeigte Comic ist im Original auf xkcd.com zu finden und ist unter der Creative Commons Attribution-NonCommercial 2.5 License veröffentlicht.
Meine Kriterien zum Arbeiten mit Webeditoren:
- große Arbeitsfläche
- Unterstützung von Code-Highlighting für PHP, (X)HTML, CSS und Javascript und möglichst viele weitere Sprachen
- Sinnvolles Highlighting auch bei (X)HTML oder Javascript in PHP-Code
- Sinnvolle Codestrukturierung über Tabulator möglich
- Tab-Management zum parallelen Bearbeiten von mehreren Dateien
- Schnelle parallele Bearbeitung von vielen Dateien unterschiedlichen Typs und Größe
- Öffnen von Dateien über Dateimanager im Editor möglich
- Schnelle Suchen-, und Suchen-/Ersetzen-Funktion
- Hervorhebung zueinander gehörender Klammern
- Dateivergleich
Bluefish
Zuerst habe ich mich auf den hochgeloben Bluefish-Editor gestürzt. Dieser wird in Vergleichen und Tests oft als der Web-Editor für OS-Systeme gehandelt. Ich muss zugeben, dass Bluefish sehr freundlich aussieht und angenehm zu bedienen ist. Außerdem bietet er sehr viele Hilfsdialoge zum Erstellen von Webseiten an. Diese beschränken sich aber hauptsächlich auf den Bereich (X)HTML und CSS. Ein tolles Feature ist zum Beispiel auch die Möglichkeit Dateien auf dem Server zu Bearbeiten. Aber das brauche ich alles nicht!
Meine Probleme mit Bluefish
Der Highlighting-Modus
Der Bluefish-Editor bietet einen sehr komplexen Highlighting-Modus für mehrere Programmier-Sprachen bzw. Formatierungssprachen an. Jedoch war er oft überfordert, wenn komplexes HTML oder Javascript im PHP-Code vorkam. Fehler im Hightlighting-Modus müssen durch ständiges Aktualisieren der Hervorhebung ausgeglichen werden. Auch funktionierte die Code-Hervorhebung ab einer bestimmten Dateigröße einfach nicht mehr. Ab Zeile 900 war plötzlich Schluss und alles nur noch schwarz auf weiß.
Arbeiten mit größeren Dateien
Der Editor funktionierte recht zuverlässig mit normalen Dateien. Aber bei Dateien über 1000 Code-Zeilen funktionierte der Highlighting-Modus nicht mehr richtig, das Scrollen war nur noch eingeschänkt und mit Hüpfern möglich und der Tab-Wechsel war erschwert. Zu dem funktionierte die Suche nur noch sehr langsam und die Ersetzungsfunktion nur noch mit Fehlern.
paralleles Arbeiten mit mehreren Dateien
Beim schnellen, parallelen Überarbeiten von 20-30 größeren Dateien wurde der Editor recht unangenehm. Es traten die gleichen Effekte wie beim Arbeiten mit größeren Dateien auf. Auch war ein Tab-Wechsel ab einer gewissen Anzahl von Tabs nur noch per Tastenkürzel möglich, da sich die Tableiste nicht auf diese Menge an Tabs angepassen konnte.
Mein Fazit zum Bluefish-Editor
Der Bluefish-Editor ist super für Anwender, die ab und zu mal eine Datei editieren möchten, oder die hauptsächlich mit HTML und CSS arbeiten und nur ab und zu mal einen komplexen PHP-Code öffnen müssen. Aber für Entwickler, die mit komplexen Frameworks arbeiten ist es teiweilse eine Qual.
Der GNOME-Editor gedit
Zu jedem Betriebssystem gibt es normalerweise eine ganz einfachen Texteditor, mit dem man einfache Aufgaben erledigen kann. Im Falle von gedit, bietet sich sogar ein Plugin-Management an, mit dem man aus einem einfachen Texteditor eine Programmierzentrale machen kann. Leider fühlte ich mich von Anfang an mit der Bedienung unwohl und habe mich nicht weiter mit diesem Editor beschäftigt.
Screem HTML- und XML-Editor
Screem bietet auf den ersten Blick einen ähnlichen Funktionsumfang wie Bluefish mit einer spezialisierteren Ausrichtung auf die Erstellung und die Navigation in XML-Dateien. Aber wie schon einmal erwähnt war ich auf der Suche nach einem PHP-Editor, der außerdem noch mehr kann.
gPHPEdit
Der zum GNOME-Projekt zugehörige Editor gPHPEdit ist bisher das Erfreulichste was mir unter Linux begegnet ist. Dieser extrem einfache und dennoch ausgeklügelte Editor ist genau auf die Bedürfnisse eine PHP-Programmierers zugeschnitten. Der Editor bietet nur eine ganz kleine Zahl von Hilfen, doch diese sind so sinnvoll, dass sie eine wirkliche Hilfe und keine Behinderung darstellen. Hilfsdialoge zum Erstellen von Formularen, HTML-Tabellen, Einbinden von Vorlagen etc. sucht man hier vergebens. Dafür hat man einen schnellen übersichtlichen Editor, der ohne Probleme mit PHP, HTML und CSS klar kommt. Natürlich kommt er auch mit Javascript klar, aber hier ist das Highlighting nicht immer so vorteilhaft.
Nützliche Funktionen
Search & Replace
Der Suchdialog gestalltet sich komfortabel und funktioniert auch bei großen Dateien ziemlich flott. Das Selbe gilt für den Suchen & Ersetzen-Dialog. In beiden Dialogen ist ein "Weitersuchen" bereits integriert und man muss nicht, wie beim Bluefish über eine andere Tastenkombination zur nächsten Fundstelle springen.
Codestruktur
Mit Tabulatoren gestalltet sich die Übersichtlichkeit sehr komfortabel. Entsprechende Einzüge werden mit einer gestrichelten Linie zusätzlich hervorgehoben. Außerdem ist es möglich Schleifen, Funktionen und Klassen zu minimieren und auszublenden. Zusammengehörige Klammern werden beim Ansteuern mit dem Cursor farblich hervorgehoben. Hier ist es jedoch bei komplexem Code manchmal nötig zur jeweils vermutlich korrespondierenden Klammer zu wechseln um ein Ergebnis zu erhalten.
Klassenbaum
Anstatt die vorhandenen Dateien in einem Dateibrowser auszulisten, liest gPHPEdit sämtliche Klassen und Funktionen aller Dateien ein, die sich im selben Ordner befinden, wie die geöffneten Dateien. Diese werden in einem Baum dargestellt, durch den man entsprechend navigieren und die zugehörigen Dateien öffnen bzw. zu der entsprechenden Stelle springen kann.
Codevervollständigung
Für PHP-Funktionen werden schon bei der Eingabe von Text Vorschläge in einer Drop-Down-Liste angegeben, was für ein fehlerfreies Programmieren hilfreich.
Parameterauflistung
Für PHP-Funktionen werden nach der Eingabe die zugehörigen Parameter in einem hover angezeigt. Per F1 bekommt man die zur Funktion zugehörige Referenzseite angezeigt, wenn man das Packet php-doc installiert hat.
Mein Fazit zu gPHPEdit
Für Programmierer im Bereich PHP ist gPHPEdit ein einfacher, sehr schneller Editor, der als Arbeitswerkzeug nicht zu übertreffen ist. Im Gegensatz zum Bluefish-Editor hatte ich nie Probleme mit großen Dateien oder dem parallelen Arbeiten an über 20 verschiedenen Dateien. Leider bleibt es auch bei diesen Stärken und sobald man einen Editor sucht, der auch super mit andere Programmiersprachen umgehen kann, muss man sich von gPHPEdit verabschieden.
Geany
Geany versteht sich als leichtgewichtige IDE und diese Beschreibung passt auch sehr gut. Neben der schnellen Ladezeit ist der schnelle Wechsel zwischen dem Klassen/Funktions- und dem Dateibaum sehr angenehm beim Arbeiten. Im unteren Bereich kann man sich zu den einzelnen Dateien Notizen anlegen, die Ausgaben des Compilers studieren oder direkt auf einer Shell arbeiten.
Dieser sehr durchdachte Editor unterstützt Syntaxhighlighting für mehrere Programmiersprachen und lässt sich auch durch Plugins erweitern, so dass zum Beispiel auch die Erstellung von LaTex Dokumenten möglich ist. Wenn ich mal wieder etwas Abwechslung benötige, dann kommt dieser Editor bei mir zum Einsatz. Da ich ihn aber nicht als IDE verwende kann ich nichts über die zahlreichen Features zum Projektmanagement… schreiben.
Emacs
Tja was ist denn der richtige Editor für Entwickler? Dieser Frage wird ja schon in dem oben gezeigten xkcd-Comic Real Programmers behandelt. Manche Leute sind der Meinung, dass es sich bei meinem erklärten Lieblingseditor Emacs nicht um einen Editor, sondern um ein Betriebssystem handele und er daher ungeeignet zum Programmieren sei. Ich persönlich habe mit dem Emacs das gefunden, was ich schon immer haben wollte. Einen Editor, mit dem man in allen Programmiersprachen entwickeln kann und nicht auf zahlreiche versteckte Features in Untermenüs angewiesen ist. Bedient wird er mit einfachen Tastaturbefehlen und man kann irgendwie alles integrieren, was über die Shell ansprechbar ist. Wie in dem oben verlinkten Comic beschrieben, gibt es in Emacs für alles eine Lösung… sogar zum Kaffee kochen. Die Einstiegshürde ist jedoch um einiges höher, als bei anderen Editoren, da die vielen Tastaturbefehle erst noch verinnertlicht werden müssen. Sehr amüsant dazu ist die Lernkurve für verschiedene Editoren auf fiveanddime.net.
Zum Thema Datei- und Verzeichnisvergleich empfehle ich meinen Artikel Vergleich von Dateien, Verzeichnissen und Versionen mit Meld.
Eine Übersicht über verfügbare Webeditoren für Ubuntu findet ihr im Ubuntusers-Wiki.
Kommentar von Jan Mollowitz | 2013-02-15
Cool, gPHPedit kannte ich noch nicht, und hört sich vielversprechend an (während ich tippe, läuft apt-get install gphpedit :)) Ich bevorzuge auch eher effiziente Spezialisten als Alleskönner. Warum du allerdings mit gEdit nicht klar kommst, kann ich nicht nachvollziehen.
Gruß.
Jan
Antwort von Benjamin Meier
Hi Jan,
wenn ich mal schnell von der Kommandozeile aus eine Datei bearbeiten möchte, dann ist VIm einfach unschlagbar, und wenn ich an größeren Projekten arbeite, dann ist Emacs mit seinen Modes bisher mein absoluter Favorit unter den Editoren.
gEdit nervt mich irgendwie immer wieder: bei richtig großen Dateien (z.B. XML files mit mehreren 100MB) lädt er Ewigkeiten, bei mehreren Programmiersprachen in einer Datei (z.B. JavaScript + HTML + PHP, oder gawk in einem Shellscript) funktioniert das Syntax Highlighting nicht…
Wo sich gEdit bei mir aber hin und wieder bewährt ist in Kombination mit dem R-Plugin.
Gruß, Benjamin




