  HOWTO fr den Emacs Einsteiger
  Jeremy D. Zawodny (Jeremy@Zawodny.com) und Christel Weyrauch
  (christelweyrauch@gmx.de)
  v1.12, 20. Januar 2002

  Dieses Dokument fhrt Linux-Anwender in den Emacs-Editor ein. Es geht
  von einer geringen Vertrautheit mit dem vi oder einem hnlichen Editor
  aus.


  1.  Einfhrung

  1.1.  Copyright

  Dieses Dokument ist urheberrechtlich geschtzt. Das Copyright fr die
  englische HOWTO, auf der dieses Dokument basiert, liegt bei Jeremy D.
  Zawodny (Copyright  1998 - 2001 Jeremy D. Zawodny). Das Copyright fr
  die deutsche Version liegt bei Christel Weyrauch und Marco Budde.


  Das Dokument darf gem der GNU General Public License verbreitet
  werden. Insbesondere bedeutet dies, dass der Text sowohl ber
  elektronische wie auch physikalische Medien ohne die Zahlung von
  Lizenzgebhren verbreitet werden darf, solange dieser Copyright
  Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt
  und ausdrcklich erwnscht. Bei einer Publikation in Papierform ist
  das Deutsche Linux HOWTO Projekt hierber zu informieren.

  1.2.  Bezugsquellen

  Die aktuellste englische Version dieses Dokuments ist gewhnlich unter

       http://www.wcnet.org/jzawodn/emacs/


  verfgbar.   Die deutsche Version findet man beim DLHP:

       http://www.tu-harburg.de/dlhp/


  1.3.  Leserkreis und Ziel

  Dieses Dokument richtet sich an den Linux-Anwender, der daran
  interessiert ist, ein bisschen ber den Emacs zu lernen und ihn
  auszuprobieren. Es entstand eigentlich  als Entwurf fr ein kurzes
  Tutorial, das ich bei einem Treffen der Toledo Area Linux User Group
  geben musste:

       http://www.talug.org/

  Dank des hilfreichen Feedbacks, das ich von der Gruppe bekam, ist es
  seitdem etwas gewachsen. Nheres dazu finden Sie bei den Danksagungen.


  Ich habe gesagt, dass sich dieses Dokument an den Linux-Anwender
  richtet, doch gibt es in diesem Dokument praktisch nichts Linux-
  spezifisches.  Es ist auf alle Unix-Varianten und selbst auf dem Emacs
  unter Microsoft Windows anwendbar. Doch da dieses Dokument Teil des
  Linux-Dokumentationsprojektes ist, mchte ich noch einmal festhalten,
  dass es fr Linux-Anwender entwickelt wurde, weil es das eben wurde.
  Und zum Schluss noch ein Hinweis fr diejenigen von Ihnen, die die
  Bezeichnung GNU/Linux dem ganz einfachen Linux vorziehen: Sie
  knnen gerne in Gedanken bei jedem Vorkommen von Linux in diesem
  Dokument dieses durch GNU/Linux ersetzen. Lesen sie hierzu auch
  folgendes Dokument:


       http://www.gnu.org/gnu/linux-and-gnu.html



  Zwar bin ich mit der Argumentation und dem Geist hinter der Idee nicht
  uneins, doch fhle ich mich nicht gezwungen, GNU/Linux zu schreiben.


  1.4.  Was ist der Emacs?

  Der Emacs ist Unterschiedliches fr unterschiedliche Menschen.
  Abhngig davon, wen man fragt, knnte man irgendeine der folgenden
  Antworten bekommen:


    ein Text-Editor

    ein Mail Client

    ein News Reader

    ein Word-Prozessor

    eine Religion

    eine integrierte Entwicklungsumgebung

    Was immer Sie wollen, das er ist!



  Doch fr unsere Zwecke lassen Sie uns einfach so tun, als wre er ein
  Text-Editor - ein erstaunlich flexibler Text-Editor. Wir werden spter
  tiefer in die Frage einsteigen. Der Emacs wurde von Richard Stallman
  geschrieben (Grnder der Free Software Foundation:

       http://www.fsf.org/

  und des GNU Projektes),

       http://www.gnu.org/


  und er pflegt ihn noch heute.




  Der Emacs ist einer der populrsten und leistungsfhigsten Text-
  Editoren fr Linux (und Unix). In Popularitt steht er an zweiter
  Stelle nur hinter dem vi. Er ist bekannt fr sein umfangreiches Bndel
  an Leistungsmerkmalen, seine Fhigkeit, leicht angepasst werden zu
  knnen und seinen Mangel an Fehlern. Sein enormes Bndel an
  Leistungsmerkmalen und seine Fhigkeit, leicht angepasst werden zu
  knnen, sind im Grunde das Resultat davon, wie der Emacs entwickelt
  und implementiert wurde. Ohne auf alle Details einzugehen, weise ich
  einfach darauf hin, dass der Emacs nicht nur ein Editor ist. Es ist
  ein Editor, der hauptschlich in der Programmiersprache Lisp
  geschrieben wurde. Im Kern des Emacs befindet sich ein kompletter Lisp
  Interpreter, der in C geschrieben wurde. Nur die grundlegendsten und
  elementarsten Teile vom Emacs sind in C geschrieben. Der grere Teil
  des Editors wurde eigentlich in Lisp geschrieben. So hat der Emacs, in
  gewissem Sinne, eine ganze Programmiersprache in sich eingebaut, die
  Sie benutzen knnen, um ihn anzupassen, zu erweitern und sein
  Verhalten zu verndern.



  Der Emacs ist auerdem einer der ltesten Editoren, die es so gibt.
  Die Tatsache, dass er ber die letzten 20 (?) Jahre hinweg von
  tausenden von Programmierern benutzt wurde, bedeutet, dass es viele
  Zusatzpakete gibt. Diese Zustze erlauben es Ihnen, den Emacs Dinge
  tun zu lassen, die Stallman wahrscheinlich niemals fr mglich
  gehalten htte, als er erstmals die Arbeit am Emacs begann. Mehr davon
  in einem spteren Abschnitt.


  Es gibt viele andere Dokumente und Websites, die einen besseren
  berblick ber den Emacs, seine Geschichte und damit zusammenhngende
  Themen bieten. Anstatt zu versuchen, an dieser Stelle davon viel zu
  reproduzieren, schlage ich vor, Sie testen einige der Angaben, die im
  Abschnitt ``Andere Quellen'' in diesem Dokument aufgefhrt werden.





  1.4.1.  Portierungen und Versionen

  Es ist wichtig drauf hinzuweisen, dass es eigentlich zwei
  unterschiedliche Emacs-Editoren gibt: GNU Emacs und Xemacs. Beide
  haben den gleichen Ursprung und verfgen im Wesentlichen ber die
  gleichen Eigenschaften. Dieses Dokument basiert auf dem GNU Emacs
  (insbesondere Version 20.3), aber viel von dem, was Sie hier lesen
  werden, trifft ebenso gut auf den Xemacs und ltere Versionen des GNU
  Emacs zu. In dem ganzen Dokument werde ich einfach vom Emacs
  sprechen. Wenn ich das tue, haben Sie dies bitte im Hinterkopf.



  1.4.2.  Wie Sie den Emacs bekommen knnen

  Den Emacs zu bekommen, ist einfach. Wenn Sie eine bekannte Linux-
  Distribution benutzen, wie Debian, RedHat, Slackware, SuSE oder
  irgendeine der anderen, ist der Emacs wahrscheinlich ein Zusatzpaket,
  das Sie von Ihrem Distributionsmedium aus installieren knnen. Wenn
  nicht, knnen Sie sich den Emacs Source Code holen und ihn selbst
  kompilieren. Besuchen Sie die GNU Website, um die genaue Adresse zu
  bekommen:

       http://www.gnu.org/software/emacs/emacs.html




  2.  Mit dem Emacs arbeiten

  2.1.  Den Emacs starten und beenden

  Wenn Sie ein neuer Anwender sind, werden Sie wahrscheinlich den Emacs
  starten, um damit herumzuspielen und ihn auszuprobieren. Ist der Emacs
  erst einmal gestartet und Sie wollen ihn schlieen, wissen Sie
  vielleicht nicht, was zu tun ist. Wenn Sie also vorher noch nie mit
  dem Emacs gearbeitet haben, versuchen Sie es jetzt gleich einmal.
  Tippen Sie emacs an Ihrem Shellprompt und drcken Sie die
  Return-Taste. Der Emacs sollte dann starten. Wenn nicht, ist er
  entweder nicht installiert oder nicht in Ihrem Pfad.


  Wenn Sie sich den Emacs angesehen haben, mssen Sie wissen, wie er
  beendet wird. Mit der Tastenkombination C-x C-c wird er verlassen.
  Die C-x Schreibweise bedeutet: halten Sie die Ctrl-Taste (auf
  einer deutschen Tastatur ersetzen Sie bei Befehlen die Control-Taste
  bitte immer durch die Steuerungs-Taste, Strg) gedrckt und drcken
  Sie x. In diesem Fall, mssen Sie dann die Ctrl-Taste gedrckt
  halten und auf c drcken, um den Befehl zu vollenden.


  Die beim Emacs benutzten Tastenkombinationen erscheinen Ihnen
  vielleicht zuerst etwas komisch, fremd und wahrscheinlich sogar
  unbequem - besonders dann, wenn Sie ein vi-Anwender sind. Anders als
  der vi hat der Emacs keine besonderen Modi, um Text zu editieren und
  Befehle auszufhren.


  Zur Erinnerung: emacs startet den Emacs. Mit C-x C-c wird er
  geschlossen.



  2.1.1.  Was Sie sehen werden

  Wenn der Emacs gestartet wird, nimmt er ein ganzes X Fenster ein (oder
  den gesamten Bildschirm, wenn Sie von einer Konsole aus arbeiten,
  anstelle des X Window Systems). Entlang des oberen Randes sehen Sie
  ein Menue, etwas Text im Hauptteil des Bildschirms, und ein paar
  Zeilen am unteren Rand.


  Es wird in etwa so aussehen wie diese ASCII-Skizze:





       +----------------------------------------------------------------------+
       |Buffers Files Tools Edit Search Mule Help                             |
       |                                                                      |
       |Welcome to GNU Emacs, one component of a Linux-based GNU system.      |
       |                                                                      |
       |                                                                      |
       |                                                                      |
       | ...                                                                  |
       |                                                                      |
       |---1:---F1  *scratch*         (Lisp Interaction)--L1--All-------------|
       |For information about the GNU Project and its goals, type C-h C-p.    |
       +----------------------------------------------------------------------+






  Beachten Sie: der Emacs wird normalerweise den gesamten Bildschirm
  oder das ganze Fenster ausfllen. Ich habe das obige Beispiel kleiner
  dargestellt, um hier Platz zu sparen. Sie werden auch einen
  Begrungstext im Emacs sehen, wenn Sie ihn das erste Mal starten. Ich
  habe ihn auch ausgelassen und anstatt dessen durch ... ersetzt. Der
  Begrungstext gibt lediglich die genaue Emacs-Version an, die Sie
  benutzen und verweist Sie auf die Online-Hilfe und damit verwandte
  Themen.
  2.1.1.1.  Die Menueleiste

  Die allererste Zeile der Emacs-Oberflche ist ein Menue. Wenn Sie mit
  X arbeiten, werden Sie sie als die blichen Pull-Down-Menues
  wahrnehmen, auf die Sie mit Ihrer Maus zugreifen knnen. Wenn nicht,
  mssen Sie Tastenkrzel verwenden (werden hier nicht behandelt), um
  auf die Menues zugreifen zu knnen.


  2.1.1.2.  Die Statuszeile und der Mini-Puffer

  Von den letzten zwei Zeilen der Emacs-Oberflche ist die oberste im
  Wesentlichen eine Statuszeile. Sie beinhaltet Informationen ber den
  Puffer in dem Sie arbeiten, in welchem Modus sich der Emacs befindet,
  und verschiedene andere Dinge. Merken Sie sich fr den Moment einfach,
  dass sie da ist.


  Die unterste Zeile wird Mini-Puffer genannt.  Er wird vom Hauptpuffer
  durch die Statuszeile getrennt, die wir gerade besprochen haben. Sie
  knnen den Mini-Puffer als die Kommandozeile des Emacs betrachten.
  Hier werden Befehle angezeigt, die Sie dem Emacs erteilen und hier
  werden - je nach dem, was Sie tun - Statusmeldungen ausgegeben.


  Das, was ich die Statuszeile genannt habe, wird in Dokumentationen zum
  Emacs normalerweise als Moduszeile bezeichnet. Hier zeigt der Emacs
  Informationen ber den/die augenblicklichen Modus/Modi, die Sie
  vielleicht benutzen, aber auch Dinge wie das aktuelle Datum und die
  Zeit, die Zeilennummer, Dateigre und fast alles, was Sie dort
  mglicherweise sehen mchten.


  2.2.  Einige Fachausdrcke

  Dieser Abschnitt behandelt die grundlegendsten Emacs-Fachausdrcke,
  denen Sie bei der Benutzung des Emacs und dem Lesen ber den Emacs
  begegnen werden.



  2.2.1.  Puffer & Dateien

  Anders als bei einigen Editoren, bleibt beim Emacs eine Datei an der
  Sie arbeiten, nicht die ganze Zeit geffnet. Anstatt dessen, liest
  der Emacs die Datei in einen Speicherpuffer ein. Whrend Sie den
  Puffer editieren und mit den Daten arbeiten, ndert sich nichts auf
  der Festplatte. Nur wenn Sie wirklich den Puffer speichern, wird die
  Datei auf der Festplatte aktualisiert. Es gibt bei diesem Verfahren
  Vor- und Nachteile, es ist aber nur wichtig, dass Sie verstehen, dass
  es so funktioniert.


  Aus diesem Grund trifft man in der Emacs-Dokumentation bei Modi,
  Paketen und so weiter auf den Begriff Puffer.  Machen Sie sich
  einfach klar, dass Puffer eine Kopie der Datei, die gerade im
  Speicher ist bedeutet. Oh, es ist noch wichtig, darauf hinzuweisen,
  dass ein Puffer sich nicht immer auf eine bestimmte Datei auf der
  Festplatte bezieht. Der Emacs erzeugt oft Puffer aufgrund der Befehle,
  die Sie eingeben. Diese Puffer knnen das Ergebnis eines Befehls, eine
  Auswahlliste etc. beinhalten.





  2.2.2.  Point & Region

  Im Emacs-Jargon werden Sie oft Hinweise auf den sogenannten Point
  (Eingabepunkt) hren oder sehen. Im allgemeinen ist der Point der
  Cursor. Der eigentliche Unterschied zwischen Point und Cursor ist
  wahrscheinlich nicht wichtig, wenn man gerade angefangen hat, sich mit
  dem Emacs zu beschftigen. Aber wenn Sie neugierig sind, sollten Sie
  es so betrachten: der Cursor ist die visuelle Darstellung des Points.
  Der Cursor ist immer auf einer bestimmten Buchstabenposition im
  aktuellen Puffer. Der Point, andererseits, ist im Raum zwischen den
  Buchstaben. Man knnte also sagen, dass wenn der Cursor sich auf dem
  Buchstaben h im Wort the befindet, der Point zwischen t und h
  ist.


  Wie viele moderne Editoren kann der Emacs auf einen Abschnitt des
  aktuellen Puffers begrenzt Aktionen ausfhren: Texteinzug,
  Rechtschreibprfung, neu Formatieren, Ausschneiden, Kopieren, Einfgen
  usw.. Mit der Tastatur oder Maus knnen Sie einen Textblock
  hervorheben (oder markieren) und dann Aktionen nur in diesem Block
  oder Textabschnitt ausfhren. Beim Emacs wird dieser Textblock
  Region genannt.



  2.2.3.  Fenster

  Okay, das Folgende wird fr alle, die irgendwann einmal mit einem GUI
  Interface gearbeitet haben, etwas verwirrend sein. Erinnern Sie sich
  einfach daran, dass der Emacs, lange bevor GUI Interfaces und Window
  Manager populr waren, entwickelt wurde.


  Beim Emacs ist ein Fenster ein Teil des Bildschirmes, auf dem ein
  Puffer dargestellt wird. Wenn der Emacs gerade erst gestartet wurde,
  hat man ein Fenster auf dem Bildschirm. Einige Emacs-Funktionen (wie
  die Hilfe und die Dokumentation) ffnen oft vorbergehend zustzliche
  Fenster in Ihrem Emacs-Bildschirm.


  Emacs-Fenster haben im GUI Sinn nichts mit X Window Fenstern gemein.
  Man kann zustzliche X Window Fenster ffnen, um Emacs-Puffer
  darzustellen, vielleicht um zwei Dateien nebeneinander zu vergleichen.
  Diese neuen X Window Fenster werden im Emacs-Jargon Rahmen (Frames)
  genannt; lesen Sie dazu weiter.



  2.2.4.  Rahmen

  Beim Emacs ist ein Rahmen ein separates X Window Fenster, in dem ein
  Emacs-Puffer dargestellt wird. Beide sind jedoch Teil der gleichen
  Emacs-Session. Das Verhalten hnelt etwas - aber nicht allzu sehr -
  dem, was passiert, wenn Sie Alt+N im Netscape Naviagator drcken.



  2.3.  Grundlagen der Tastaturbedienung

  Dieser Abschnitt behandelt die Grundlagen der Tastaturbedienung des
  Emacs. Wie bei jedem leistungsfhigen Editor ist alles, was man mit
  dem Emacs machen kann, nur wenige Tastenkombinationen entfernt.


  Wenn Sie ein vi-Anwender sind, brauchten Sie wahrscheinlich etwas, um
  sich an die Vorstellung zu gewhnen, k-, j-, l-, h-Tasten zu
  benutzten, um sich eine Zeile hher, tiefer, einen Buchstaben vor und
  zurck zu bewegen. Es wird in der Tat wahrscheinlich einige Stunden
  oder sogar Wochen gedauert haben, bevor Sie sich beim Benutzen der
  unterschiedlichen Tastenkombinationen, die es beim vi gibt, mhelos in
  einem Dokument bewegen konnten.


  Der Emacs ist da nicht anders. Man muss andere Tastenkombinationen und
  Befehle lernen. Genau wie beim vi muss man nur die Grundlagen
  beherrschen, um viel Arbeit erledigt zu bekommen. Dann, mit der Zeit,
  kann man langsam sein Wissen erweitern und schnellere Wege finden, wie
  man Dinge tut.




  2.3.1.  Befehlstasten (Meta, Esc, Steuerung und Alt)

  Wie Sie schnell lernen werden, macht der Emacs viel Gebrauch von
  Mehrfach-Tastenkombinationen. Da er kein Modal-Editor  wie der vi ist,
  muss man nicht darber nachdenken, ob man sich im Befehlsmodus oder
  Editiermodus befindet, bevor man den Cursor bewegen oder einen
  Befehl ausfhren kann. Anstatt dessen drckt man die richtige
  Tastenkombination und der Emacs tut gewhnlich, was er soll.


  Die Tasten, die man im Emacs am meisten benutzt, werden in der
  Dokumentation normalerweise mit C (fr Control, Ctrl - auf einer
  deutschen Tastatur ist C durch die Steuerungs-Taste, Strg, zu
  ersetzen) und M fr (Meta) abgekrzt. Whrend die meisten modernen
  PC-Tastaturen eine oder mehrere Tasten fr Ctrl haben, haben wenige
  eine fr Meta. Sie mssen in Gedanken entweder Esc oder Alt
  durch die Meta-Taste ersetzen. Bei den meisten
  Standardkonfigurationen machen Esc und Alt im Wesentlichen das
  Selbe.


  Wenn Sie also in irgendeiner Dokumentation, die sich auf den Emacs
  bezieht, einen Verweis auf C-x fy sehen, bedeutet dies: drcken Sie
  C-x und dann f (Strg-x f dann natrlich auf einer deutschen
  Tastatur). Und wenn Sie einen Hinweis auf etwas wie M-x shell sehen,
  bedeutet dies: drcken Sie Alt-x und tippen Sie das Wort shell.


  Ein sehr ntzlicher Befehl fr Anfnger ist M-x apropos oder C-h
  a. Apropos durchsucht die Emacs Online-Dokumentation nach allen
  Funktionen und regulren Ausdrcken, die Sie eingeben. Dies ist eine
  fantastische Mglichkeit, alle Kommandos zu entdecken, die mit Frames
  zu tun haben. Geben Sie einfach C-h a und dann frame ein.




  2.3.2.  Sich in einem Puffer bewegen

  Da sie nun wissen, was alle diese tollen Abkrzungen bedeuten, folgt
  jetzt eine Liste mit den gebruchlichsten Tastenkombinationen, um sich
  innerhalb eines Puffers zu bewegen:








  Tastenkombination  Aktion
  ---------------------------------------------
   C-p         eine Zeile hoch
   C-n         eine Zeile runter
   C-f         einen Buchstaben vorwrts
   C-b         einen Buchstaben zurck
   C-a         Zeilenanfang
   C-e         Zeilenende
   C-v         eine Seite runter
   M-v         eine Seite hoch
   M-f         ein Wort weiter
   M-b         ein Wort zurck
   M-<         Beginn des Puffers
   M->         Ende des Puffers
   C-g         aktuellen Arbeitsvorgang beenden
  ---------------------------------------------






  Und Sie haben es vielleicht erwartet, die Cursor-Tasten (oder
  Pfeiltasten) funktionieren genau, wie Sie erwartet haben. Ihre
  Backspace-Taste mglicherweise nicht. Das ist eine andere Geschichte.
  :-(




  2.3.3.  Wesentliche Befehle

  Okay, da Sie nun wissen, wie man sich in einem Puffer bewegt, wie ist
  es mit dem ffnen und Speichern von Dateien oder der Suchefunktion?
  Hier kommen einige grundlegende Befehle.


  Bevor wir uns direkt auf diese Befehle strzen, muss ich kurz
  darstellen, wie das funktioniert.


  Alle Befehlstasten im Emacs (die, die M-x irgendwas oder C
  irgendwas sind), sind nur Krzel fr Funktionen, die Teil des Emacs
  sind. Man kann alle diese Funktionen durch Eintippen von M-x
  Funktionsnamen und Drcken der Return-Taste aufrufen. Man kann auch
  die Tastaturkrzel fr diese Funktion benutzen (wenn sie eine hat).


  Zum Beispiel heit die Emacs-Funktion, die einen Puffer auf Festplatte
  speichert, save-buffer. Sie ist standardmig auch mit C-x C-s
  belegt. Man kann also entweder das Krzel benutzen, um den aktuellen
  Puffer zu speichern oder man knnte M-x save-buffer eintippen, um
  das gleiche Resultat zu erzielen.


  Die gebruchlichsten Funktionen haben standardmig zustzliche
  Tastenkrzel. Einige von ihnen sind unten aufgelistet.









  Tastenkrzel  Funktion           Beschreibung
  ------------------------------------------------------------------------------------
  C-x C-s     save-buffer        Speichere den aktuellen Puffer auf Festplatte
  C-x u       undo               Mache den letzten Arbeitsvorgang rckgngig
  C-x C-f     find-file          ffne eine Datei von Festplatte
  C-s         isearch-forward    Inkrementelle Suche vorwrts
  C-r         isearch-backward   Inkrementelle Suche rckwrts
              replace-string     Suchen & Ersetzen einer Zeichenkette
              replace-regexp     Suchen & Ersetzen bei regulren Ausdrcken
  C-h t       help-with-tutorial Benutze das interaktive Emacs-Tutorial
  C-h f       describe-function  Zeige den Hilfetext fr eine Funktion an
  C-h v       describe-variable  Zeige den Hilfetext fr eine Variable an
  C-h x       describe-key       Zeige an, was eine Tastenfolge macht
  C-h a       apropos            Zeige den Hilfetext fr einen (regulren) Ausdruck an
  C-h F       view-emacs-FAQ     Zeige die Emacs-FAQ an
  C-h i       info               Lese die Emacs Dokumentation
  C-x r m     bookmark-set       Setze ein Lesezeichen. Ntzlich bei Suchen
  C-x r b     bookmark-jump      Springe zu einem Lesezeichen
  ------------------------------------------------------------------------------------





  Beim Ausprobieren vieler dieser Funktionen werden Sie feststellen,
  dass Sie viele zu einer Eingabe auffordern. Das wird immer im Mini-
  Puffer erfolgen.  Dies hnelt dem Gebrauch der :-Kommandos im vi
  oder den meisten Kommandos, die Sie in Ihrer bevorzugten Unix Shell
  benutzen wrden.


  Der Emacs verfgt buchstblich ber hunderte von eingebauten
  Funktionen. Die obige Liste ist ein kleines Beispiel all derer, die
  ich regelmig benutze. Fr eine vollstndigere Auflistung der
  verfgbaren Funktionen und eine ausfhrlichere Dokumentation zu denen,
  die ich oben erwhne, sehen Sie sich die Online-Hilfe an.



  2.3.4.  Tab-Ergnzung

  Wie viele populre Unix Shells (bash, csh, tcsh usw.) kann der Emacs
  Befehle ber die Tab-Taste ergnzen.  Es ist sogar so, dass die
  Befehlsergnzung in der bash, der im Emacs nachgebildet wurde. Wenn
  Sie dieses Leistungsmerkmal in der bash benutzen, werden Sie sich also
  ganz zu Hause fhlen.

  Versuchen Sie zum Beispiel M-x search und drcken dann Tab.  Der
  Emacs wird einen Bindestrich anfgen, um anzuzeigen, dass es diverse
  Vervollstndigungsmglichkeiten gibt, die aber alle einen Bindestrich
  als nchsten Buchstaben haben. Wenn die Tab-Taste ein weiteres Mal
  bettigt wird, wird Emacs Ihnen eine Liste aller Mglichkeiten
  anzeigen, aus denen Sie auswhlen knnen. Sie werden feststellen, dass
  er dies in einem neuen Fenster tut.  Er unterteilt Ihr Display
  zeitweise in zwei Fenster: eines, das den Puffer enthlt, den Sie
  gerade editieren und ein weiteres, das die Liste aller mglichen
  Ergnzungen fr search enthlt.  Sie knnen C-g tippen, um den
  Selektionsprozess zu verlassen und das neue Fenster zu schlieen.




  2.4.  Tutorial, Hilfe & Info

  Der Emacs hat ein Online-Tutorial, das Sie durch die grundlegenden
  Editiereigenschaften und -funktionen fhrt, die jeder kennen sollte.
  Es erklrt auch, wie die anderen Hilfefunktionen im Emacs genutzt
  werden knnen.


  Ich empfehle dringend, dass Sie etwas Zeit darauf verwenden, das
  Tutorial durchzugehen, wenn Sie planen, sich ernsthaft mit dem Emacs
  zu beschftigen. Wie in der Tabelle oben dargestellt wurde, knnen Sie
  das Tutorial durch C-h t aufrufen. Das Tutorial ist selbsterklrend
  und zielt auf Leute ab, die gerade mit dem Emacs anfangen.


  Wenn Sie den Emacs im X laufen haben, werden Sie sehen, dass das Menue
  ganz rechts auf der Menuezeile Help heit. Wenn Sie das Hilfemenue
  erforschen, beachten Sie, dass einige Unterpunkte Tastenkrzel haben
  und diese genau in dem Menue aufgelistet werden.

  Und um schlielich das mit dem Emacs verfgbare Volumen an
  Dokumentation einsehen zu knnen, sollten Sie M-x info oder C-h i
  ausprobieren; dadurch wird Info aufgerufen, der Emacs
  Dokumentationsbrowser.



  3.  Emacs-Modi

  Emacs-Modi sind unterschiedliche Verhaltensformen und Charakteristika,
  die fr unterschiedliche Zwecke an- und ausgeschaltet (oder natrlich
  auch angepasst) werden knnen. Es sind Modi, die einen Editor (Emacs)
  gleichermaen gut verwendbar machen, sowohl Dokumentationen zu
  schreiben, in einer Vielzahl von Sprachen (C, C++, Perl, Python, Java
  und viele mehr) zu programmieren, eine Homepage zu erstellen, E-Mails
  zu verschicken, Usenet News zu lesen, ber die eigenen Termine auf dem
  Laufenden zu bleiben und sogar Spiele zu spielen.


  Emacs-Modi sind einfach Lisp-Code-Bibliotheken, die den Emacs auf
  irgendeine Art und Weise erweitern, verndern oder optimieren.



  3.1.  Haupt- vs. Untermodi

  Es gibt im Wesentlichen zwei Moditypen: Haupt- und Untermodi (Major
  und Minor Modes). Der Unterschied ist nicht ganz einfach zu begreifen,
  wenn man noch nicht hin und wieder mit einigen von ihnen gearbeitet
  hat, aber versuchen wir es mal.


  Zu einer bestimmten Zeit kann nur ein Hauptmodus aktiv sein. Es knnen
  aber viele Untermodi zu einer bestimmten Zeit aktiv sein. Hauptmodi
  tendieren dazu, sprach- oder funktionsspezifisch zu sein, whrend es
  sich bei Untermodi um kleinere und weniger spezifische Einrichtungen
  handelt, die funktionsbergreifend sind.

  Klingt ein bisschen abstrakt, versuchen wir also ein Beispiel. Es gibt
  einen Modus, den ich ziemlich oft benutze, um ganz normale Textdateien
  zu schreiben. Er heit text-mode. Dieser Modus wurde zum Schreiben
  von freiem, unformatiertem Text entwickelt, wie einer README Datei. Er
  kann Wrter und Abstze identifizieren und stellt im Allgemeinen
  sicher, dass das passiert, was ich erwarte, wenn ich die normalen
  Navigationstasten verwende.


  Wenn ich einen Text als Lesefutter fr den menschlichen Konsum
  schreibe, will ich natrlich, dass er gut aussieht. Er sollte einen
  passenden Zeilenumbruch haben - nach einer angemessenen Anzahl von
  Zeichen und so weiter. Um Zeilenumbrche zu ermglichen, rufe ich
  einfach den Untermodus auto-fill auf. Dieser Untermodus versucht,
  das Richtige zu tun, whrend ich vor mich hintippe und das Ende der
  Zeile erreiche. Die Tatsache, dass es ein Untermodus ist, bedeutet,
  dass er mit einigen unterschiedlichen Hauptmodi arbeiten kann. Meine
  Vorstellung davon, was das Richtige ist, wenn ich am Zeilenende bin,
  ist eine andere, wenn ich in einem text-mode bin oder zum Beispiel
  im java-mode.  Ich will nicht, dass mein Java-Code umgebrochen wird,
  als wre er ein englischer Text. Aber ich will meine Kommentarblcke
  in meinem Java-Code umgebrochen haben. Der auto-fill Modus ist smart
  genug, das herauszukriegen


  Die Entwickler verschiedener Emacs-Modi haben gute Arbeit geleistet,
  in dem sie sicher gestellt haben, dass Dinge, die als Untermodi
  arbeiten sollten, auch Untermodi sind.


  Wenn Sie sich noch einmal die ASCII-Skizze eines Emacs-Bildschirmes
  ansehen, werden Sie feststellen, dass die Moduszeile den/die
  Modus/Modi anzeigt in dem/denen der Emacs sich befindet. In diesem
  Fall hie der Modus Lisp Interaction, der der Default-Modus ist. Er
  ist wirklich nur sinnvoll, wenn man Lisp-Code schreiben will. Aber da
  fast alles vom Emacs in Lisp geschrieben ist, warum nicht?



  3.2.  Programmier-Modi

  Zuallererst: der Emacs wurde von einem Programmierer fr Programmierer
  entwickelt. Es gibt hochwertige Modi fr fast jede populre
  Programmiersprache, die man sich denken kann (und sogar einige nicht
  ganz so populre). Ich beschreibe nur wenige von ihnen kurz hier.


  Die meisten Programmier-Modi teilen einige gemeinsame Charakteristika.
  Normalerweise machen sie das Folgende ganz oder teilweise:



    stellen eine farbliche Hervorhebung der Syntax fr die Sprache zur
     Verfgung,

    stellen automatischen Texteinzug und Code-Formatierung fr die
     Sprache zur Verfgung,

    verfgen ber eine kontext- (sprach-)sensitive Hilfefunktion,

    verfgen ber ein automatisches Interface mit Ihrem Debugger,

    ergnzen die Menuezeile durch sprachspezifische Menues.


  Zustzlich gibt es einige nicht-sprachspezifische Modi, die Funktionen
  untersttzen, die beim Programmieren in vielen Sprachen hufig
  vorkommen:  Dinge wie eine Schnittstelle zu Ihrer
  Versionskontrollsoftware, automatisches Anfgen von Kommentaren an
  Ihren Code, Erstellen von Makefiles, Aktualisieren von Change Logs und
  so weiter.


  Wenn man all diese Modi zusammen nimmt und die Reife und Stabilitt
  des Emacs-Codes bercksichtigt, fllt der Vergleich mit kommerziellen
  Integrated Development Environments (IDEs) fr Sprachen wie C++ und
  Java doch ziemlich gut aus. Und er ist natrlich frei verfgbar.

  3.2.1.  C/C++/Java

  Da die Syntax von C, C++ und Java ziemlich hnlich ist, gibt es einen
  Emacs-Modus fr alle drei Sprachen (aber auch fr Objective-C und
  IDL). Es ist ein sehr ausgereiftes und vollstndiges Paket und in der
  Emacs-Distribution enthalten. Dieser Modus wird entweder cc-mode
  oder CC Mode genannt.

  Fr weitere Details oder den Download einer neueren Version, besuchen
  Sie

       http://www.python.org/emacs/



  3.2.2.  Perl

  Es gibt eigentlich zwei Modi, um Perl-Code im Emacs zu editieren. Der
  erste heit perl-mode (wie wohl zu erwarten war) und der zweite
  cperl-mode. Ich kenne mich in dieser Geschichte nicht gut aus und
  wei nicht, warum es zwei Modi gibt (steht nicht in der Doku), aber es
  scheint so, als ob perl-mode der Original-Modus war, um Perl-Code im
  Emacs zu editieren. Er scheint ber weniger Merkmale als cperl-mode
  zu verfgen und es mangelt ihm an der Fhigkeit, einige von Perls
  ausgefalleneren Sprachkonstrukten zu erkennen.


  Ich persnlich benutze und empfehle cperl-mode, der anscheinend
  ziemlich aktiv gepflegt wird und genau all die Charakteristika hat,
  die ich mir berhaupt nur wnschen kann.  Die neueste Version findet
  man hier:

       ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs



  Aber nehmen Sie mich nicht beim Wort. Probieren Sie beide aus und
  nehmen Sie den, der am meisten Ihren Bedrfnissen entspricht.


  3.2.3.  Python

  Fr Python (eine weitere sehr populre Skript-Sprache) gibt es auch
  einen Emacs-Modus. So weit ich wei, ist er nicht in der GNU Emacs,
  sondern in der XEmacs-Distribution enthalten. Er funktioniert aber
  recht gut in beiden Editoren.



  Sie knnen den python-mode von der offiziellen Python-Website
  beziehen:

       http://www.python.org/emacs/python-mode/



  3.2.4.  Weitere

  Es gibt viele, viele andere Editier-Modi zur Untersttzung von
  Programmierern. Diese Modi helfen bei Dingen wie:




    Shell Skripte (bash, sh, ksh, csh usw)

    awk, sed, tcl usw.

    Makefiles

    Change Logs

    Dokumentation

    Debugging


  und vielen weiteren Dingen. Wenn Sie mehr Informationen dazu mchten,
  wie man an Modi und Add-Ins kommt, gehen Sie zum letzten Abschnitt
  dieses Dokuments.


  3.3.  Arbeiten als Autor

  Stellen Sie sich vor, Emacs-Modi sind nicht nur auf die beschrnkt,
  die Code schreiben. Leute die Dokumentationen jeglicher Art schreiben,
  knnen auch von einer breiten Auswahl an Emacs-Modi profitieren.


  3.3.1.  Rechtschreibprfung (ispell Modus)

  Autoren vieler Arten von Dokumenten brauchen immer wieder mal eine
  Hilfe bei der  Rechtschreibprfung. Wenn sie GNU ispell installiert
  haben, knnen Sie M-x ispell eintippen und den aktuellen Puffer auf
  seine Rechtschreibung hin berprfen lassen. Wenn ispell Wrter
  findet, die er nicht kennt, bekommt man eine Liste mglicher Varianten
  und kann sich eine oder keine aussuchen.  Die Funktion entspricht in
  etwa der Rechtschreibkorrektur vieler anderer nicht kostenloser
  Softwarepakete.



  3.3.2.  HTML (html-helper-mode)

  Wenn Sie immer wieder mal oder sogar oft HTML-Dateien schreiben,
  mchten Sie vielleicht den html-helper-mode ausprobieren. Man bekommt
  ihn unter

       http://www.santafe.edu/~nelson/tools/

  wie auch die Dokumentation und was damit zu tun hat.


  Wie der Namen schon andeutet, kann der html-helper-mode viel fr die
  Leute tun, die noch HTML mit der Hand schreiben, auf die altmodische
  Art.



  3.3.3.  TeX (tex-mode)

  Wenn man Dokumente in TeX schreibt, ist es oft hilfreich, sich den
  Emacs zu besorgen, um etwas Farbe hinzuzufgen, um die Backslashes,
  Klammern und andere Buchstaben hervorzuheben. Der tex-mode macht das
  fr Sie.


  Obwohl ich nicht mehr viel direkt in TeX schreibe, hat er sich, als
  ich es noch tat, als ziemlich hilfreich dabei erwiesen, meinen TeX-
  Code etwas lesbarer zu machen.


  3.3.4.  SGML (sgml-mode)

  Das Dokument, das sie gerade lesen, wurde in SGML geschrieben und in
  das Format konvertiert, in dem sie es lesen. Der sgml-mode hat alle
  Grundlagen fr SGML Dokumente: Validierung, Hervorhebung, Forward-Tag,
  Backward-Tag, und vieles mehr. Er ist ein Standardbestandteil des
  Emacs.




  3.4.  Andere Modi

  Natrlich gibt es noch viele andere praktische Modi, die das Leben
  einfacher machen. Hier folgt nur eine kleine Auswahl der populren:



  3.4.1.  Versionskontrolle (vc Modus)

  Der vc Modus hat Schnittstellen zu den meisten der populren
  Versionskontrollsysteme (RCS, SCCS, CVS). Dies macht es sehr leicht,
  Dateien ein- und auszuchecken, Releases zu managen etc. Er ist ein
  Standardbestandteil des Emacs und wird in der Emacs-Dokumentation
  beschrieben.



  3.4.2.  Shell Modus (shell)

  Warum zu einem anderen X Window Fenster oder einer virtuellen Konsole
  wechseln, nur um ein paar Shell-Kommandos auszufhren?  Machen Sie es
  vom Emacs aus und ersparen Sie sich die Mhe :-).


  M-x shell ruft eine Shell innerhalb eines Emacs-Puffers auf. Mit
  diesem Puffer kann man die meisten Sachen machen, die man auch mit
  einem normalen Shell tun knnte (auer dem Betrieb von Programmen, die
  den ganzen Bildschirm einnehmen, wie vi oder pine), weil der Emacs
  hinter den Kulissen mit der wirkichen Shell kommuniziert.


  Auch dies ist ein Standardbestandteil des Emacs, so dass man ihn in
  der Emacs-Dokumentation dokumentiert findet.


  3.4.3.  Telnet und FTP (telnet und ftp Modi)

  Warum zu einem anderen X Window Fenster oder einer virtuellen Konsole
  wechseln, nur um Telnet und FTP auszufhren?  Machen Sie es vom Emacs
  aus und ersparen Sie sich die Mhe.(Erkennen Sie schon das Muster ;-)?


  Genau wie eine Shell im Emacs zu betreiben, kann man von ihm aus mit
  Telnet und FTP arbeiten. Versuchen Sie M-x telnet oder M-x ftp, um
  es selbst auszuprobieren. Lesen Sie die Dokumentation wegen all der
  blutrnstigen Details.



  3.4.4.  Handbuch (man Modus)

  Warum zu einem anderen X Window Fenster oder einer virtuellen Konsole
  wechseln, nur um eine Manual Page zu lesen? Machen Sie es vom Emacs
  aus und ersparen Sie sich die Mhe. Ich verspreche, ich hre jetzt
  auf.
  Genau wie beim Betreiben der Shell innerhalb des Emacs, kann man vom
  Emacs aus Manual Pages lesen. Versuchen Sie M-x man  um es selbst
  auszuprobieren. Lesen Sie die Dokumentation, wenn Sie weitere
  Informationen mchten.



  3.4.5.  Ange-FTP

  Um die ange-ftp Dokumentation zu zitieren:



       Dieses Paket will den Zugang zu Dateien und Verzeichnissen
       fr die Nutzung von FTP vom GNU Emacs aus so einfach und
       transparent wie mglich machen.  Ein Teil der gebruchlichen
       Dateiarbeitsvorgnge ist fr die Interaktion mit FTP erweit
       ert worden.



  Dies bedeutet, dass man Dateien auf weit entfernten Rechnern behandeln
  kann, als wren sie lokal. Will man also eine Datei auf einem anderen
  Computer editieren, muss man nur den Emacs anweisen, sie zu ffnen (in
  dem man eine etwas andere Pfadsyntax benutzt) und er kmmert sich um
  alle Details beim Login und dem Holen der Datei. Dann, wenn die Datei
  mit C-x C-s gespeichert wird, nimmt ange-ftp die Speicherung vor und
  schreibt die Datei zurck auf den weit entfernten Rechner.


  Die etwas andere Pfadsyntax geht so: Eine myfile benannte Datei in
  einem user Verzeichnis auf einem my.host.org benannten Rechner kann
  durch C-x f geffnet werden:



       /user@my.host.org:~user/myfile





  Auch dies ist ein Standardbestandteil der Emacs-Distribution, sodass
  man es in der Emacs Dokumentation dokumentiert findet.



  Meinen Dank an Etienne Grossman (etienne@anonimo.isr.ist.utl.pt) fr
  das obige Beispiel.


  4.  Den Emacs anpassen

  Praktisch die gesamte Emacs-Anpassung geschieht ber den Lisp-Code.
  Man kann Variablen verndern, die Einfluss darauf nehmen, wie der
  Emacs arbeitet oder man kann dem Emacs neue Funktionen hinzufgen oder
  bereits existierende Funktionen aufheben und durch eigene ersetzen.



  4.1.  Temporre Anpassung

  Das Experimentieren mit der Emacs-Anpassung mchten Sie wahrscheinlich
  so gestalten, dass sie temporr bleibt. Wenn man was ganz schrecklich
  Falsches macht, braucht man nur C-x C-c einzugeben, um den Emacs zu
  schlieen und wieder zu starten. Sobald Sie herausgefunden haben,
  welche der Vernderungen Sie gerne fr immer htten, knnen Sie sie
  zur eigenen .emacs-Datei hinzufgen, so dass sie bei jedem Start von
  Emacs geladen werden. Dies wird im nchsten Abschnitt besprochen.



  4.1.1.  Variablen-Zuweisung

  Die einfachsten Anpassungen erreicht man durch das ndern des Wertes
  einer Variablen im Emacs.  Der Lisp-Code, um dies zu tun, sieht so
  aus:




       (setq variable-name new-value)









  Wobei variable-name der Name der Variablen ist und new-value der
  Wert, den Sie der Variablen  bergeben mchten. Im Lisp-Jargon bindet
  man eine Variable an einen Wert. Die setq Funktion in Lisp
  entspricht den Bestimmungsoperatoren (meist =) in anderen
  Programmiersprachen.


  Beachten Sie: Ich gehe hier - um der Einfachheit willen -  ber viele
  Details hinweg. Es kann auch sein, dass man mich oder andere beim
  Benutzen der Lisp-Funktionen set und sogar setq-default sieht. Wer
  wirklich neugierig ist, sollte sie einfach in einer Emacs Lisp
  Referenz nachsehen.


  Betrachten wir eine Zeile aus meiner .emacs-Datei:



       (setq-default transient-mark-mode t)





  Die Variable transient-mark-mode steuert, ob eine Region
  hervorgehoben wird, wenn ich sie markiere oder nicht. Bei vielen GUI
  Applikationen wird sie invertiert oder einer anderen Farbe
  hervorgehoben, wenn man klickt und die Maus zieht, um einen
  Textbereich auszuwhlen. Der Emacs macht das gleiche, wenn die
  Variable des transient-mark-mode auf einen nicht-nil Wert gesetzt
  wurde.



  Was fr einen Wert?


  Okay. Kurzer Exkurs. Die meisten Programmiersprachen unterscheiden
  zwischen wahr/falsch Werten. In C/C++ wird ein Wert als wahr
  betrachtet, wenn er ein Wert ungleich Null ist. In Perl ist ein non-
  null oder non-zero Wert wahr. In Lisp, existiert die gleiche Idee,
  aber die Namen und Symbole sind andere.


  Wahr wird gewhnlich als t geschrieben und falsch (oder Null) als
  nil. Wie in anderen Sprachen, wird jedoch jeder nicht-nil Wert als
  wahr betrachtet.


  Fr die vollstndige Beschreibung dessen, was transient-mark-mode
  tut, kann man die Online-Hilfe benutzen. Tippen Sie C-h v oder M-x
  describe-variable und dann transient-mark-mode. Wenn man faul ist
  wie ich, kann man sich durch Gebrauch der Tab-Taste die
  Variablennamen-Ergnzung zu Nutze machen. Tippen Sie einen Teil des
  Variablennamens ein und schlagen Sie die Tab-Taste an. Wenn genug
  eingetippt wurde, sodass der Emacs es eindeutig identifizieren kann,
  wird der vollstndige Name fr Sie ergnzt.




  Eine weitere Variable, die oft gesetzt wird, ist fill-column. Sie
  sagt dem Emacs, wie weit der Bildschirm beim Zeilenumbruch (und der
  auto-fill-mode respektiert diesen Wert) sein sollte. Um mal einen
  absurden Wert einzugeben, knnte man eintippen:




       (setq fill-column 20)





  Aber dann passiert eigentlich nichts. Man muss den Emacs anweisen, den
  Ausdruck, den man eingetippt hat, auszuwerten. Um das zu tun, stellen
  Sie den Cursor an das Ende des Ausdrucks und tippen C-x C-e, dies
  ruft die Funktion eval-last-sexp auf (fr den Fall, dass es Sie
  interessiert). Wenn Sie das tun, werden sie feststellen, dass 20
  (oder welchen Wert auch immer sie genommen haben) im Mini-Puffer am
  unteren Rand des Bildschirms wiedergegeben wird. Dies ist nur der
  Rckgabewert des Ausdrucks, den Sie ausgewertet haben.



  Nur um zu zeigen, dass es funktioniert - tippen Sie einen oder zwei
  Stze ein. Wenn Sie den auto-fill-mode eingeschaltet haben (haben
  sie wahrscheinlich nicht), werden Sie den Zeilenumbruch nach dem 20.
  Zeichen erleben. Oder, wenn Sie irgend etwas eingegeben haben, tippen
  Sie M-q, es ruft die Funktion fill-paragraph auf. Sie wird dann
  den Zeilenumbruch ausfhren.



  4.1.2.  Zuordnung von Dateinamen

  Sie knnen den Emacs so konfigurieren, dass er automatisch etwas tut,
  wenn Sie eine Datei eines bestimmten Typs ffnen (so wie einige GUIs
  automatisch eine bestimmte Applikation starten, wenn man auf das Icon
  klickt). Zum Beispiel, mchte ich vielleicht, dass der Emacs jedes Mal
  automatisch zum Textmodus wechselt, wenn ich eine Datei mit einer
  .txt-Endung ffne. Nun, das passiert bereits :-). Sagen wir also dem
  Emacs, dass er in den Textmodus geht, wenn Sie eine Datei namens
  README ffnen.


       (setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist))





  Huh?


  Ohne tief in die Lisp-Programmierung einzutauchen, die Sie wirklich
  nicht kennen mssen (es wrde Ihnen aber nicht weh tun, sie zu
  lernen), lassen Sie mich einfach sagen, dass die Variable auto-mode-
  alist eine Liste von Paaren enthlt. Jedes Paar enthlt einen
  regulren Ausdruck und einen Emacs-Modus-Namen. Wenn eine Datei, die
  Sie ffnen, dem regulren Ausdruck entspricht (in diesem Fall, die
  Zeichenkette README), startet der Emacs den Modus, den Sie
  festgelegt haben.


  Die merkwrdige Syntax oben ergibt sich deshalb, weil man im Grunde
  genommen ein weiteres Paar an die Modusliste anfgt. Sie wrden nicht
  wollen, etwas der auto-mode-alist zuzuordnen, ohne sicher zu
  stellen, dass die Werte, die sie bereit hlt, nicht verloren gehen.


  Und wenn ich wollte, dass der Emacs jedes Mal automatisch zum (html-
  helper-mode wechselt, wenn ich eine Datei ffne, die auf .html oder
  .htm endet, wrde ich folgendes meiner .emacs Datei hinzufgen:




       (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))
       (setq auto-mode-alist (cons '("\\.htm$" . html-helper-mode) auto-mode-alist))





  Die Mglichkeiten sind wirklich unbegrenzt.


  4.2.  Der Umgang mit der .emacs-Datei

  Wenn man etwas Zeit mit dem Emacs verbracht hat und eine grundlegende
  Vorstellung davon hat, welche Vorteile eine Anpassung htte, mchte
  man wahrscheinlich ein paar Dinge dauerhaft anpassen (oder mindestens
  so lange, bis man seine Meinung gendert hat). Wenn Sie tglich mit
  dem Emacs arbeiten, werden Sie auch feststellen, das die .emacs-Datei
  mit der Zeit immer grer wird. Das ist eine gute Sache, denn es
  bedeutet, das Sie herausgefunden haben, wie Sie den Emacs dazu bringen
  so zu arbeiten, wie Sie wollen. Es ist eine Schande, dass viele
  Softwareprodukte Sie das nicht tun lassen.



  Fr den Fall, das Sie es noch nicht erraten haben, jedes Mal, wenn der
  Emacs gestartet wird, sucht er eine .emacs benannte Datei in Ihrem
  Homeverzeichnis. Sie sollten Lisp-Code, den Sie automatisch laufen
  lassen mchten, in Ihre .emacs-Datei schreiben und das schliet die
  Art von Anpassung  ein, die hier gerade behandelt wurde.



  Ein weiteres Beispiel aus meiner .emacs-Datei:

       (setq inhibit-startup-message t)






  Die Variable inhibit-startup-message steuert, ob der Emacs die
  Willkommensmeldung anzeigt, wenn er startet. Nach einer Weile war ich
  es leid, sie zu betrachten (da ich wute, wie ich Hilfe finden konnte
  und was wei ich). Deshalb suchte ich nach einem Weg, sie
  auszuschalten.


  Zur bung versuchen Sie eine eigene .emacs-Datei zu erstellen und
  fgen Sie diese Zeile an. Dann schlieen Sie den Emacs und starten ihn
  wieder. Die Willkommensmeldung sollte nicht mehr erscheinen.


  Oft, wenn Sie etwas ber einen Emacs-Modus (oder ein Paket) lesen,
  wird in der Dokumentation vorgeschlagen, einen Code an die eigene
  .emacs-Datei anzuhngen, um den Modus oder das Paket auf eine
  bestimmte Art und Weise arbeiten zu lassen.


  Die GNU Emacs FAQ (C-h F) enthlt einige Themen, die sich auf
  .emacs-Dateien beziehen und die Sie mglicherweise ntzlich finden.




  4.3.  Das customize-Paket

  Als der Emacs populrer wurde und sich kontinuierlich entwickelt hat,
  hat vielleicht irgendwer einmal gesagt: es mu fr Einsteiger einen
  besseren Weg geben, um ihren Emacs anzupassen. Und customize wurde
  geboren.


  Mit customize gibt es eine intuitivere Mglichkeit, Teile des Emacs
  anzupassen. Um es auszuprobieren, sehen Sie sich entweder das
  Customize-Untermenue in Ihrem Help Menue an, oder tippen M-x
  customize.


  Customize unterteilt die Anpassung in sinnvolle Gruppen wie
  Editieren, Programmieren, Dateien und so weiter. Einige Gruppen
  enthalten Untergruppen.



  Wenn Sie Vernderungen vornehmen, in dem Sie customize benutzen,
  speichert der Emacs diese Vernderungen in Ihrer .emacs-Datei. Das ist
  ziemlich praktisch, weil Sie leicht die Vernderungen einsehen und
  verndern knnen, die er fr Sie gemacht hat.


  Ich benutze das Customize Interface nicht, deshalb kann ich nicht viel
  mehr darber sagen.



  4.4.  X Window

  Wie jede gut erzogene X Applikation respektiert der Emacs Ihre X
  Ressourcen. Das bedeutet, Sie knnen die ursprnglichen Farben,
  Geometrie und andere X-spezifischen Dinge steuern, genau wie bei
  xterm, nxterm oder was auch immer.


  Hier ist der relevante Teil meiner ~/.Xdefaults Datei:




       emacs*Background: DarkSlateGray
       emacs*Foreground: Wheat
       emacs*pointerColor: Orchid
       emacs*cursorColor: Orchid
       emacs*bitmapIcon: on
       emacs*font: fixed
       emacs.geometry: 80x25





  Lesen Sie die Manual Page zu X, um mehr Einzelheiten ber X Ressourcen
  zu erfahren.




  Chris Gray (cgray4@po-box.mcgill.ca) stellt auch fest:


       Debian benutzt anscheinend die ~/.Xdefaults nicht. Wie dem
       auch sei, Debian-Leute knnen das, was sie gerade eingegeben
       haben, in /etc/X11/Xresources/emacs schreiben und bekommen
       dann die gleichen schnen Farben, die sie bekommen htten,
       wenn Sie RedHat benutzen wrden.



  5.  Populre Pakete

  Zustzlich zu den vielen unterschiedlichen Modi fr den Emacs gibt es
  auch viele Zusatzpakete. Ich nenne sie Pakete, weil sie mehr als nur
  neue Modi sind. Sie beinhalten oft zustzliche Utilities oder sind so
  gro, dass sie Modi zu nennen, ihnen einfach nicht gerecht wird. In
  anderen Fllen handelt es sich um Software, die andere Emacs-Modi und
  Pakete erweitert oder integriert. Der Unterschied ist nicht ganz klar,
  aber das ist okay.



  5.1.  VM (Mail)

  Um die VM FAQ zu zitieren:


       VM (View Mail) ist ein Emacs Untersystem, das es ermglicht,
       im Emacs Mails zu lesen und zu verschicken. Mit den beste
       henden Befehlen kann man die normalen Dinge tun, die man von
       einem Mail User Agent erwartet, wie etwa Antworten
       schreiben, Mails in Ordnern speichern, Mails lschen und so
       weiter. Es gibt andere komplexere Befehle, die Aufgaben
       ausfhren, wie das Erstellen von Digests, Mail Forwarding
       und der Darstellung von Mails nach verschiedenen Kriterien.



  Als ich mit dem Emacs begann, habe ich mit VM eine Weile
  herumexperimentiert. Ich hielt es fr einen tollen Ersatz fr Pine,
  Elm oder die meisten anderen Mail-Programme. Aber ich wollte nicht
  unterschiedliche Programme benutzen, um Mail und News zu lesen. VM
  wird stndig weiterentwickelt und gut gepflegt.



  Man bekommt es hier:

       http://www.wonderworks.com/vm/



  5.2.  Gnus (Mail und News)

  Um das GNUS-Handbuch zu zitieren:


       Gnus ist ein Mail-Lese-Labor. Es lsst Sie praktisch alles
       ansehen, als wre es eine Newsgroup. Sie knnen damit Mail
       lesen, Sie knnen Verzeichnisse durchsehen, Sie knnen damit
       FTP betreiben - sie knnen sogar News damit lesen!



       Gnus versucht Menschen, die News lesen auf die gleiche Art
       und Weise mit Vollmachten auszustatten, wie es der Emacs mit
       Leuten versucht, die Text editieren. Gnus setzt dem Anwen
       der, in dem was er tun darf, keine Grenzen. Anwender werden
       ermutigt, Gnus zu erweitern, damit es so funktioniert, wie
       sie es mchten. Ein Programm sollte nicht Menschen kontrol
       lieren; die Menschen sollten tun knnen, was sie mchten,
       wenn sie das Programm benutzen (oder missbrauchen).



  Ich benutze z.Zt. GNUS fr meine Mail und News (wie oben angedeutet).
  GNUS wird auch aktiv weiterentwickelt und gut gepflegt.



  Man bekommt es hier:

       http://www.gnus.org/



  5.3.  BBDB (eine Art Rolodex)

  BBDB ist eine heimtckische Big Brother Datenbank, ein Rolodex-artiges
  Programm fr den Emacs, das mit den meisten der populren Emacs-Mail-
  Pakete (VM und GNUS eingeschlossen) arbeitet.


  Man bekommt es hier:

       http://bbdb.sourceforge.net



  5.4.  AucTeX (ein weiterer TeX Modus)

  AucTeX ist ein weiterer Modus zum Editieren von TeX-Dateien.


  Um die AucTeX Website zu zitieren:


       AucTeX ist ein erweiterbares Paket, das das Schreiben und
       Formatieren von TeX-Dateien fr die meisten GNU Emacs Vari
       anten untersttzt. Viele unterschiedliche Makro-Pakete wer
       den untersttzt, einschlielich AMSTeX, LaTeX und TeXinfo.



  Man bekommt es hier:

       http://sunsite.auc.dk/auctex/



  6.  Andere Quellen

  Dieser Abschnitt behandelt Bcher, Websites, Newsgruppen,
  Mailinglisten und andere Orte, an denen man mehr Informationen ber
  den Emacs findet.


  6.1.  Bcher

  Es gibt einige wenige wirklich gute Bcher zum Erlernen des Emacs.
  Zustzlich zu diesen werden Sie feststellen, dass viele Linux- und
  Unix-Bcher auch ein oder zwei Kapitel ber den Emacs (und vi)
  beinhalten.


  6.1.1.  Learning GNU Emacs

  Autoren: Debra Cameron, Bill Rosenblatt, Eric S. Raymond


  Verlag: O'Reilly & Associates

       http://www.ora.com/



  Kommentar: Dieses Buch ist wahrscheinlich das beste, wenn man anfngt.
  Nachdem Sie die HOWTO gelesen und die FAQ durchgesehen haben, dient
  dieses Buch als ein umfassendes und sehr leicht zugngliches Tutorial.


  6.1.2.  Writing GNU Emacs Extensions

  Autor: Bob Glickstein


  Verlag: O'Reilly & Associates

       http://www.ora.com/



  Kommentar: Wenn Sie mit dem Emacs eine Zeit gearbeitet und beschlossen
  haben, dass Sie gern Ihren eigenen Modus schreiben oder vielleicht
  einige kompliziertere Anpassungen ausprobieren wrden, ist dies Ihr
  Buch. Es versucht zwar nicht Lisp zu lehren, doch enthlt es eine
  kurze Einfhrung in die Sprache.



  6.1.3.  Programming in Emacs Lisp: An Introduction

  Autor: Robert J. Chassell


  Aus der README-Datei:


       Dies ist eine grundlegende Einfhrung in die Programmierung
       in Emacs Lisp fr Menschen, die keine Programmierer sind und
       nicht unbedingt am Programmieren Interesse haben, aber ihre
       Computerumgebung anpassen oder erweitern wollen.



  Man bekommt das vollstndige Handbuch ber Anonymous-FTP vom GNU FTP
  Server:

       ftp://prep.ai.mit.edu/gnu/emacs/



  Kommentar:  Dies ist ein gutes Einfhrungshandbuch fr Emacs Lisp -
  selbst wenn man kein Hochleistungsprogrammierer ist.


  6.1.4.  The GNU Emacs Lisp Reference Manual

  Autor: Richard Stallman


  Verlag: The Free Software Foundation

       http://www.fsf.org/



  Man bekommt das vollstndige Handbuch ber Anonymous-FTP vom GNU FTP
  Server:

       ftp://prep.ai.mit.edu/gnu/emacs/



  Kommentar: Dies ist das ultimative Handbuch fr das Programmieren in
  Emacs Lisp.


  6.2.  Websites

  6.2.1.  EMACSulation

  EMACSulation ist eine von Eric Marsden geschriebene Kolumne, die im
  Online-Magazin Linux Gazette erscheint unter:

       http://www.linuxgazette.com/


  Die aktuellste Kolumne erscheint unter:

       http://www.linuxgazette.com/issue39/marsden.html


  Links zu den vorher erschienenen Artikeln finden Sie, wenn Sie zum
  Ende des Artikels blttern.

  6.3.  Newsgruppen

  Wenn Sie Ihren lokalen News Feed nach Newsgruppen mit der Zeichenkette
  emacs durchsuchen, finden Sie wahrscheinlich viele. Auf meinem
  Server sind es:



    comp.emacs

    comp.emacs.sources

    gnu.emacs

    gnu.emacs.bug

    gnu.emacs.help

    gnu.emacs.sources


  Zwei Beispiele fr deutsche Newsgruppen sind:


    de.comp.gnu

    de.comp.editoren



  6.4.  Mailinglisten

  Es gibt eine Mailingliste fr den GNU Emacs bei der Free Software
  Foundation. Sehen Sie sich die Website an, wenn Sie weitere
  Informationen mchten:

       http://mail.gnu.org/mailman/listinfo/help-gnu-emacs



  Die einzige  dem Emacs gewidmete Mailingliste, die ich im Moment
  kenne, ist die NT-Emacs-Liste. Es ist eine Liste fr Leute, die die
  Emacs Microsoft Windows Version benutzen. Wenn Sie mehr Informationen
  dazu wollen, sehen Sie sich die NT-Emacs-FAQ an:

       http://www.cs.washington.edu/homes/voelker/ntemacs.html



  6.5.  Das Emacs-Lisp-Archiv

  Aus dem Emacs-Lisp-Archiv-README:


       Die Emacs-Lisp-Archive bei ftp.cis.ohio-state.edu enthalten
       diverse Teile und Pakete des Emacs Lisp Code. Mit der
       Sprache Emacs Lisp kann man den von der Free Software Foun
       dation herausgegebenen Editor GNU Emacs erweitern. Obwohl in
       der GNU Emacs Distribution viel Emacs Lisp Code enthalten
       ist, haben viele Menschen Pakete geschrieben, um mit anderen
       Systemen interagieren zu knnen, um die Programmiersprache,
       die sie benutzen beim Editieren besser zu untersttzen, um
       neue Funktionen hinzuzufgen, um das Standardverhalten des
       Emacs zu verndern. Der grte Teil des Archivs ist von
       Einzelnen geschrieben worden und ber das Internet durch die
       info-emacs oder die info-gnu-emacs Mailingliste oder den
  comp.emacs, gnu.emacs oder gnu.emacs.sources Newsgruppen
  ffentlich verbreitet worden.



  Auf die Archive kann ber Anonymous-FTP von

       ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/


  zugegriffen werden.


  Beachten Sie: Soweit ich sagen kann, verliert das Emacs-Lisp-Archiv
  langsam an Aktualitt. Ich sehe, dass dort wenige neue (oder
  aktualisierte) Pakete erscheinen, obwohl ich wei, dass es sie gibt.
  Sie werden an die comp.emacs.sources Newsgruppe gepostet. (Zgern Sie
  nicht, mich zu korrigieren, falls das nicht stimmt).




  7.  Danksagungen

  Die folgenden Menschen haben zum Erfolg des Dokumentes beigetragen.


    Craig Lyons (Craig.Lyons@compaq.com)

    Robert Vollmert (rvollmer@gmx.net)

    Larry Brasfield (larrybr@seanet.com)

    Etienne Grossmann (etienne@anonimo.isr.ist.utl.pt)

    Thomas Weinell (kf6mli@amsat.org)

    Adam C. Finnefrock (adam@bigbro.biophys.cornell.edu)

    Chris Gray (cgray4@po-box.mcgill.ca)

    Robert J. Chassell (bob@rattlesnake.com)

    Isaac To (kkto@csis.hku.hk)

    Matteo Valsasna (valsasna@elet.polimi.it)

    Tijs van Bakel (smoke@casema.net)


  Bei der deutschen bersetzung hat mich untersttzt:


    Michael Weyrauch (michael.weyrauch@gmx.net)












