System

?


August Hörandl

System

Editieren unter LINUX

PROGRAMM


hoerandl@elina.htlw1.ac.at

Editieren unter LINUX

August Hörandl

Emacs und XEmacs

Dieser Editor ist ein mächtiges Werkzeug, die Bezeichnung Editor ist für diese Arbeitsumgebung fast eine Untertreibung. Es ist ein sehr umfangreiches Programm mit den wahrscheinlich meisten Features eines einzelnen UNIX-Programms.

Emacs basiert auf einer eigenen Programmiersprache (Lisp bzw. Emacs-Lisp) für Erweiterungen und Makros (die meisten Pakete des Emacs sind in dieser Sprache geschrieben).

Es können beliebig viele Dateien gleichzeitig bearbeitet werden. Neben den Funktionen zum Bearbeiten von Texten (Einfügen, Kopieren, etc.) gibt es eine Undo-Funktion (beliebig weit), inkrementelles Suchen (Suchergebnisse werden während der Eingabe des Suchbegriffs angezeigt), Autosave und Menüs.

Die enthaltenen Erweiterungen decken fast alle Bereiche ab: z.B. Programme schreiben, übersetzen und testen (wie eine integrierte Entwicklungsumgebung), alle Arten der Kommunikation (Mail, News, WWW) sind am Textschirm und unter X Windows möglich. Für sehr viele Arbeiten gibt es spezielle Unterstützung (sogenannte Modes) z.B. je ein Mode für die gängigen Programmiersprachen (einrücken, farbige Darstellung der Schlüsselwörter etc.), HTML Mode zum Gestalten von WWW Dokumenten usw.

Häufig verwendete Kommandos sind durch “shortcuts” (eine Kombination der Tasten «Meta», «Crtl» und einer weiteren Taste) abrufbar.

Alles in allem: es gibt fast nichts, was Emacs nicht kann.

Diese Funktionalität hat auch ihren Preis: Emacs braucht viel Speicher (bei der Installation und bei der Ausführung) und ist für den Neuling durch die vielen Möglichkeiten eher entmutigend.

Anmerkung

Es gibt zwei Versionen: Emacs und XEmacs. Beide sind für X Windows geeignet, sie unterscheiden sich etwas durch die Funktionalität - die Version XEmacs ist dabei etwas anwenderfreundlicher und umfangreicher.

Starten des Editors

$ emacs [optionen] [ datei ... ]

$ xemacs [optionen] [ datei ... ]

Bereits beim Start können die zu bearbeitenden Dateien angegeben werden.

Man kann eine Datei auch in einem neuen Buffer des bereits laufenden Editors laden (auch hier gibt es zwei Versionen):

$ emacsclient datei

$ gnuclient datei

Das ist besonders dann sinnvoll, wenn Emacs als ‘’externer’’ Editor für andere Programme genutzt wird. Die Konfiguration geschieht meist durch Setzen der Variable EDITOR:

$ export EDITOR=gnuclient

Damit Emacs in dieser Form arbeitet, muss bei Start ein Server gestartet werden - am einfachsten in der Konfigurationsdatei .emacs:

(serverstart)   ;; server for emacsclient

(gnuserv-start) ;; server for gnuclient

Bearbeiten

Der angezeigte Schirm ist in drei Teile geteilt: den Buffer zum Bearbeiten der Datei, eine Statuszeile und die unterste Zeile zur Eingabe von Kommandos und zur Anzeige von Meldungen.

Die Bewegung des Cursors geschieht am einfachsten durch die Cursortasten.

Außerdem können alle Kommandos in der untersten Zeile direkt eingeben werden: durch Eingabe von M-x (M steht dabei für «Meta» - falls sie keine solche Taste auf ihrer Tastatur finden, kann dies entweder durch vorheriges Drücken der «ESC» oder gleichzeitiges Drücken der «Alt» Taste ersetzt werden d.h. «ESC¦X» oder «Alt¦X») und Eingabe des Kommandonamens. Bei vielen Eingaben funktionieren die «TAB» Taste zur Ergänzung und die Cursortasten zur Auswahl der vorigen Eingaben (Commandhistory).

Beispiel

Öffnen einer Datei: M-x find-file. Man kann aber auch C-x C-f («Crtl¦X» gefolgt von «Ctrl¦F») verwenden.

Die Taste C-g bricht jedes Kommando ab.

Die zweite Zeile von unten ist die sogenannte Modeline (Statuszeile). Dort findet man Informationen über die aktuelle Datei, den für die Bearbeitung der Datei gewählten Modus usw.

Beispiel

-**-Xemacs: main.C (C++ Font)-L2-Top-

**

die Datei wurde geändert (%% wenn die Datei nur zum Lesen geöffnet ist)

C++ Font

ausgewählte Modi

L2

aktuelle Zeile

TOP

Beginn der Datei

Text löschen und verschieben

Das Markieren eines Bereiches (Region) geschieht entweder mit der Maus oder mit der Tastenkombination C-@ (oder C-Space) und Bewegen des Cursors.

C-w löscht den Bereich, M-w kopiert den Bereich (ohne Löschen) - der Text kommt dabei in den Kill-Ring (Zwischenablage mit beliebig vielen Einträgen). Mit dem Befehl C-y (yank) kann dieser Text an anderer Stelle eingefügt werden; mit M-y können dann alle bisherigen Einträge des Kill-Rings durchgegangen werden.

Emacs als Entwicklungsumgebung

Der Editor Emacs bzw. Xemacs bietet vielfältige Unterstützung beim Programmieren: