Editoren

Welchen Editor verwenden ?

Statt sich unter Linux mit emacs oder vi rumzuquaelen sollte man lieber mal folgende ausprobieren:

  • Kate : Kann alles, braucht aber KDE. Trotzdem mein Favorit!
  • Pico : Superschnell, winzig und läuft im Terminalfenster. Mein Favorit zum schnellen Editieren kleinerer Konfigurationsdateien. Ist außerdem viel intuitiver als vi zu bedienen. (Alternativen sind nano bzw. jpico ein Alias fuer den Joe-Editor)
  • Nedit : Übersichtlich, gut zu bedienen, leider keine Faltung von Quellcode.
  • FTE : Beherrscht falten (folding), was Nedit leider noch nicht kann. Hat allerdings eine altertümliche Oberfläche.

Um Latex zu editieren empfehle ich Kile.

P.S.:Die Ergebnisse einer Umfrage zur Beliebtheit von Editoren unter Linux gibts hier.

P.P.S.: Unter Windows ist Textpad mein Favorit!

Tipps zum Nedit

Man kann Nedit beibringen eigene Shell-Kommandos per Menü zu starten. Dazu muß man den Dialog unter

Preferences/Default Settings/Customize Menus/Shell Menu

aufrufen. Um z.B. Latex direkt über Nedit zu steuern könnte man Befehle für den Aufruf von latex, bibtex, dvips, kdvi, kghostview folgendermaßen generieren:

  1. latex :
    • Shell command : latex %
    • Command output : dialog
    • Save file before executing command
  2. bibtex :
    • Shell command : set n=%; bibtex $n:r.aux &
    • Command output : dialog
    • Save file before executing command
  3. dvips :
    • Shell command : set n=%; dvips -o $n:r.ps $n:r.dvi &
    • Command output : dialog
  4. kdvi :
    • Shell command : set n=%; kdvi $n:r.dvi &
    • Command output : new window
  5. kghostview :
    • Shell command : set n=%; kghostview $n:r.ps &
    • Command output : new window
  6. latex complete :
    • Shell command : latex %; set n=%; bibtex $n:r.aux; latex %; latex %;
    Hierbei ist zu beachten, dass diesmal beim Aufruf des bibtex-Befehls kein &-Zeichen verwendet werden kann.

Tipps zu Emacs

Emacs ist eine eierlegende Wollmilchsau. Leider ist die Bedienung bescheiden. Für fast alle Aktionen (selbst für das Beenden!!) ist es nötig zwei Tastaturkürzel hintereinander einzugeben. Trotzdem muß man ihn manchmal benutzen, weil man gerade nix anderes hat:

  • Emacs ohne X-Window starten: > emacs -nw
  • Emacs beenden: Ctrl-x Ctrl-c
  • Datei öffnen: Ctrl-x Ctrl-f
  • Datei/Buffer schließen : Ctrl-x k
  • Datei speichern unter: Ctrl-x Ctrl-w
  • Datei speichern: Ctrl-x Ctrl-s
  • Suchen: Ctrl-s
  • Befehl abbrechen: Ctrl-g (z.B. kann man, wenn man Ctrl-x Ctrl-f zum Datei öffnen eingegeben hat den Dialog mit Ctrl-g abbrechen)
  • Hilfe: ESC-x help (ja, man muß tatsächlich help eingeben, kann es aber mit he TAB abkürzen. Einen kürzeren Weg zur Hilfe kann man sich nun wirklich nicht vorstellen!)
  • Split-Screen der Hilfe schließen: q (Tatsächlich nur ein Tastendruck. Wahnsinn!)

Mehr Tastenkürzel gibt es bei Emacs keyboard shortcuts. Und wer immer noch nicht glaubt, dass Emacs wirklich umständlich und veraltet ist, der lese im folgenden die Kritik eines Emacs-Expertens:

Eclipse

Eclipse als Editor zu bezeichen ist etwas untertrieben. Passender wäre vielleicht die Bezeichnung “Emacs des 21. Jahrhunderts”, denn Eclipse ist wie Emacs eine eierlegende Wollmilchsau, mit der man von ADA bis XML alles programmieren kann. Im Grundzustand ist Eclipse zwar nach wie vor erstmal eine Java-Entwicklungsumgebung (und in diesem Bereich sicherlich der(!) Standard), aber inzwischen gibt es mehr als 1200 Plugins für Eclipse auf www.eclipseplugincentral.com, ein paar nützlichere davon sind hier aufgelistet:

  • CDT (C/C++ Development Tools) Project : eine C/C++ Entwicklungsumgebung für Eclipse (Editor mit Syntax-Highlighting, Code-Completion, Debugger, Makefile Generator u.a. )
  • Photran : eine FORTRAN Entwicklungsumgebung für Eclipse (Editor mit Syntax-Highlighting, Code-Completion, Refactoring, Interface to GDB… )
  • Pydev : eine Python Entwicklungsumgebung für Eclipse (Editor mit Syntax-Highlighting, Code-Completion, Refactoring, Debugger, Interaktiver Pythonkonsole… )
  • Subclipse : Ein grafischer Subversion Client; erlaubt die Verwaltung von Eclipse Projekten mit Subversion und bietet direkten Zugriff auf SVN Repositories aus Eclipse heraus.
  • Apache Directory Studio : Ein grafischer LDAP Browser; erlaubt die Verwaltung (Suchen, Editieren usw.) von Einträgen auf einem LDAP Server aus Eclipse heraus.
  • Remote System Explorer (Target Management) : Erlaubt das Editieren von Dateien über SSH/SFTP-Verbindungen. Laut freshblurbs kann man damit auch lokal Dateien editieren ohne(!) das man damit ein Projekt anlegen muss.
  • Aptana : Eine professionelle Webentwicklungsumgebung für HTML, CSS, Javascript. Arbeitet auch mit Firebug zusammen (siehe FirebugAndAptanaStudio.

Die Bedienung von Eclipse ist, wie es sich für ein Profi-Tool gehört, unübersichtlich und nicht immer intuitiv (aber immer noch um Welten besser und moderner als die von Emacs oder vi). Daher wäre meine Beschreibung von Eclipse nicht komplett ohne ein paar hilfreiche Tastaturkürzel und Einstellungen (sie beziehen sich auf die Java-Entwicklungsumgebung) zu nennen:

  • Ctrl-1 : Quick Fix, gibt Vorschläge wie der Quellcode geschrieben oder korrigiert werden kann um fehlerfrei zu sein. Sehr cool!!
  • Ctrl-Space : Code Completion, z.B. Eingabe von syso ctrl-Space gibt System.out.println(). Man probiere auch for ctrl-space, while ctrl-space oder if ctrl-space.
  • F3 : Springt zur Deklaration einer Klasse/Funktion/Variable.
  • Ctrl-Shift-f : Pretty Formating von selektiertem Quellcode
  • Ctrl-j : Inkrementelle Suche wie in Firefox. Drückt man die Tastenkombination passiert zuerst nichts, aber sobald man die erste Taste drückt, springt der Cursor zum ersten Treffer. Vorwärts durch die Treffer springt man durch weiteres Drücken von Ctrl-j, rückwärts durch Ctrl-Shift-j.
  • Ctrl-f : Suche, die Treffer werden dabei auch in der rechten Spalte neben deb Quellcodefenster farblich markiert. Zum nächsten Treffer springt man bei geöffnetem Suchfenster mit Alt-n.
  • Ctrl-Shift-o : Ergänzt nötige bzw. löscht überflüssige Import-Statements.
  • Ctrl-Shift-l : Zeigt alle Tastaturkürzel an (Über das Menü zu finden unter Windows->Preferences->General->Keys).
  • Kontextmenü Source->Generate Getters/Setters oder Source->Generate Hashcode and equals()... sind sehr nützlich um die entsprechenden Funktionen zu einer Klasse automatisch zu erzeugen.
  • Kontextmenü Refactor->Rename erlaubt es eine Variable/Klasse umzubenennen und dabei jeden Aufruf derselben im gesamten Projekt (also über Dateigrenzen hinweg) gleichzeitig anzupassen. Sehr cool!!
  • Menüpunkt Windows->Show View->Javadoc öffnet ein Fenster in dem Javadoc Beschreibungen zu jedem Element erscheinen, welches im Quellcode markiert und doppelt angeklickt wird (Alternative: Ein Element markieren und dann Shift-Alt-q j drücken).
  • Um zu verhindern, dass die sog. "Hovers" (Erscheinen z.B. beim Überfahren eingeklappter Quellcodeteile mit der Maus) zu lange gezeigt werden (ein sehr nerviges Feature von Eclipse, leider nicht abschaltbar), sollte man im Menü Windows->Preferences unter General->Editors->TextEditors: When mouse moved into hover: Close hover auswählen. Dann werden die "Hovers" praktisch immers sofort wieder geschlossen und stören nicht.

Mehr nützliche Tastaturkürzel gibt es u.a. bei Effective Eclipse: Shortcut keys. Interessant ist auch das Mousefeed Plugin, dass innerhalb von Eclipse zu jeder Aktion mit der Maus ein äquivalentes Tastaturkürzel anzeigt, so dass man die Tastaturkürzel schneller lernen kann.

Avatar
Andreas Maier
Data Alchemist

My interests include machine learning, software development, physics and mathematics

Related