powerbook_blog

klein, praktisch, unverdaulich seit 2004

jedit vs. SubEthaEdit

| 8 Kommentare

SubEthaEdit – von dem Editor habe ich ja schon allerhand gelesen. Jetzt wollte ich mal sehen, was das gute Stück so kann, und ob evtl. ein Umstieg von meinem doch so geschätzten jedit sinnvoll ist.

Für meine nebenberufliche Tätigkeit, wo ich fast ausschliesslich mit PHP arbeite, benötige ich also einen Editor, der ganz gut mit PHP, HTML, usw. umgeben kann. Dazu kommt noch, dass ich mit meinem 12″ Powerbook ohne externem Display nur begrenzt Platz auf dem Schirm habe. So ist auch dann der Schwerpunkt meines Vergleiches gesetzt.

Kosten
Vorab: Wenn ich SubEthaEdit gewerblich benutzen will, so muss ich dafür 35,00 Euro bezahlen. jedit hingegen ist kostenlos [GNU General Public License].
Klarer Punktgewinn für jedit: 1:0

Performance Look-n-Feel
SubEthaEdit ist eine Cocoa-Applikation, jedit ein Java-Programm. So ist jedit auch etwas behäbiger als SubEthaEdit. Besonders beim Programmstart muss man etwas geduldig sein. Mittlerweile gibt es jedoch für jedit auch ein entsprechendes Plug-In, so dass die Menüleiste – ganz Maclike – dort plaziert ist, wo man sie erwartet und nicht mehr im Kopf des Fensters. Auch gibt es ein eigenes Thema, so dass das Look-n-Feel einer OSX Applikation schon sehr nahekommt. jedit merkt sich übrigens, welche Dateien bei Beenden des Editors gespeichert waren und öffnet diese beim Neustart automatisch wieder.
Trotzdem – schon allein wegen dem schnellen Anspringen und Ansprechen – geht der Punkt an SubEthaEdit: 1:1

Fensterverwaltung
Wenn ich irgendein Projekt bearbeite, dann habe ich meist diverse Dateien geöffnet – auf jeden Fall mindestens zwei. Hier verfolgen die beiden Editoren einen anderen Ansatz. Während bei SubEthaEdit für jede Datei ein eigenes Fenster geöffnet wird, so werden bei jedit alle Fenster innerhalb des Programm-Fensters verwaltet. Das springen zwischen den Dateien bei jedit kann auf unterschiedliche Weise erfolgen, unter anderem gibt es ein Plug-in, dass es mir ermöglicht über verschiedene Tabs die jeweilige Datei anzuspringen. Das schöne daran, die Tabs lassen sich auch links oder rechts anordnen, so dass man den Platz nach unten einspart. Das Springen zwischen den Fenstern bei SubEthaEdit kann ich soweit ich das verstanden habe wirklich nur über Expose erledigen. Bei 10 geöffneten Dateien und noch 2 offenen Safari-Fenstern ist das ziemlich unübersichtlich. Beide Editoren ermöglichen die Ansicht der Datei zu teilen, so dass man beispielsweise im oberen Fensterausschnitt die Funktion lesen kann, während man unten in einem anderen Dateiabschnitt den Aufruf schreibt.
Das Konzept, die Fenster zu bündeln sagt mir absolut zu. Gerade, wenn man mal eben 20 Dateien geöffnet hat finde ich das etrem übersichtlicher. Punkt geht an jedit: 2:1

Suche
Suchen finde ich extrem wichtig beim Coden. Während SubEthaEdit erwartet, dass man den Suchdialog mit dem vertrauten Apfel+F öffnet, so kann man ein schmales Suchfeld bei jedit mit in das Fenster einbinden. Beide Suchfelder bieten eine Historie, auch kann man bei beiden Editoren mit regulären Ausdrücken suchen. Während sich jedoch die Suche bei SubEthaEdit auf das aktuelle Dokument bzw einen markierten Bereich innerhalb des Dokumentes beschränkt, kann man die Suche bei jedit (und somit auch das Ersetzen) auf alle geöffneten Dateien oder alle Dateien in einem Verzeichnis (inkl. Unterverzeichnisse) erweitern. Beide Programme erlauben es, nach allen Vorkommnissen des Suchausdrucks suchen zu lassen und stellen diese dann in einem seperaten Fenster dar, so dass man bequem jedes Suchergebnis anspringen kann. Bei jedit lässt sich dieses Fenster auch innerhalb des Programmfensters als Dock darstellen. Darüber hinaus kennt jedit noch Lesezeichen – sogeannte Marker. Diese kann man an verschiedenen Zeilen setzen, um eben dieses schnell wieder zu finden. Gesetzte Marker können u.a. auch per Shortcut angesprungen werden.
Allein das Feature, dass in allen geöffneten Dateien gesucht und ersetzt werden kann, bringt jedit diesen Punkt. 3:1

PHP und HTML

Auto Complete Sehr praktisch: SubEthaEdit bietet AutoComplete von PHP-Funktionsaufrufen an – tippt man innerhalb des Codes str_ und drückt dann Alt + ESC, so öffnet sich ein kleines Dropdown , in dem alle Funktionen, die mit str_ anfangen angezeigt werden (für jedit existiert sowasähnliches als Plug-in, leider noch im alpha-status und derzeit nicht funktional).

Syntax-Check Trotzdem bietet auch jedit ein paar nette Helferchen für PHP-Coder. So wird bei jedem Speichern (und Öffnen) der PHP ein Syntax-Check durchgeführt. Etwaige Syntax-Fehler werden einem in ienem seperaten Fenster kredenzt (,welches man – wer weiss es? wer weiss es? ja, auch andocken kann). Weiter gibt es mit dem Code Browser ein weiteres Plugin, dass ebenfalls als angedocktes Fenster, alle Funktionen und Stellen an den Variablen bestückt werden angezeigt werden. Auch nicht unpraktisch.

Syntax Highlightning Ein weiterer Aspekt ist das Highlightning des Quellcodes. Beide Editoren machen das sehr ordentlich, wobei die Standardfarben von SubEthaEdit freundlicher, bzw. nicht so popig, daherkommen. Dafür kann man die Farbgebung von jedit jedoch völlig frei nach seinen eigenen Wünschen anpassen. Noch weiter, kann man sich zusätzlich noch eigene Sachen definieren. Möchte man beispielsweise, dass alle Variablen, die mit $t_ gesondert hervorgehoben werden, so ist dies machbar [allerdings ist das dann nicht mehr mit KlickiKlickiBunti getan, sondern mann muss eine entsprechende XML-datei editieren].

{ Klammern ] Wenn ich bei SubEthaEdit die passende Klammer schliesse, so blitzt die dazugehörende öffnende Klammer kurz rot hinterlegt auf. Um dies zu reproduzieren muss man mit dem Text-Cursor über die Klammer hüpfen. Das ist zwar nett, aber ziemlich witzlos, wenn sich die passende Klammer nicht mehr im sichtbaren Bereich befindet. Auch muss man ziemlich flink mit den Augen sein, um das Blitzen zu erhaschen. Bei jedit hingegen erscheint die passende Klammer schwarz umrandet, dafür aber dauerhaft, solange der Text-Cursor hinter der anderen Klammer steht. Weiter kann optinal eingestellt werden, dass ich vor der Zeilennummerierung angezeigt wird, wo die erste Klammer steht und wo sich die dazugehörige Klammer befindet. Ist die dazugehörige Klammer nicht im Fenster sichtbar, so wird in der Statuszeile der Inhalt der entsprechenden Zeilen ausgegeben.

HTML Zu guter Letzt habe ich bei SubEthaEdit noch eine weitere Funktion vermisst, die jedit beim Editieren zu HTML-Dateien bietet. Wenn ich im Quelltext einen Tag öffne, z.B. <strong> und nach dem Text wieder schliessen möchte, dann reicht es, wenn ich </eingeben. das restliche strong> fügt jedit automatisch ein, was sehr praktisch ist, wenn man mehrere Tags ineinander verschachtelt. Bei HTML funktioniert im übrigen auch Auto-Complete – und die auch noch auf Wunsch in der erweiterten Form, so dass verschiedene Attribute mitgegeben werden.

Folding Eine weitere praktische Funktion von jedit ist das Folding. Mittels dieser Funktion kann man Funktionen, die sich über mehrere hundert Zeilen erstrecken einfach zuklappen (beispielsweise von { bis } ). Das ist besonders praktisch bei Funktionsbibliotheken, wo man an manchen Funktionen nicht mehr heran muss – macht das ganze extrem übersichtlicher.

Zusammenfassend – ein klarer Feature-Sieg für jedit: 4:1

Features und Gimmiks
Das Hauptfeature von SubEthaEdit ist sicherlich das Arbeiten von mehreren Personen innerhalb eines Netzwerks an einer Datei. Das hört sich echt klasse und auch spassig an. Leider bin ich ein apathischer Einzelkämpfer und werde nie in den Genuss dieses Features kommen. Was dies jedoch in seinem Wert nicht schmälern soll.
jedit lebt von seiner Entwicklergemeinde und den zahllosen Plug-Ins. So gibt es Plug-ins für IRC oder RSS, CVS wird genauso unterstützt, wie diverse Complier und anderer Schweinkram, den man für die Java-Entwicklung benötigt. jedit bietet sich zweifelsohne für Java-Entwickler an, aber auch LaTex-Freunde und XML-Masochisten werden ihre Freude an dem Editor haben.

Mein Fazit
SubEthaEdit ist nett. Wirklich. Aber für meine Bedürfnisse ist jedit wesentlich besser geeignet. Vielleicht ermutigen diese paar Zeilen den einen oder anderen mal jedit auszuprobieren. Ich meine, es lohnt sich. Nebenstehend ein Link zu einem Screenshot, auf dem ich versucht habe ein paar der Features von jedit zu zeigen.

Am Rande: Wer wie ich, nicht nur am Mac arbeitet, sondern auch unter Windows seine Brötchen verdienen muss, der kann unter Windows jedit ebenfalls einsetzen und dies vereinfacht auch das Xplattform-Arbeiten ungemein.

8 Kommentare

  1. mac menu aha – jedit kenne ich natürlich auch schon länger unter linux – hat mir aber nicht so zugesagt, weil java, aber java-anwendungen laufen unter osx ja ohnehin um einiges schöner als unter linux und windows wegen dem osx native-style – gut dass ich das teil also nochmal ausprobiert habe – denn gute editoren scheinen unter mac ja sehr rar zu sein – zumindest finde ich kaum welche. mittlerweile teste ich den jedit sogar nochmal unter linux :-)

    was ich an plugins nicht gefunden habe ist das plugin für das menu am oberen bildschirmrand. allerdings habe ich hier die 4.1 laufen – muss ich dafür 4.2x benutzen?

  2. mac osx plug-in Das Mac OSX Plug-In kann man sich nicht über den Plug-In-Manager ziehen. Es ist vielmehr in der speziellen Mac-Download-Version exclusiv dabei.

  3. jedit: mac osx plug-in mmm… ich denke ich weiss, warum das menu sich bei mir nicht mac-like darstellen lassen will: beim start von jedit beklagt sich jedit immer darüber, dass mrj 3.2 zu alt sei – irgendwie kann ich aber weder bei jedit noch apple oder google eine lösung für das problem finden: mac os 10.3.4 mit dem aktuellsten java sdk. :-(

  4. Re: jedit: mac osx plug-in Hm, ich meine mich zu erinnern, dass ich das gleiche Problem mit jedit 4.1 auch hatte. Ich benutze jetzt 4.2x (was mE eh noch ein paar nette Features + Plug-ins mehr liefert). Wenn Du bei 4.1 bleiben willst, dann guck doch mal, ob das 4.2 Mac OS X Plug-in ein anderes ist und auch für 4.1 passt.

  5. auto-complete? @ powerbook:
    Wie funktioniert das denn mit dem Auto-Complete in Jedit? Irgendwie will das bei mir nicht hinhauen, sprich, wenn ich </ eingebe wird bei mir der geöffnete Tag nicht automatisch geschlossen, woran kann denn das liegen?
    Gruß,
    Micha

  6. zwei Möglichkeiten Das Auto-Complete ist dateityp-abhängig. Funktioniert also auch nur bei html, htm oder php-Dateien. Wenn Du also eine neue Datei anlegst, dann solltest Du unter – Utilities – Buffer Options – unter Edit mode: html oder php setzen.

    Manchmal habe ich das auch, wenn der Code ziemlich zermamelt ist, dann mag er auch nix mehr erkennen.

    Hilft das?

  7. Hm …
    leider nein. Weder php oder html.

    Ich nutze die 4.2final auf WinXP. Meinst du es kann an Windows liegen? Glaube ich halt eher nicht, da das Proggi davon ja unabhängig is ..

    Keine Ahnung woran es liegt, aber bestimmt nicht am Code, selbst wenn ich nur mit <html> </ anfange, er macht einfach nichts. Sehr schade, wäre schon gut gewesen …

    Gruß,

    Micha

  8. Ich habe es nun hinbekommen (Jahre später). Man benötigt ErrorList, Sidekicks und das XML-Plugin, dann geht’s!
    Gruß,
    Micha

Schreib einen Kommentar

Pflichtfelder sind mit * markiert.