Emacs: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
T-m (Diskussion | Beiträge)
T-m (Diskussion | Beiträge)
Zeile 60: Zeile 60:
Aufgrund der begrenzten Möglichkeiten, die ihre zwei oder drei Knöpfe bieten, gibt es nur wenige Funktionen, die auf der '''Maus''' liegen.
Aufgrund der begrenzten Möglichkeiten, die ihre zwei oder drei Knöpfe bieten, gibt es nur wenige Funktionen, die auf der '''Maus''' liegen.


Die enorme Anzahl der Tastenkombinationen und ihre oft merkwürdige Anordnung auf der Tastatur haben in den letzten 20 Jahren zu viel Spott geführt. Man benötigt aber in der Tat nur einen kleinen Teil davon, wenige Prozent, und diese kann man lernen, es ist weit weniger schwer als es zunächst aussieht. Und es ist ein Gewinn!
===Tastenkombinationen===
Die enorme Anzahl der Tastenkombinationen und ihre oft merkwürdige Anordnung auf der Tastatur haben in den letzten 20 Jahren zu viel Spott geführt. Man benötigt aber in der Tat nur einen kleinen Teil davon, wenige Prozent, und diese kann man lernen, es ist weit weniger schwer als es zunächst aussieht.


Eine vollständige, aus der jeweils aktuellen Konfiguration des Editrors heraus gebildete Liste aller Tastenkombinationen erreicht man mit
Eine vollständige, aus der jeweils aktuellen Konfiguration des Editors heraus gebildete Liste aller Tastenkombinationen erreicht man mit
  C-h b
  C-h b
Die Tastenkombinationen sind dort mit den durch sie ausgelösten Lisp-Funktionen aufgeführt, auf welche auch hypertextartig geklickt werden kann, um an nähere Informationen zu gelangen.
Die Tastenkombinationen sind dort mit den durch sie ausgelösten Lisp-Funktionen aufgeführt, auf welche auch hypertextartig geklickt werden kann, um an nähere Informationen zu gelangen.

Version vom 19. August 2009, 17:37 Uhr

Emacs ist ein sehr umfangreicher und mächtiger, weit verbreiteter Editor, ferner eine Programmierplattform für richtige Anwendungen, beispielsweise News- und Mail-Clients, sowie eine Entwicklungsumgebung. (Manche witzeln, er sei ein eigenes Betriebssystem.) Emacs wurde von Richard Stallman in LISP begonnen und steht unter der GPL.

Installation

Emacs kann mithilfe von pacman installiert werden:

pacman -Sy emacs

Diese binaries sind für GTK compiliert und enthalten die typischen Dekoration und Stile für Menü, Toolbar und Scrollbars, zudem auch die üblichen Datei-Dialoge.

Wer emacs ohne GTK betreiben will, sollte sich die Quellen beschaffen und selbst compilieren. Es besteht per configure-Option die Möglichkeit, die Verwendung der Motif-Bibliotheken zu erzwingen (diese stehen als pacman-Paket zur Verfügung) oder ganz auf die Verwendung eines Toolkits zu verzichten und rein für X11 zu compilieren, was emacs ein rustikaleres Aussehen gibt, aber möglicherweise eine halbe Sekunde Ladezeit spart.

Starten

Um Emacs zu starten, muss man nur

emacs

in die Konsole eingeben. Befindet man sich unter X11, wird die X11-Fassung von Emacs gestartet. Es wäre ratsam, in diesem Fall emacs mit & zu starten:

emacs &

da er sonst das Terminal blockiert. Wenn man Emacs unter X11 im aktuellen Terminal starten möchte, ohne dass ein neues Fenster geöffnet wird, so sollte man

emacs -nw 

eingeben, dann in jedem Falle ohne &.

Client/Server

Emacs bietet ein Modell an, bei dem quasi ein Dämon als Server läuft, während interaktiv vom Benutzer gestartete emacs-Prozesse Clients dieses Servers werden. Der Vorteil liegt vor allem in geringerer Ladezeit. Näheres hier [[1]]

Bedienung

Abkürzungen

Emacs besitzt eine eigene, eindeutige Terminologie und Nomenklatur. Wichtig für das weitere Verständnis sind zunächst vor allem folgende Tasten:

S Shift
C Strg/Ctrl
M auf PCs in der Regel die Alt-Taste (sonst Meta, auch Super)
SPC Space/Leerzeichen
ESC Escape
RET Return, Enter

Gross- und Kleinschreibung wird dabei nicht unterschieden, C-S, C-s, c-S und c-s sind synonym.

Ferner sind folgende Begriffe zu unterscheiden, von denen sehr häufig Gebrauch gemacht wird:

buffer ein Text im Editor, sichtbar oder verdeckt, es können mehrere buffer gleichzeitig angezeigt und editiert werden
frame ein X11-Fenster, darin ein oder mehrere buffer
point die Einfügemarke, Cursor (nicht aber der Mauscursor)
region selektierer Text
paragraph durch bestimmte Textmarken (z.B. Leerzeilen) begrenzter Text

Allgemeines

Emacs wird üblicherweise vollständig über die Tastatur gesteuert. Er besitzt die Besonderheit, dass auch mehrere separate Tasten(kombinationen) hintereinander einen einzelnen Befehl auslösen können, beispielsweise nacheinander C-s und C-f (Datei öffnen). Tastenkombinationen können zudem (zumindest auf europäischen Tastaturen) auch aus drei Tasten bestehen, beispielsweise M-% (Suchen und Ersetzen), was auf einer deutschen oder schweizer Tastatur zu S-M-5 wird.

Es existiert darüberhinaus eine zentrale Möglichkeit, im sog. Mini-Buffer, den man über M-x erreicht, eine Lisp-Funktion mit ihrem Namen und ggf. Argumenten anzugeben und auszuführen. Dies scheint oft die komfortablere Möglichkeit, da man sich ggf. eher noch an verbale Bgriffe erinnert als an Tastenkombinationen.

Aufgrund der begrenzten Möglichkeiten, die ihre zwei oder drei Knöpfe bieten, gibt es nur wenige Funktionen, die auf der Maus liegen.

Tastenkombinationen

Die enorme Anzahl der Tastenkombinationen und ihre oft merkwürdige Anordnung auf der Tastatur haben in den letzten 20 Jahren zu viel Spott geführt. Man benötigt aber in der Tat nur einen kleinen Teil davon, wenige Prozent, und diese kann man lernen, es ist weit weniger schwer als es zunächst aussieht.

Eine vollständige, aus der jeweils aktuellen Konfiguration des Editors heraus gebildete Liste aller Tastenkombinationen erreicht man mit

C-h b

Die Tastenkombinationen sind dort mit den durch sie ausgelösten Lisp-Funktionen aufgeführt, auf welche auch hypertextartig geklickt werden kann, um an nähere Informationen zu gelangen.

Ein gut brauchbares Tutorial findet man im Editor selbst:

C-h t

oder im Help-Menü gleich der erste Eintrag. Es lohnt sich, dieses mal abzuarbeiten. Siehe ferner auch hier [[2]]

Emacs konfigurieren

(ich arbeite in den nächsten Tagen hieran! T.M. 19.08.2009)

Dateiverwaltung in emacs

Es gibt mehrere Implementierungen von Dateiverwaltungen unter emacs (selbst solche mit zwei gegenüberliegenden Seiten). Die bekannteste davon, die auch standardmäßig mitgeliefert wird, ist dired (directory editor). Man startet dired über

M-x dired RET  oder   C-x d

wobei man in letzterem Falle noch das Startverzeichnis bekanntgeben oder RET drücken muß. Dired listet dann augenblicklich in einem eigenen buffer die Dateien und Verzeichnisse unterhalb des Startverzeichnisses auf, meist so wie "ls -alF" und hoffentlich auch in Farbe.

In dired existieren u.a. folgende wichtige Tastenkombinationen

m, u Datei/Verzeichnis markieren, entmarkieren
D, R, C, M markierte bzw. aktuelle(s) Datei/Verzeichnis löschen, umbenennen, kopieren, verschieben
+ Verzeichnis anlegen
a Inhalt des angezeigten buffers durch aktuelle Datei/Verzeichnis tauschen, man kann mit a leicht in einem Dateibaum hinab- und hinaufwandern, Achtung: einmal auf einer Datei angekommen gibt es kein Zurück
RET einen neuen buffer mit dem Inhalt der aktuellen Datei bzw. des Verzeichnisses öffnen, Achtung: wenn man auf diese Weise von Verzeichnis zu Verzeichnis wandert, bleiben die früher gewählten Verzeichnisse jeweils geöffnet, es gibt buffer über buffer
i das aktuell ausgewählte Verzeichnis unten in den buffer einfügen, so kann man mehrere (!) Verzeichnisse in einem buffer darstellen, was oft sehr praktisch ist
$ bei Darstellung mehrerer Verzeichnisse in einem buffer: das aktuelle Verzeichnis zu- bzw. aufklappen
B markierte bzw. aktuelle Datei(en) bytecompilieren
g Ansicht aktualisieren

Shell in emacs

Es gibt zwei Implementierungen für shell-Betriebsarten unter emacs: shell und eshell. Letztere ist die etwas komfortablere Variante.

shell

Man startet shell mit

M-x shell RET

Danach sollte man in einem neuen buffer einen Prompt erhalten, der Kommandos entgegennimmt. Genaugenommen läuft tatsächlich eine korrekt initialisierte default-sh des Benutzers im Hintergrund, die dessen Kommandos entgegennimmt, ausführt und die Ausgaben an emacs zurückgibt. Ggf. wird die Ausgabe noch Steuerzeichen enthalten, ls listet beispielsweise u.U. ANSI-Farbcodes mit auf, die in der Ausgabe erscheinen.

Beenden muß man diese sh, die ja ein eigener Prozeß ist, über ein vorschriftsmäßiges

exit    oder    Ctrl-D

erst danach ist das Schließen des buffers zulässig.

eshell

Eshell unterstützt den emacs-Benutzer besser, es bietet beispielsweise eine History für seine eingegebenen Kommandozeilen, die er unter shell schmerzlich vermissen wird. Man startet eshell mit

M-x eshell RET

Man kann in eshell (nicht in shell) sogar vim starten! (Na, wenn das nicht etwas ist, auf das emacs-Benutzer lange gewartet haben ...)

Eshell kann einfach durch Schließen des buffers beendet werden, hingegen nicht durch Ctrl-D.

Emacs als Entwicklungsumgebung

Editieren

...

Browser für Quellcode

...

Compilieren

...

Debuggen

...

News und Mail in emacs

...

Internet in emacs

...

Dokumentation

Emacs ist self documenting, d.h. in jedem Belang ausführlich dokumentiert. Diese Dokumentation ist jederzeit im Editor selbst abrufbar. Man startet sie über

M-x info RET

und gelangt in den emacs-eigenen Info-Browser, der sein Inhaltsverzeichnis auflistet, in dem auch emacs aufgelistet ist. Direkt zur emacs-Dokumentation gelangt man mit

C-h r

Den Umgang mit dem Info-System, einem Vorläufer von HTML, muss man etwas üben.

Es gibt auch eine FAQ-Liste, die man über

C-h C-f

erreicht.

Weitere Hinweise zur Bedienung gibt emacs selbst auf seinem Startbildschirm.

Links

Gnu Emacs Manual (entspricht den mitgelieferten Info-Seiten, nur hier in HTML) [[3]]

Gnu Emacs verwandte Seiten [[4]]

Emacs-Einsteiger-Dokumentation auf SelfLinux [[5]]

EmacsWiki [[6]]

Emacs Lisp List [[7]]

Eine Liste mit interessanten Erweiterungen (Lisp) [[8]]