Nerdkrams
Sublime Text: Na ja, ich hab’s versucht.

Über Sublime Text habe ich ja schon so manches berichtet, mich auch in Form von Todo.txt-Unterstützung am reichhaltigen Erweiterungsfundus beteiligt. Nun macht sich aber die Kehrseite von closed source bemerkbar: Der Entwickler hätte gern noch mehr Geld von mir.

Die Entwicklung von Sublime Text 2 ist seit langem beendet, obwohl es durchaus noch einige Unzulänglichkeiten zu beheben gäbe. Sämtliche Entwicklungsarbeit kommt momentan Sublime Text 3 zugute, das in der Betaphase steckt und momentan noch mit einer Sublime-Text-2-Lizenz funktioniert, das soll sich aber mit der finalen Version ändern. Die wesentliche Neuerung? Python 2 wurde durch Python 3 ersetzt. Für mich als Nicht-Python-Nutzer ist das natürlich überflüssiger Quatsch. Bei Sublime Text 2 zu bleiben halte ich für keine gute Lösung, die bekannten Probleme einer nicht mehr gepflegten Software werden mit der Zeit ja nicht von selbst verschwinden, sondern sich eher noch vermehren. Sublime Text 3 ließe sich wahrscheinlich wie schon Sublime Text 2 ohne Lizenz (mit gelegentlichen Nerv-Popups) nutzen, aber das halte ich für falsches Vorgehen. Ich verstehe ja auch Leute nicht, die jahrelang WinRARs Nervpopups ertragen, statt auf freie Alternativen wie PeaZip oder 7-Zip umzusteigen.

Die Lösung? Vermutlich bleibt mir, wenn ich nicht plötzlich im Lotto (das ich nicht spiele) gewinnen sollte, nichts anderes übrig als das Ökosystem Sublime Text mit all seinen Annehmlichkeiten (in meinem Fall wären dies der herausragende Paketverwalter Package Control und das killerfeature Goto Anything, insbesondere die Symbolliste) wieder durch etwas aus der Welt der freien Software zu ersetzen. Wer weiß, wie lange es dauert, bis Sublime Text 4 wiederum das Ende der aktuellen Entwicklungen einläutet? Nur wodurch?

Sublime Text 2 hatte auf meinem Windowssystem gleichzeitig Notepad++ (Allzweckeditor) und GVim (Codeeditor) abgelöst. Notepad++ kommt nicht mehr in Frage: Zwar ist die Liste an Erweiterungen beeindruckend, die Stabilität jedoch nicht – um ein komfortables Arbeiten zu ermöglichen, ist eine Vielzahl an Plugins vonnöten. Auf einem System, auf dem ich immer mal wieder neue Notepad++-Versionen ausprobiere, kommt es hierbei regelmäßig zu Abstürzen (gelegentlich mit Datenverlust; ähnliche Erfahrungen habe ich übrigens mit PSPad gemacht). Selbst die Plugins im mitgelieferten „Plugin-Manager” mögen Notepad++ manchmal nicht.

Notepad++ kaputt

Also wird eine Alternative gesucht. Notwendig sind eine einfache Erweiterbarkeit (etwa per Plugins), eine Vermeidung des Lizenzproblems bei vergleichsweise kleinen Verbesserungen (damit fallen EmEditor und SlickEdit raus) und eine erträglich komfortable Symbolsuche (somit ist auch sed aus dem Rennen), Bonuspunkte gäbe es für paralleles (gleichzeitiges) Editieren in unterschiedlichen Zeilen (das brauche ich gerade in PHP ziemlich häufig) und eine flexible Anpassbarkeit, die nicht wie Sublime Text auf vier (!) Dateien pro Plugin (!) verteilt werden sollte. Suchen und Ersetzen mit regulären Ausdrücken, intakte Syntaxhervorhebung für „meine” bevorzugten Sprachen sowie ein grafisches theme, bei dessen Anblick nicht umgehend die Augen explodieren (pardon, PSPad), sollten heutzutage selbstverständlich sein. Was ich auch auf keinen Fall brauche, ist ein IDE. Für große Projekte mag es akzeptabel sein, mein Interesse daran, für kurzes Webseitenbasteln eine umfangreiche Programmierumgebung (Visual Studio, eclipse, Aptana, …) hochfahren zu müssen, hält sich aber in engen Grenzen.

Zweifelsohne interessant ist TextAdept, ein freier Editor, der die Benutzeroberfläche von Sublime Text nachahmt und kontinuierlich entwickelt wird, jedoch werden Lua-Kenntnisse für die Konfiguration vorausgesetzt, die ich nicht habe. Eine Symbolsuche scheint es nicht zu geben, die Website schweigt sich dazu aus. Ich werde den Editor im Auge behalten, momentan aber taugt er für meine Zwecke nichts. RJ TextEd ist gut gemeint und für Webentwicklung sicherlich keine allzu schlechte Wahl, kann aber bereits mit C++-Code nichts mehr anfangen. Der „Highlighter” für C++ blieb folgenlos – ebenfalls untauglich.

Weiter: Bluefish. Ein Multiplattformeditor unter der GPL, der mit seiner Eignung als Codeeditor wirbt. Die Installation unter Windows schaufelt mir erst mal ungefragt Python und GTK+ auf die Festplatte, obwohl ich davon überzeugt bin, dass beides schon irgendwo herumliegt. Der Start erfolgt allerdings blitzschnell, die Bedienoberfläche nach dem ersten Start ist allerdings ziemlich überfrachtet. Themes scheint es nicht zu geben, mit etwas Herumgeklicke im Einstellungsdialog bekommt man aber zumindest einen dunklen Hintergrund für das Editorfenster hin. Das Syntaxhighlighting für Nicht-Web-Sprachen ist vorhanden, aber, gelinde gesagt, scheiße. Auch eine Symbolsuche konnte ich nicht entdecken. Bluefish scheint ebenfalls vor allem für Webentwickler von Relevanz zu sein, was nicht schlimm ist, aber ich habe eben auch noch ein paar andere Projekte zu bearbeiten.

Für meine Zwecke oft vorgeschlagen wird auch Geany. Geany überrascht mich positiv und negativ. Gleichzeitig. Das muss man erst mal schaffen!

Geany

Zuerst das Negative: Das Syntaxhighlighting für jedenfalls C++ ist auf Bluefish-Niveau, eine Möglichkeit, aus dem weißen Hintergrund einen dunklen zu machen, habe ich nicht gefunden (ein heller Hintergrund stört bei längerer Bildschirmarbeit doch immens), paralleles Editieren scheint ebenfalls nicht zu funktionieren. Positiv hingegen: Die Symbolliste (leider nur auf die gerade geöffnete Datei beschränkt, eine vorhandene Ctags-Datei wird trotz angeblicher Kompatibilität seitens Geany vollständig ignoriert, da sie den falschen Namen – das eigentlich durchaus normale TAGS – trägt) wird beim Start gefüllt und angezeigt. Es scheint aber nicht möglich zu sein, direkt ein bestimmtes Symbol innerhalb der gerade offenen Datei per Tastenkürzel anzuspringen, ein akzeptabler Ersatz für „Goto Anything” ist also auch in Geanys Portfolio nicht zu finden. Schade.

Letztendlich bleiben also nach meinem aktuellen Kenntnisstand nur drei freie, mehrsystemkompatible Editoren übrig, die meine Anforderungen zu erfüllen scheinen: Vim, Emacs und jEdit.

Vim kenne ich ja noch von früher (und vom Arbeiten im Terminal), nach all der Zeit mit Sublime Text fehlt mir aber irgendwie die anfängliche Begeisterung für seinen spröden Charme. Ich werde wohl bequem im Alter. Sicher, auch Vim kann alles Gewünschte, wenn man es ihm nur beibringt, und zum Programmieren eignet er sich (abgesehen von seinem eher durchschnittlich guten Verständnis von korrekter Codeeinrückung) prinzipiell hervorragend; was ich aber nun, da ich mich nebenbei wieder ein wenig mit seiner Konfiguration befasse, schmerzlich vermisse, sind Tastenkürzel, mit denen ich quasi blind arbeiten kann. Gewöhnliche Textbearbeitung (dd zum Zeilenlöschen, c3w zum Ändern der nächsten drei Wörter und so weiter) ist zwar immer noch unglaublich effizient, für erweiterte Codebasteleien (etwa Symbollisten anlegen und durchsuchen) müssen aber Funktionen aus Plugins her. Die Strg-Taste ist dann wahlweise – je nach Plugin – ein Doppelpunkt oder die Leader-Taste, die meist mit „,” oder „\” identisch ist. Zum Glück lassen sich die Funktionen, die man häufiger braucht, per remap-Anweisungen mit akzeptablen hotkeys bestücken. Blöd ist im Übrigen auch, dass Vim von PCRE-Ausdrücken nichts hält – Suchen und Ersetzen mit einem solchen Ausdruck erfordert mindestens :perldo s/alt/neu/, falls Vim überhaupt mit Perl-Unterstützung kompiliert wurde. (Ein Nachtrag, da in den Kommentaren Unklarheiten offenbar wurden: Vim selbst ist durchaus in der Lage, Suchen und Ersetzen mit regulären Ausdrücken durchzuführen. Vom Vim-Regex-Dialekt bekomme ich aber Kopfweh. Ich bevorzuge die Perl-Syntax, eben PCRE, und die klappt unter Vim nicht so einfach.)

Unter Emacs, dem anderen Extrem, ist die Sachlage im Übrigen fast die gleiche wie unter Vim, das PCRE-Problem inklusive (nur schlimmer). Das Aufrufen von Pluginfunktionen (M-x funktionsname) ist zwar einprägsamer (weil quasi einheitlich), dafür sind die Textfunktionen im Vergleich zu Vim meist nur wenig attraktiv. (Dass es zahlreiche Emacs-Plugins gibt, die dd, c3w und dergleichen nachrüsten, spricht für sich.) Emacs eignet sich in seiner Standardeinstellung also eher als Allzweck- und weniger als Codeeditor, zumal es keinen „Einfügemodus” wie in Vim gibt, also direkt losgeschrieben werden kann. Sowohl in Emacs als auch in Vim sind Syntaxhighlighting, paralleles Editieren und die Verwendung von Symboldatenbanken wie Exuberant Ctags indes nicht zu beanstanden, selbst die „mehrfachen Cursor” von Sublime Text (Strg+Klick) lassen sich ohne viel Aufwand nachahmen.

Das „j” in jEdit steht für „Java”. Das merkt man nicht nur am hässlichen Standardaussehen (mit steigender Verzweiflung steigt hier ebenso die Toleranzgrenze), sondern auch an der lausigen Startzeit inklusive splashscreen – nein, jEdit-Entwickler, ich möchte keinen Schnellstarter für meinen verdammten Texteditor installieren – und dem RAM-„Verbrauch”.

jEdit - RAM-Verbrauch

Nun, irgendwas ist ja immer. Der Editor selbst (wieder einer ohne Farbschemen für das Textfeld – bin ich der Einzige, der gern standardmäßig nicht in grelles Licht gucken würde?) ist flexibel einstellbar, die Syntaxhervorhebung funktioniert erfreulich gut.

jEdit - Syntaxhighlighting

Es gibt auch einen „Plugin-Browser”, der eine Fülle an jEdit-Erweiterungen feilbietet. Interessant ist hier das Plugin „CtagsSide”, das gemäß seiner Beschreibung in der Lage sein soll, aus meiner (wegen Vim/Emacs) sowieso vorhandenen TAGS-Datei eine durchsuchbare Symbolliste zu erzeugen. Das funktioniert – ctags vorausgesetzt und bei mir ja vorhanden – zumindest für die aktuell geöffnete Datei auch leidlich gut, nur sehe ich zwei große Ärgernisse: Erstens scheint sich dieser „Sidekick” nicht darum zu scheren, dass ich in den Programmoptionen einen dunklen Hintergrund für fast alles festgelegt habe, zweitens bleibt eine Eingabe in das Filterfeld (oben links) folgenlos.

jEdit - SideKick kaputt

Mit der Ressourcenverschwendung könnte ich ja noch umgehen – ich habe aber nicht die geringste Ahnung, wie ich diesen beiden Ärgernissen abhelfen soll. Damit ist die einzige nicht kostenpflichtige Alternative (nochmals: Sublime Text bleibt mein Werkzeug der Wahl, wenn’s Geld kosten darf) zu Vim und Emacs für mich wiederum unbrauchbar. Also heißt es wieder: Vim oder Emacs? Emacs oder Vim? Wahrscheinlich werde ich würfeln müssen. (Momentan sieht es, ärgerlich!, nach Emacs aus.) Ich wiederhole mich: Irgendwas ist ja immer.

Oder habe ich einen Editor übersehen, den ich mir unbedingt mal ansehen müsste? Immer hier hinein damit!

Senfecke

Bisher gibt es 33 Senfe:

  1. > Blöd ist im Übrigen auch, dass Vim von PCRE-Ausdrücken nichts hält – Suchen und Ersetzen mit einem solchen Ausdruck erfordert mindestens :perldo s/alt/neu/, falls Vim überhaupt mit Perl-Unterstützung kompiliert wurde.

    rießen-bullshit. hauptsache laut rumgemeckert, so wie immer hier.

  2. Also für Search&Replace reicht es zumindest, den Befehl direkt einzugeben. :s/foo/bar.
    Wie es mit dem Rest aussieht, weiß ich nicht.

    Ich bin ebenfalls auf der Suche nach DEM Editor. Lange bei TextMate geblieben, mittlerweile auch Sublime. Hätte gekauft, wenn da nicht Sublime3 in den Startlöchern gewesen wäre. Bis jetzt klicke ich also auch immer fleißig die Nervpopups weg. Ob das jetzt besser oder schlimmer ist als der Splashscreen von jEdit, sei dahingestellt.

    Für SSH Sessions nutze ich weiterhin vim, mit und ohne Janus.

  3. Ich habe ausdrücklich von PCRE gesprochen, simon. :s/foo/bar/ hätte aber gern Vim-RegExps, und die haben eine grauenvolle Syntax.

    Auf dem Server wechsle ich momentan munter zwischen Vim (für Code) und nano (für alles andere).

  4. +1! ich kann genau nachempfinden, wie du dich fühlst… mir geht es genau so ;)

    doch werde ich bei sublime bleiben… die Evaluations-Werbung drück ich stillschweigend mit Esc weg… eine Lizenz ist mir (noch) zu teuer… ausserdem sehe ich es genau wie du: wozu VIEL Geld hinlegen, wenn bestehende Fehler nicht behoben werden? der Entwickler soll sich mal helfen lassen und ein git-repo aufsetzen… wie schnell sublime nahezu perfekt werden würde… man kann es nur erahnen ;)

    die Vorteile von sublime hast du ja schon genannt… mehr-zeilen auswahl, string-auswahl auch auf mehrere Zeilen verteilt, der paket-manager ist SUPER (:

    geany ist eine schöne alternative… nur (noch) nicht so mächtig… und für deine Augen: bit.ly/17kxARj [oder such mal nach dem geany-vibrant-ink-theme…] sieht bei mir dann SO aus…

    hier sollte ein geany-screenshot sein...

    und wenn es mir zu bunt wird kommt mein Liebling… vi(m) ;) hat zwar nicht alle „Killer-Features” der ultra_1337_haxX0r-Editoren, ist mir aber am vertrautesten, am liebsten und startet mit Abstand am schnellsten ;) ach und hab ich schon erwähnt, dass vi(m) FOSS ist? Nein? Nicht? VI(M) IS FREE AS IN FREEDOM AND IN FREE BEER http://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif

    • Die Nachteile von Geany überwiegen halt immer noch dooferweise. Ich prangere das selbst an. (Für mich als Anwender hat Open Source an sich übrigens noch keinen Vorteil gegenüber „normaler” Freeware. Ich suche meine Software nicht nach Ethik aus.)

  5. ach und noch was: ich mag python (:

  6. Grossartiger Vergleich/ Analyse. Deckt sich weitgehend mit meinen Erkenntnissen, es ist schlicht alles (mindestens irgendwo) Schrott, was sich da draussen so bewegt.
    Gut, das Pspad-bashing kann ich mangels schlagender Beispiele schlecht nachvollziehen, die liefer ich hier mal nach: Pspad ist (imho) im direkten Vergleich mit allen anderen mir bekannten Editoren (zumindest für Win) perfekt, es hat nur leider – seit etwa einem Jahr – grosse Probleme mit grossen Dateien und/oder einzeiligen grossen Dateien. Das kann man dann in aller Regel über den Taskmanager abschiessen.

    Wie jedit in die Aufzählung reinkommt ist mir recht schleierhaft, das einzige OS, wo man jedit einsetzen kann ist MacOS – ein OS was man freiwillig nur verwendet, wenn man in Sibirien in einer Höhle sitzt und nichts anderes bekommt und wo es auch keine anderen halbwegs brauchbaren Editoren gibt.

  7. jEdit kommt da genau so rein wie Bluefish: Stand im Internet unter „Texteditoren, die vielleicht ganz nett sind und so”. Fälschlicherweise, wie ich zugeben muss. (Unter Mac OS X läuft zumindest SubEthaEdit, auf das ich vor Sublime Text lange ein bisschen neidisch geguckt habe. Ach, und Aquamacs, MacVim, … ;) )

    (Toll, ein Texteditor, den man abschießen kann. Einladend! Übrigens habe ich vorhin beim kurzen Draufschauen – PSPad soll ja doch noch ‘ne Chance erhalten, wenn es sie verdient hat – keinerlei Anzeichen für Ctags-Einbindung gefunden.)

  8. Verstehe gar nicht warum du dir so ins Hemd kaeckerst. Ich nutze an der Windows-Maschine seit anbeginn der Zeit notepad++, an der Linuxmaschine gedit und nano, abhaengig von der Sache die ich erledigen will. Dieses Sublime sieht zwar in der Vorschau recht gut aus, kommt aber fuer mich nicht infrage – allein wegen dem Lizenzrotz.

  9. Gedit scheint ebenfalls kein „Gehe zu Symbol” zu haben, damit ist es für mich nicht interessant. Nano nutze ich für Kleinkram auf dem Server (bevorzugt allerdings Vim). Notepad++, na ja, siehe Text.

  10. Deine opportunistischen Meinungen zum Thema Ethik, Softwarelizenzen etc. teile ich im Allgemeinen nicht.

    Zum Thema jEdit:
    1- Du könntest stattdessen das CTagsInterface-Plugin ausprobieren, da haben viele Leute bessere Erfahrungen damit machen können.
    2- Hast du das Design mit dem Scheme Editor erstellt? Unabhängig davon könntest du die beiden Quellen anschauen jEdit Color Schemes #1 & jEdit Color Schemes #2

  11. für Pspad gibt es einige Plugins so auch für ctags.

  12. Gibt es auch ein Plugin, das PSPad die grauenvolle Oberfläche und die Instabilität austreibt?

  13. Ich hatte da auch nicht den Massenopportunismus im Kopf (den verfolgst du bestimmt nicht), jedoch eine Art sachlichen Opportunismus bzw. die abgeschwächte Form davon (Pragmatismus) (“Ich suche meine Software nicht nach Ethik aus“) (in dem Fall wäre der Gegenpol die freie Softwarebewegung, die Ihre ethischen Ansätze bzw. Ideologie verfolgt)…

    1. Hast du mit dem Plugin dann keine besseren Erfahrungen machen können? Das wäre dann in der Tat seltsam…
    2. Hast du das auch mit einigen fertigen Schemes versucht, ob du da visuell bessere Ergebnisse (auch mit den Andockfenstern der Plugins) bekommst?

  14. Ich weiß nicht was du gegen Geany hast.

    Du kannst die Syntax Invertieren unter: Einstellungen > Editor > Ansicht > Erste checkbox „Invertiere Syntaxhervorhebung”

    Paralleles editieren gibt in dem sinne nicht, aber wozu auch wenn man [STRG]+[h] drücken kann und alle vorkommen im Dokument austauscht. Wo man sogar mit RegEx suchen kann.

    Und unter Einstellungen > Tastenkürzel > Gehe zu; Gibt es eine menge Belegungen. Man muss Sie nur nutzen?

    Mir scheint als ob du dir Geany nich mal wirklich angeschaut hast.

    SublimeText hatte ich auch mal kurz im Einsatz aber im Vergleich zu Geany ist die Konfiguration, vor allem von Snippets viel aufwendiger.
    Das anpassen eines Themes scheint bei Sublime auch ein Krampf zu sein.

    Setz dich noch mal ran und schau dir Geany an. Es lohnt sich wirklich wenn man auf fancy eye catcher verzichten kann. ;)

    • Ich weiß nicht was du gegen Geany hast.

      Artikel noch mal lesen.

      Paralleles editieren gibt in dem sinne nicht, aber wozu auch wenn man [STRG]+[h] drücken kann und alle vorkommen im Dokument austauscht. Wo man sogar mit RegEx suchen kann.

      Echt? Wie lautet der RegEx für „in Zeile 2, 5 und 8 nach dem ersten Wort ein weiteres (immer das gleiche) einfügen”? Eventuell bemerkst du, worauf ich hinaus will.

      Das anpassen eines Themes scheint bei Sublime auch ein Krampf zu sein.

      Stimmt.

  15. Echt? Wie lautet der RegEx für „in Zeile 2, 5 und 8 nach dem ersten Wort ein weiteres (immer das gleiche) einfügen”? Eventuell bemerkst du, worauf ich hinaus will.

    Warum sollte ich nach Zeilen suchen wollen? Klar, das parallele editieren macht Sinn wenn ich in einem HTML Dokument bestimmte Tags die gleiche klasse geben will. Aber dafür gibs sicherlich auch andere Wege oder ich mach das old copy&paste.

    Ich finde das parallele editieren eher als verwöhntes faulheits feature.

  16. Ich möchte nicht nach Zeilen suchen, ich möchte nur manchmal in mehreren Zeilen die gleiche Änderung vornehmen. Und ja, das würde ich gern so einfach wie möglich machen.

    Sogar Emacs und Vim können das ziemlich leicht. ;)

  17. Sogar Emacs und Vim können das ziemlich leicht. ;)

    Wie geht das in Vim?

    Seid der letzten Version hat Geany auch ein tolles Plugin, Commander. Das ähnlich wie ctrl+p in Sublime funktioniert.
    http://www.geany.org/Main/20130310

  18. Man kann es auch so sehen: Die Sublime Lizenz hat man durch das Zeitersparnis von ein paar Arbeitstagen wieder drin. Ab da macht man Plus ;-)

  19. Theoretisch ja, aber ich zahle ungern im Voraus.

  20. Aber Sublime Text 2 und 3 lassen sich doch kostenlos so lang man will ausprobieren. Und wenn du es moralisch mit der selbst rechtfertigen kannst, dann patch einfach den nag-screen raus so er dich denn stört (gist.github.com/6466311).

  21. Beides ist ein Lizenzverstoß, den ich gern vermeiden würde. Nach derselben Logik ist Windows ja auch Freeware – kann man rauspatchen. (Den Patch kannte ich aber tatsächlich noch nicht.)

  22. Wenn du alles so „hässlich”, „langsam”, „Kopfweh” erregend findest:

    Selber machen, nicht jammern kleiner

  23. I prefer to use Codelobster

Senf dazugeben:

:) 
:D 
:( 
:o 
8O 
:? 
8) 
:lol: 
:x 
:aufsmaul: 
:P 
:ups: 
:cry: 
:evil: 
:twisted: 
mehr...
 

Erlaubte Tags:
Markdown sowie <strong> <em> <pre class="" title="" data-url=""> <code class="" title="" data-url=""> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <span style="" class="" title="" data-url=""> <strike>

Datenschutzhinweis: Ihre IP-Adresse wird nicht gespeichert. Details finden Sie hier.