Als eindeutig bester Editor für MATLAB hat sich der Editor EMACS erwiesen. Der bereitgestellte MATLAB-Mode bietet mit Hilfe von EMACSLINK eine Verbindung zwischen MATLAB und EMACS, erlaubt Syntax-Highlighting und Kommando-Ergänzung. Im Rahmen der Ausbildung bietet EMACS darüber hinaus weitere Vorteile, da dieser Editor ähnliche Unterstützung für andere Sprachen, wie z.B. C, C++, FORTRAN, PYTHON, oder LATEX bietet.
Die beste Verwendung von EMACS mit der Programmiersprache MATLAB ist der Aufruf aus MATLAB. Vorausgesetzt EMACSLINK ist in den Preferenzen eingestellt, startet man den Editor mit folgendem Befehl.
edit % opens file untitled.m edit file % opens file or file.m (if file does not exist) edit file.mIn Kontrast zum eingebauten MATLAB-Editor startet EMACS im Buffer
*scratch*
falls der gewünschte File nicht existiert. Man wird dann
beim ersten Speichern aufgefordert den Filenamen anzugeben.
Ungeübte Benutzer können EMACS mit Hilfe der Maus und mit Menüeinträgen bedienen. Die wirkliche Stärke des Editors zeigt sich aber, wenn man zumindest die wichtigsten Tastenkombinationen verwendet. Diese werden in der Folge vorgestellt.
EMACS stellt für jeden geöffneten File einen Buffer bereit, der den gesamten Inhalt dieses Files beinhaltet. Außerdem können Buffer noch für andere Aufgaben verwendet werden:
Die Darstellung der Buffer erfolgt in sogenannten Frames (eigene Fenster am Bildschirm), die unter Umständen in mehrere Windows (Bereiche in einem Frame) aufgeteilt sein können. Der Inhalt eines Buffers kann nun in einem Window dargestellt werden, wobei der Inhalt eines Buffers auch in mehreren Windows vorhanden sein kann. Dies hat den Vorteil, dass man verschiedene Bereiche eines Files mehr oder weniger gleichzeitig bearbeiten kann. Man kann damit z.B. recht einfach Teile vom Anfang eines langen Files in einem weit entfernten Bereich einfügen.
Im unteren Bereich des Frames gibt es noch den sogenannten Minibuffer in dem EMACS-Kommandos ausgeführt werden. Dorthin springt z.B. der Editor, wenn ein File geöffnete wird.
Bei der Beschreibung von Tastenkombinationen werden folgende Abkürzungen verwendet:
Strg
oder Ctrl
) gleichzeitig
gedrückt mit einer weiteren Taste (hier x
).
x
); Nach dem Loslasen drücken einer weiteren Taste (hier
s
).
Alt
) gleichzeitig gedrückt mit einer
weiteren Taste.
Esc
) gleichzeitig gedrückt mit einer
weiteren Taste.
TASTE | BEDEUTUNG | TASTE | BEDEUTUNG |
C-z |
Suspend | C-x C-c |
Beendet |
C-x C-s |
Speichert File | C-x s |
Speichert alle Files |
C-x C-w |
Speichert File als | C-x C-v |
Ersetzt File |
C-x C-f |
Öffnet File | C-x i |
Einfügen eines Files |
C-x b |
Anderer Buffer | C-x k |
Killt (entfernt) Buffer |
C-x C-b |
Liste aller Buffer |
|
C-x C-f
für das Anlegen
verwendet. Man wird dann im Minibuffer zum Eingeben des Filenamens
aufgefordert.
TASTE | BEDEUTUNG | TASTE | BEDEUTUNG |
C-x 2 |
Split Window | C-x 5 2 |
Neuer Frame |
C-x 0 |
Entfernt Window | C-x 5 0 |
Entfernt Frame |
C-x 1 |
Entfernt andere Windows | C-x 3 |
Split Window seitlich |
C-M-v |
Scrollt anderes Fenster | C-x ^ |
Macht Window größer |
C-x { |
Macht Window schmäler | C-x } |
Macht Window breiter |
C-x o |
Cursor in anderes Window | C-x 5 o |
Cursor in anderen Frame |
C-x 4 b |
Auswahl Buffer in anderem Window | C-x 5 b |
Auswahl Buffer in anderem Frame |
C-x 4 C-o |
Buffer in anderem Window | C-x 5 C-o |
Buffer in anderem Frame |
C-x 4 f |
Öffne File in anderem Window | C-x 5 f |
Öffne File in anderem Frame |
TASTE | BEDEUTUNG | TASTE | BEDEUTUNG |
C-b |
Buchstabe rückwärts | C-f |
Buchstabe vorwärts |
M-b |
Wort rückwärts | M-f |
Wort vorwärts |
C-p |
Zeile rückwärts | C-n |
Zeile vorwärts |
C-a |
Zeilenanfang | C-e |
Zeilenende |
M-a |
Satz rückwärts | M-e |
Satz vorwärts |
M-{ |
Paragraph rückwärts | M-} |
Paragraph vorwärts |
M-x [ |
Seite rückwärts | M-e ] |
Seite vorwärts |
C-M-a |
Funktion rückwärts | C-M-e |
Funktion vorwärts |
M-< |
Bufferanfang | M-> |
Bufferende |
M-v |
Scroll Schirm rückwärts | C-v |
Scroll Schirm vorwärts |
C-x < |
Scroll Schirm links | C-x > |
Scroll Schirm rechts |
C-u C-l |
Zeile in Schirmmitte |
|
TASTE | BEDEUTUNG | TASTE | BEDEUTUNG |
C-SPC |
Setze Markierung | C-x C-x |
Tausche Markierung und Cursor |
M-h |
Markiere Paragraph | C-x C-p |
Markiere Seite |
C-M-h |
Markiere Funktion | C-x h |
Markiere Buffer |
BSP |
Entferne Zeichen rückwärts | DEL |
Entferne Zeichen vorwärts |
M-DEL |
Lösche Wort rückwärts | M-d |
Lösche Wort vorwärts |
M-0 C-k |
Lösche Zeile rückwärts | C-k |
Lösche Zeile vorwärts |
C-x DEL |
Lösche Satz rückwärts | M-k |
Lösche Satz vorwärts |
C-w |
Lösche Region | M-w |
Kopiere Region |
C-y |
Einfügen | M-y |
Tauscht letzte Einfügung gegen vorherige |
C-y
, bzw. mit Hilfe der mittleren Maustaste.
TASTE | BEDEUTUNG | TASTE | BEDEUTUNG |
TAB |
Einrückung Zeile | C-M-\ |
Einrückung Region |
C-x TAB |
Einrückung Region erzwungen |
|
|
C-o |
Neue Zeile | C-M-o |
Restliche Zeile nach unten |
C-x C-o |
Entferne leere Zeilen | M-^ |
Verbinde Zeile mit voriger |
M-\ |
Entferne leere Zeichen | M-SPC |
Exakt ein Leerzeichen |
M-q |
Fülle Paragraph | C-x f |
Setzte Füll Spalte |
M-u |
Großbuchstaben Wort (upper) | M-l |
Kleinbuchstaben Wort (lower) |
M-c |
Erster Buchstaben groß (capitalize) |
|
|
C-x C-u |
Großbuchstaben Region (upper) | C-x C-l |
Kleinbuchstaben Region (lower) |
C-t |
Austausch Zeichen | M-t |
Austausch Worte |
C-x C-t |
Austausch Zeilen |
|
TASTE | BEDEUTUNG | TASTE | BEDEUTUNG |
C-s |
Suche vorwärts | C-r |
Suche rückwärts |
M-p |
Wähle vorherigen Suchstring | M-n |
Wähle nächsten Suchstring |
RET |
Beende Suche | C-g |
Abbruch der Suche |
M-% |
Suche und Ersetzen (interactiv) |
|
M-%
sind die folgenden Antworten möglich:
?
Hilfe;
SPC
ersetze und geh weiter;
,
ersetze und bleibe am selben Platz;
.
ersetze und beende;
DEL
ersetze nicht und geh weiter;
!
ersetze alle Weiteren;
^
zurück zum vorherigen Suchresultat;
RET
beende den Ersetzungsmodus;
E
editiere die Ersetzungszeichen.
Winfried Kernbichler 2005-04-26