

	\documentclass[a4paper,11pt]{article}
	\usepackage{ngerman}
	\usepackage[latin1]{inputenc}
	\setlength\parskip{\medskipamount}
	\setlength\parindent{0pt}
	\begin{document}

	
 % emacs
 % Copyright Jeremy D. Zawodn
 % Lizenz: GPL
 % 
 % $Name: $
 % $Revision: 1.2.2.12 $
 % $Source: /cvsroot/selflinux/tutorial/software/editoren/kwrite/kwrite,v $
 % SelfLinux-0.7.2
 %
 % Diese Datei ist Teil von SelfLinux http://www.selflinux.de
 %
 %%% $Id: emacs,v 1.2.2.12 2003/03/10 20:09:13 fboerner Exp $

	\title{HOWTO für den Emacs Einsteiger}


	
	    \author{Jeremy D. Zawodn}
	    %\url{mailto:Jeremy@Zawodny.com}
    

	\maketitle

	
	
	%\ref{../index.tex}
	
		%\ref{anwendungen.tex}
		Anwendungs-Software
		%\ref{editoren1.tex}
		Editoren
	\ref{emacs}

    \par{Layout}
    Matthias Hagedorn
	    %\url{mailto:herbert-kw@t-online.de}
    
    	\par{Lizenz}
	GPL
 
	\tableofcontents{}

        
	\section{Einführung} \label{d63e69}
        

   

   \subsection{Copyright} \label{d63e78}
        
    

    
  \par
  
 Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für die
 englische HOWTO, auf der dieses Dokument basiert, liegt bei Jeremy D.
 Zawodny (Copyright © 1998 - 2001 Jeremy D. Zawodny). Das 
Copyright für
 die deutsche Version liegt bei Christel Weyrauch und Marco 
Budde.
    


    
  \par
  
 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
 Lizenzgebühren verbreitet werden darf, solange dieser Copyright
 Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt
 und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist
 das Deutsche Linux HOWTO Projekt hierüber zu informieren.
    
   

   \subsection{Bezugsquellen} \label{d63e102}
        

    

    
  \par
  
 Die aktuellste englische Version dieses Dokuments ist gewöhnlich unter
    

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

    
  \par
  
 verfügbar.   Die deutsche Version findet man beim DLHP:
    

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

   \subsection{Leserkreis und Ziel} \label{d63e128}
        

    

    
  \par
  
 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 für ein kurzes
 Tutorial, das ich bei einem Treffen der Toledo Area Linux User 
Group
 geben musste:
    

    
http://www.talug.org/
    

    
  \par
  
 Dank des hilfreichen Feedbacks, das ich von der Gruppe bekam, ist es
 seitdem etwas gewachsen. Näheres dazu finden Sie bei den Danksagungen.
    

    
  \par
  
 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, möchte ich noch einmal festhalten,
 dass es für Linux-Anwender entwickelt wurde, weil es das eben wurde.
 Und zum Schluss noch ein Hinweis für diejenigen von Ihnen, die die
 Bezeichnung {\bf GNU/Linux} dem ganz einfachen 
{\bf Linux} vorziehen: Sie
 können gerne in Gedanken bei jedem Vorkommen von {\bf Linux} in 
diesem
 Dokument dieses durch {\bf GNU/Linux} ersetzen. Lesen sie hierzu 
auch
 folgendes Dokument:
    

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

    
  \par
  
 Zwar bin ich mit der Argumentation und dem Geist hinter der Idee nicht
 uneins, doch fühle ich mich nicht gezwungen, GNU/Linux zu schreiben.
    
   

   \subsection{Was ist der Emacs?} \label{d63e175}
        

    

    
  \par
  
 Der Emacs ist Unterschiedliches für unterschiedliche Menschen.
 Abhängig davon, wen man fragt, könnte man irgendeine der folgenden
 Antworten bekommen:
    

    \begin{list}{*}{}
     
	\item 
ein Text-Editor
     
     
	\item 
ein Mail Client
     
     
	\item 
ein News Reader
     
     
	\item 
ein Word-Prozessor
     
     
	\item 
eine Religion
     
     
	\item 
eine integrierte Entwicklungsumgebung
     
     
	\item 
Was immer Sie wollen, das er ist!
     
    \end{list}


    
  \par
  
 Doch für unsere Zwecke lassen Sie uns einfach so tun, als wäre er ein
 Text-Editor - ein erstaunlich flexibler Text-Editor. Wir werden später
 tiefer in die Frage einsteigen. Der Emacs wurde von Richard 
Stallman
 geschrieben (Gründer der Free Software Foundation:
    

    
http://www.fsf.org/
    

    
  \par
  
 und des GNU Projektes),
    

    
http://www.gnu.org/
    

    
  \par
  
 und er pflegt ihn noch heute.
    


    
  \par
  
 Der Emacs ist einer der populärsten und leistungsfähigsten
 Text-Editoren für Linux (und Unix). In Popularität steht er an zweiter
 Stelle nur hinter dem vi. Er ist bekannt für sein umfangreiches 
Bündel
 an Leistungsmerkmalen, seine Fähigkeit, leicht angepasst werden zu
 können und seinen Mangel an Fehlern. Sein enormes Bündel an
 Leistungsmerkmalen und seine Fähigkeit, leicht angepasst werden zu
 können, 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 {\bf nur ein Editor} ist. 
Es ist
 ein Editor, der hauptsächlich 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. So hat der Emacs, in
 gewissem Sinne, eine ganze Programmiersprache {\bf in sich 
eingebaut}, die
 Sie benutzen können, um ihn anzupassen, zu erweitern und sein
 Verhalten zu verändern.
    

    
  \par
  
 Der Emacs ist außerdem 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 Zusätze erlauben es Ihnen, den Emacs Dinge
 tun zu lassen, die Stallman wahrscheinlich niemals für möglich
 gehalten hätte, als er erstmals die Arbeit am Emacs begann. Mehr davon
 in einem späteren Abschnitt.
    

    
  \par
  
 Es gibt viele andere Dokumente und Websites, die einen besseren
 Überblick über den Emacs, seine Geschichte und damit zusammenhängende
 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 
aufgeführt werden.
    

    \subsubsection{Portierungen und Versionen} \label{d63e260}
        

     

     
  \par
  
  Es ist wichtig drauf hinzuweisen, dass es eigentlich zwei
  unterschiedliche Emacs-Editoren gibt: GNU Emacs und 
Xemacs. Beide
  haben den gleichen Ursprung und verfügen 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 {\bf Emacs}
  sprechen. Wenn ich das tue, haben Sie dies bitte im Hinterkopf.
     
    

    \subsubsection{Wie Sie den Emacs bekommen können} \label{d63e280}
        

     

     
  \par
  
  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 können. Wenn
  nicht, können 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
     
    
   
  \section{Mit dem Emacs arbeiten} \label{d63e314}
        

   

   \subsection{Den Emacs starten und beenden} \label{d63e321}
        

    

    
  \par
  
 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 schließen, 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 drücken Sie die
 {\bf Return}-Taste. Der Emacs sollte dann starten. Wenn nicht, ist 
er
 entweder nicht installiert oder nicht in Ihrem Pfad.
    

    
  \par
  
 Wenn Sie sich den Emacs angesehen haben, müssen Sie wissen, wie er
 beendet wird. Mit der Tastenkombination
     C+x
 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
 ) gedrückt und drücken
 Sie
     x
 . In diesem Fall, müssen Sie dann die
     Ctrl
 -Taste gedrückt
 halten und auf
     c
 drücken, um den Befehl zu vollenden.
    

    
  \par
  
 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 auszuführen.
    

    
  \par
  
 Zur Erinnerung: emacs startet den Emacs. Mit
     C+x
     C+c
 wird er geschlossen.
    

    \subsubsection{Was Sie sehen werden} \label{d63e415}
        

     

     
  \par
  
  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.
     

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

     \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
ASCII-Skizze
      \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
       
       +----------------------------------------------------------------------+
       |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.    |
       +----------------------------------------------------------------------+
       
      \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

     
  \par
  
  Beachten Sie: der Emacs wird normalerweise den gesamten Bildschirm
  oder das ganze Fenster ausfüllen. Ich habe das obige Beispiel kleiner
  dargestellt, um hier Platz zu sparen. Sie werden auch einen
  Begrüßungstext im Emacs sehen, wenn Sie ihn das erste Mal starten. Ich
  habe ihn auch ausgelassen und anstatt dessen durch {\bf ...} 
ersetzt. Der
  Begrüßungstext gibt lediglich die genaue Emacs-Version an, die Sie
  benutzen und verweist Sie auf die Online-Hilfe und damit verwandte
  Themen.
     

     

      

      
  \par
  
   Die allererste Zeile der Emacs-Oberfläche 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 können. Wenn nicht,
   müssen Sie Tastenkürzel verwenden (werden hier nicht behandelt), um
   auf die Menues zugreifen zu können.
      
     

     

      

      
  \par
  
   Von den letzten zwei Zeilen der Emacs-Oberfläche 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 für den Moment einfach,
   dass sie da ist.
      

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

      
  \par
  
   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, Dateigröße und fast alles, was Sie dort
   möglicherweise sehen möchten.
      
     
    
   

   \subsection{Einige Fachausdrücke} \label{d63e476}
        

    

    
  \par
  
  Dieser Abschnitt behandelt die grundlegendsten Emacs-Fachausdrücke,
  denen Sie bei der Benutzung des Emacs und dem Lesen über den Emacs
  begegnen werden.
    

    \subsubsection{Puffer \& Dateien} \label{d63e486}
        

     

     
  \par
  
  Anders als bei einigen Editoren, bleibt beim Emacs eine Datei an der
  Sie arbeiten, nicht die ganze Zeit {\bf geöffnet}. Anstatt dessen, 
liest
  der Emacs die Datei in einen Speicherpuffer ein. Während 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.
     

     
  \par
  
  Aus diesem Grund trifft man in der Emacs-Dokumentation bei Modi,
  Paketen und so weiter auf den Begriff {\bf Puffer}.  Machen Sie 
sich
  einfach klar, dass Puffer {\bf 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 können das Ergebnis eines Befehls, eine
  Auswahlliste etc. beinhalten.
     
    

    \subsubsection{Point \& Region} \label{d63e509}
        

     

     
  \par
  
  Im Emacs-Jargon werden Sie oft Hinweise auf den sogenannten 
{\bf Point}
  (Eingabepunkt) hören 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 beschäftigen. Aber wenn Sie neugierig sind, sollten Sie
  es so betrachten: der Cursor ist die visuelle Darstellung des Points.
  Der Cursor ist immer {\bf auf} einer bestimmten Buchstabenposition 
im
  aktuellen Puffer. Der Point, andererseits, ist im Raum {\bf zwischen den
  Buchstaben}. Man könnte also sagen, dass wenn der Cursor sich auf dem
  Buchstaben {\bf h} im Wort {\bf the} befindet, der Point 



zwischen {\bf t} und {\bf h}
  ist.
     

     
  \par
  
  Wie viele moderne Editoren kann der Emacs auf einen Abschnitt des
  aktuellen Puffers begrenzt Aktionen ausführen: Texteinzug,
  Rechtschreibprüfung, neu Formatieren, Ausschneiden, Kopieren, Einfügen
  usw.. Mit der Tastatur oder Maus können Sie einen Textblock
  hervorheben (oder {\bf markieren}) und dann Aktionen nur in diesem 
Block
  oder Textabschnitt ausführen. Beim Emacs wird dieser Textblock
  {\bf Region} genannt.
     
    

    \subsubsection{Fenster} \label{d63e550}
        

     

     
  \par
  
  Okay, das Folgende wird für 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 populär waren, entwickelt wurde.
     

     
  \par
  
  Beim Emacs ist ein {\bf 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 vorübergehend zusätzliche
  Fenster in Ihrem Emacs-Bildschirm.
     


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

    \subsubsection{Rahmen} \label{d63e573}
        

     

     
  \par
  
  Beim Emacs ist ein {\bf 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 drücken.
     
    
   

   \subsection{Grundlagen der Tastaturbedienung} \label{d63e597}
        

    

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

    
  \par
  
 Wenn Sie ein vi-Anwender sind, brauchten Sie wahrscheinlich etwas, 



um
 sich an die Vorstellung zu gewöhnen, {\bf k}-, {\bf j}-, 
{\bf l}-, {\bf h}-Tasten zu
 benutzten, um sich eine Zeile höher, tiefer, einen Buchstaben vor und
 zurück 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, 
mühelos in
 einem Dokument bewegen konnten.
    

    
  \par
  
 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.
    

    \subsubsection{Befehlstasten (Meta, Esc, Steuerung und Alt)} \label{d63e634}
        

     

     
  \par
  
  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 darüber nachdenken, ob man sich im 
{\bf Befehlsmodus} oder
  {\bf Editiermodus} befindet, bevor man den Cursor bewegen oder 
einen
  Befehl ausführen kann. Anstatt dessen drückt man die richtige
  Tastenkombination und der Emacs tut gewöhnlich, was er soll.
     

     
  \par
  
  Die Tasten, die man im Emacs am meisten benutzt, werden in der
  Dokumentation normalerweise mit
     C
  (für Control,
     Ctrl
  - auf einer
  deutschen Tastatur ist
     C
  durch die Steuerungs-Taste,
     Strg
  , zu
  ersetzen) und
     M
  für (
     Meta
  ) abgekürzt. Während die meisten modernen
  PC-Tastaturen eine oder mehrere Tasten für
     Ctrl
  haben, haben wenige
  eine für
     Meta+x
  . Sie müssen in Gedanken entweder
     Esc
  oder
     Alt
  durch die
     Meta
  -Taste ersetzen. Bei den meisten
  Standardkonfigurationen machen
     Esc
  und
     Alt
  im Wesentlichen das
  Selbe.
     

     
  \par
  
  Wenn Sie also in irgendeiner Dokumentation, die sich auf den Emacs
  bezieht, einen Verweis auf
     C+x
     f
  sehen, bedeutet dies: drücken Sie
     C+x
  und dann
     f
  (
     Strg+x
     f
  dann natürlich auf einer deutschen
  Tastatur). Und wenn Sie einen Hinweis auf etwas wie
     M+x
     shell
  sehen,
  bedeutet dies: drücken Sie
     Alt+x
  und tippen Sie das Wort
     shell
  .
     

     
  \par
  
  Ein sehr nützlicher Befehl für Anfänger ist
     M+x
     apropos
  oder
     C+h
     a
  . Apropos durchsucht die Emacs Online-Dokumentation nach allen
  Funktionen und regulären Ausdrücken, die Sie eingeben. Dies ist eine
  fantastische Möglichkeit, alle Kommandos zu entdecken, die mit Frames
  zu tun haben. Geben Sie einfach
     C+h
     a
  und dann
     frame
  ein.
     

    

    \subsubsection{Sich in einem Puffer bewegen} \label{d63e870}
        

     

     
  \par
  
   Da sie nun wissen, was alle diese tollen Abkürzungen bedeuten, folgt
   jetzt eine Liste mit den gebräuchlichsten Tastenkombinationen, um sich
   innerhalb eines Puffers zu bewegen:
     

     
    
    %table
    \begin{tabular}{|l|l|}
    \hline 
            
               
		\begin{minipage}{60mm}
              
   Tastenkombination
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
   Aktion
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+p
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    eine Zeile hoch
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+n
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    eine Zeile runter
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+f
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    einen Buchstaben vorwärts
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+b
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    einen Buchstaben zurück
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+a
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    Zeilenanfang
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+e
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    Zeilenende
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+v
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    eine Seite runter
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       M+v
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    eine Seite hoch
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       M+f
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    ein Wort weiter
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       M+b
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    ein Wort zurück
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       M+<
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    Beginn des Puffers
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       M+>
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    Ende des Puffers
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+g
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
    aktuellen Arbeitsvorgang beenden
       
		\end{minipage}
	      \\ \hline
    \end{tabular}
  


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

    \subsubsection{Wesentliche Befehle} \label{d63e1130}
        

     

     
  \par
  
  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.
     

     
  \par
  
  Bevor wir uns direkt auf diese Befehle stürzen, muss ich kurz
  darstellen, wie das funktioniert.
     

     
  \par
  
  Alle {\bf Befehlstasten} im Emacs (die, die
     M+x
     irgendwas+h
  oder
     C+irgendwas
  sind), sind nur Kürzel für Funktionen, die Teil des Emacs
  sind. Man kann alle diese Funktionen durch Eintippen von
     M+x
     Funktionsnamen
  und Drücken der {\bf Return}-Taste aufrufen. Man kann auch
  die Tastaturkürzel für diese Funktion benutzen (wenn sie eine hat).
     

     
  \par
  
  Zum Beispiel heißt die Emacs-Funktion, die einen Puffer auf Festplatte
  speichert, {\bf save-buffer}. Sie ist standardmäßig auch mit
     C+x
     C+s
  belegt. Man kann also entweder das Kürzel benutzen, um den aktuellen
  Puffer zu speichern oder man könnte
     M+x
     save-buffer
  eintippen, um
  das gleiche Resultat zu erzielen.
     

     
  \par
  
  Die gebräuchlichsten Funktionen haben standardmäßig zusätzliche
  Tastenkürzel. Einige von ihnen sind unten aufgelistet.
     

     
    
    %table
    \begin{tabular}{|l|l|l|}
    \hline 
            
               
		\begin{minipage}{60mm}
              
  Tastenkürzel
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Funktion
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Beschreibung
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+x
       C+s
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  save-buffer
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Speichere den aktuellen Puffer auf Festplatte
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+x
       u
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  undo
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Mache den letzten Arbeitsvorgang rückgängig
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+x
       C+f
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  find-file
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Öffne eine Datei von Festplatte
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+s
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  isearch-forward
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Inkrementelle Suche vorwärts
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+r
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  isearch-backward
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Inkrementelle Suche rückwärts
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              

       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  replace-string
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Suchen \& Ersetzen einer Zeichenkette
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              

       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  replace-regexp
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Suchen \&amp; Ersetzen bei regulären Ausdrücken
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+h
       t
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  help-with-tutorial
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Benutze das interaktive Emacs-Tutorial
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+h
       f
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  describe-function
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Zeige den Hilfetext für eine Funktion an
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
       C+h
       v
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  describe-variable
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Zeige den Hilfetext für eine Variable an
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
        C+h
        x
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  describe-key
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Zeige an, was eine Tastenfolge macht
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
        C+h
        a
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  apropos
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Zeige den Hilfetext für einen (regulären) Ausdruck an
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
        C+h
        F
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  view-emacs-FAQ
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Zeige die Emacs-FAQ an
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
        C+h
        i
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  info
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Lese die Emacs Dokumentation
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
        C+x
        r+m
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  bookmark-set
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Setze ein Lesezeichen. Nützlich bei Suchen
       
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              
        C+x
        r+b
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  bookmark-jump
       
		\end{minipage}
	      & 
            
               
		\begin{minipage}{60mm}
              
  Springe zu einem Lesezeichen
       
		\end{minipage}
	      \\ \hline
    \end{tabular}
  

     
  \par
  
  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 {\bf :}-Kommandos im vi
  oder den meisten Kommandos, die Sie in Ihrer bevorzugten Unix Shell
  benutzen würden.
     

     
  \par
  
  Der Emacs verfügt buchstäblich über Hunderte von eingebauten
  Funktionen. Die obige Liste ist ein kleines Beispiel all derer, die
  ich regelmäßig benutze. Für eine vollständigere Auflistung der
  verfügbaren Funktionen und eine ausführlichere Dokumentation zu denen,
  die ich oben erwähne, sehen Sie sich die Online-Hilfe an.
     
    

    \subsubsection{Tab-Ergänzung} \label{d63e1666}
        

     

     
  \par
  
  Wie viele populäre Unix Shells (bash, csh, tcsh usw.) kann der Emacs
  Befehle über die
     Tab
  -Taste ergänzen.  Es ist sogar so, dass die
  Befehlsergänzung in der bash, der im Emacs nachgebildet wurde. Wenn
  Sie dieses Leistungsmerkmal in der bash benutzen, werden Sie sich also
  ganz zu Hause fühlen.
     

     
  \par
  
  Versuchen Sie zum Beispiel
     M+x
     search
  und drücken dann
     Tab
  .  Der Emacs wird einen Bindestrich anfügen, um anzuzeigen, dass es diverse
  Vervollständigungsmöglichkeiten gibt, die aber alle einen Bindestrich
  als nächsten Buchstaben haben. Wenn die
     Tab
  -Taste ein weiteres Mal
  betätigt wird, wird Emacs Ihnen eine Liste aller Möglichkeiten
  anzeigen, aus denen Sie auswählen können. Sie werden feststellen, dass
  er dies in einem {\bf neuen Fenster} tut.  Er unterteilt Ihr Display
  zeitweise in zwei Fenster: eines, das den Puffer enthält, den Sie
  gerade editieren und ein weiteres, das die Liste aller möglichen
  Ergänzungen für {\bf search} enthält.  Sie können
     C+g
  tippen, um den
  Selektionsprozess zu verlassen und das neue Fenster zu schließen.
     
    
   

   \subsection{Tutorial, Hilfe \& Info} \label{d63e1735}
        

    

    
  \par
  
 Der Emacs hat ein Online-Tutorial, das Sie durch die grundlegenden
 Editiereigenschaften und -funktionen führt, die jeder kennen sollte.
 Es erklärt auch, wie die anderen Hilfefunktionen im Emacs genutzt
 werden können.
    

    
  \par
  
 Ich empfehle dringend, dass Sie etwas Zeit darauf verwenden, das
 Tutorial durchzugehen, wenn Sie planen, sich ernsthaft mit dem Emacs
 zu beschäftigen. Wie in der Tabelle oben dargestellt wurde, können Sie
 das Tutorial durch
    C+h
    t
 aufrufen. Das Tutorial ist selbsterklärend
 und zielt auf Leute ab, die gerade mit dem Emacs anfangen.
    

    
  \par
  
 Wenn Sie den Emacs im X laufen haben, werden Sie sehen, dass das Menue
 ganz rechts auf der Menuezeile {\bf Help} heißt. Wenn Sie das Hilfemenue
 erforschen, beachten Sie, dass einige Unterpunkte Tastenkürzel haben
 und diese genau in dem Menue aufgelistet werden.
    

    
  \par
  
 Und um schließlich das mit dem Emacs verfügbare Volumen an
 Dokumentation einsehen zu können, sollten Sie
      M+x
     info
 oder
     C+h
     i
 ausprobieren; dadurch wird Info aufgerufen, der Emacs
 Dokumentationsbrowser.
    
   
  \section{Emacs-Modi} \label{d63e1807}
        

   

   
  \par
  
Emacs-Modi sind unterschiedliche Verhaltensformen und Charakteristika,
die für unterschiedliche Zwecke an- und ausgeschaltet (oder natürlich
auch angepasst) werden können. Es sind Modi, die einen Editor (Emacs)
gleichermaßen 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.
   

   
  \par
  
Emacs-Modi sind einfach Lisp-Code-Bibliotheken, die den Emacs auf
irgendeine Art und Weise erweitern, verändern oder optimieren.
   

   \subsection{Haupt- vs. Untermodi} \label{d63e1820}
        

    

    
  \par
  
 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.
    

    
  \par
  
 Zu einer bestimmten Zeit kann nur ein Hauptmodus aktiv sein. Es können
 aber viele Untermodi zu einer bestimmten Zeit aktiv sein. Hauptmodi
 tendieren dazu, sprach- oder funktionsspezifisch zu sein, während es
 sich bei Untermodi um kleinere und weniger spezifische Einrichtungen
 handelt, die funktionsübergreifend sind.
    

    
  \par
  
 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 heißt {\bf text-mode}. Dieser Modus wurde zum Schreiben
 von freiem, unformatiertem Text entwickelt, wie einer README Datei. Er
 kann Wörter und Absätze identifizieren und stellt im Allgemeinen
 sicher, dass das passiert, was ich erwarte, wenn ich die normalen
 Navigationstasten verwende.
    

    
  \par
  
 Wenn ich einen Text als Lesefutter für den menschlichen Konsum
 schreibe, will ich natürlich, dass er gut aussieht. Er sollte einen
 passenden Zeilenumbruch haben - nach einer angemessenen Anzahl von
 Zeichen und so weiter. Um Zeilenumbrüche zu ermöglichen, rufe ich
 einfach den Untermodus {\bf auto-fill} auf. Dieser Untermodus versucht,
 das Richtige zu tun, während 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 {\bf text-mode}
 bin oder zum Beispiel im {\bf java-mode}.
 Ich will nicht, dass mein Java-Code umgebrochen wird,
 als wäre er ein englischer Text. Aber ich will meine Kommentarblöcke
 in meinem Java-Code umgebrochen haben. Der {\bf auto-fill}
 Modus ist smart genug, das herauszukriegen
    

    
  \par
  
 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.
    

    
  \par
  
 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 {\bf 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?
    
   

   \subsection{Programmier-Modi} \label{d63e1864}
        

    

    
  \par
  
 Zuallererst: der Emacs wurde von einem Programmierer für Programmierer
 entwickelt. Es gibt hochwertige Modi für fast jede populäre
 Programmiersprache, die man sich denken kann (und sogar einige nicht
 ganz so populäre). Ich beschreibe nur wenige von ihnen kurz hier.
    

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

    \begin{list}{*}{}
     
	\item 
 stellen eine farbliche Hervorhebung der Syntax für die Sprache zur Verfügung,
     
     
	\item 
 stellen automatischen Texteinzug und Code-Formatierung für die Sprache zur Verfügung,
     
     
	\item 
 verfügen über eine kontext- (sprach-)sensitive Hilfefunktion,
     
     
	\item 
 verfügen über ein automatisches Interface mit Ihrem Debugger,
     
     
	\item 
 ergänzen die Menuezeile durch sprachspezifische Menues.
     
    \end{list}

    
  \par
  
 Zusätzlich gibt es einige nicht-sprachspezifische Modi, die Funktionen
 unterstützen, die beim Programmieren in vielen Sprachen häufig
 vorkommen:  Dinge wie eine Schnittstelle zu Ihrer
 Versionskontrollsoftware, automatisches Anfügen von Kommentaren an
 Ihren Code, Erstellen von Makefiles, Aktualisieren von Change Logs und
 so weiter.
    

    
  \par
  
 Wenn man all diese Modi zusammen nimmt und die Reife und Stabilität
 des Emacs-Codes berücksichtigt, fällt der Vergleich mit kommerziellen
 Integrated Development Environments (IDEs) für Sprachen wie C++ und
 Java doch ziemlich gut aus. Und er ist natürlich frei verfügbar.
    

    \subsubsection{C/C++/Java} \label{d63e1901}
        

     

     
  \par
  
  Da die Syntax von C, C++ und Java ziemlich ähnlich ist, gibt es einen
  Emacs-Modus für alle drei Sprachen (aber auch für Objective-C und
  IDL). Es ist ein sehr ausgereiftes und vollständiges Paket und in der
  Emacs-Distribution enthalten. Dieser Modus wird entweder {\bf cc-mode}
  oder {\bf CC Mode} genannt.
     

     
  \par
  
  Für weitere Details oder den Download einer neueren Version, besuchen
  Sie:
     

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

    \subsubsection{Perl} \label{d63e1927}
        

     

     
  \par
  
  Es gibt eigentlich zwei Modi, um Perl-Code im Emacs zu editieren. Der
  erste heißt {\bf perl-mode} (wie wohl zu erwarten war) und der zweite
  {\bf 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 {\bf perl-mode} der Original-Modus war, um Perl-Code im
  Emacs zu editieren. Er scheint über weniger Merkmale als {\bf cperl-mode}
  zu verfügen und es mangelt ihm an der Fähigkeit, einige von Perls
  ausgefalleneren Sprachkonstrukten zu erkennen.
     

     
  \par
  
  Ich persönlich benutze und empfehle {\bf cperl-mode}, der anscheinend
  ziemlich aktiv gepflegt wird und genau all die Charakteristika hat,
  die ich mir überhaupt nur wünschen kann.  Die neueste Version findet
  man hier:
     

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

     
  \par
  
  Aber nehmen Sie mich nicht beim Wort. Probieren Sie beide aus und
  nehmen Sie den, der am meisten Ihren Bedürfnissen entspricht.
     
    

    \subsubsection{Python} \label{d63e1965}
        

     

     
  \par
  
  Für Python (eine weitere sehr populäre 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.
     

     
  \par
  
  Sie können den {\bf python-mode} von der offiziellen Python-Website
  beziehen:
     

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

    

    \subsubsection{Weitere} \label{d63e1988}
        

     

     
  \par
  
  Es gibt viele, viele andere Editier-Modi zur Unterstützung von
  Programmierern. Diese Modi helfen bei Dingen wie:
     

     \begin{list}{*}{}
      
	\item 
  Shell Skripte (bash, sh, ksh, csh usw)
      
      
	\item 
  awk, sed, tcl usw.
      
      
	\item 
  Makefiles
      
      
	\item 
  Change Logs
      
      
	\item 
  Dokumentation
      
      
	\item 
  Debugging
      
     \end{list}

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

   \subsection{Arbeiten als Autor} \label{d63e2024}
        

    

    
  \par
  
 Stellen Sie sich vor, Emacs-Modi sind nicht nur auf die beschränkt,
 die Code schreiben. Leute die Dokumentationen jeglicher Art schreiben,
 können auch von einer breiten Auswahl an Emacs-Modi profitieren.
    

    \subsubsection{Rechtschreibprüfung (ispell Modus)} \label{d63e2034}
        

     

     
  \par
  
  Autoren vieler Arten von Dokumenten brauchen immer wieder mal eine
  Hilfe bei der  Rechtschreibprüfung. Wenn sie GNU ispell installiert
  haben, können Sie
	  {\bf 
	   M+x
     ispell
	 }
  eintippen und den aktuellen Puffer auf
  seine Rechtschreibung hin überprüfen lassen. Wenn ispell Wörter
  findet, die er nicht kennt, bekommt man eine Liste möglicher Varianten
  und kann sich eine oder keine aussuchen.  Die Funktion entspricht in
  etwa der Rechtschreibkorrektur vieler anderer nicht kostenloser
  Softwarepakete.
     
    

    \subsubsection{HTML (html-helper-mode)} \label{d63e2066}
        

     

     
  \par
  
  Wenn Sie immer wieder mal oder sogar oft HTML-Dateien schreiben,
  möchten Sie vielleicht den {\bf html-helper-mode} ausprobieren. Man bekommt
  ihn unter
     

     
http://www.santafe.edu/\~{}nelson/tools/
     

     
  \par
  
  wie auch die Dokumentation und was damit zu tun hat.
     


     
  \par
  
  Wie der Namen schon andeutet, kann der {\bf html-helper-mode} viel für die
  Leute tun, die noch HTML mit der Hand schreiben, auf die altmodische
  Art.
     
    

    \subsubsection{TeX (tex-mode)} \label{d63e2098}
        

     

     
  \par
  
  Wenn man Dokumente in TeX schreibt, ist es oft hilfreich, sich den
  Emacs zu besorgen, um etwas Farbe hinzuzufügen, um die Backslashes,
  Klammern und andere Buchstaben hervorzuheben. Der {\bf tex-mode} macht das
  für Sie.
     

     
  \par
  
  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.
     
    

    \subsubsection{SGML (sgml-mode)} \label{d63e2118}
        

     

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

   \subsection{Andere Modi} \label{d63e2136}
        

    

    
  \par
  
 Natürlich gibt es noch viele andere praktische Modi, die das Leben
 einfacher machen. Hier folgt nur eine kleine Auswahl der populären:
    

    \subsubsection{Versionskontrolle (vc Modus)} \label{d63e2146}
        

     

     
  \par
  
  Der {\bf vc} Modus hat Schnittstellen zu den meisten der populären
  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.
     
    

    \subsubsection{Shell Modus (shell)} \label{d63e2163}
        

     

     
  \par
  
  Warum zu einem anderen X Window Fenster oder einer virtuellen Konsole
  wechseln, nur um ein paar Shell-Kommandos auszuführen?  Machen Sie es
  vom Emacs aus und ersparen Sie sich die Mühe :-).
     

     
  \par
  
	  {\bf 
     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 könnte (außer dem Betrieb von Programmen, die
  den ganzen Bildschirm einnehmen, wie vi oder pine), weil der Emacs
  hinter den Kulissen mit der wirklichen Shell kommuniziert.
     

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

    \subsubsection{Telnet und FTP (telnet und ftp Modi)} \label{d63e2207}
        

     

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

     
  \par
  
  Genau wie eine Shell im Emacs zu betreiben, kann man von ihm aus mit
  Telnet und FTP arbeiten. Versuchen Sie
	  {\bf 
	   M+x
	  telnet
	 }
  oder
	  {\bf 
	   M+x
	  ftp
	 }
  , um
  es selbst auszuprobieren. Lesen Sie die Dokumentation wegen all der
  blutrünstigen Details.
     
    

    \subsubsection{Handbuch (man Modus)} \label{d63e2263}
        

     

     
  \par
  
  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 Mühe. Ich verspreche, ich höre jetzt
  auf.
  Genau wie beim Betreiben der Shell innerhalb des Emacs, kann man vom
  Emacs aus Manual Pages lesen. Versuchen Sie
	  {\bf 
	   M+x
      man
	 }
  um es selbst
  auszuprobieren. Lesen Sie die Dokumentation, wenn Sie weitere
  Informationen möchten.
     
    

    \subsubsection{Ange-FTP} \label{d63e2295}
        

     

     
  \par
  
  Um die ange-ftp Dokumentation zu zitieren:
     

     
       Dieses Paket will den Zugang zu Dateien und Verzeichnissen
       für die Nutzung von FTP vom GNU Emacs aus so einfach und
       transparent wie möglich machen. Ein Teil der gebräuchlichen
       Dateiarbeitsvorgänge ist für die Interaktion mit FTP
       erweitert worden.
     

     
  \par
  
  Dies bedeutet, dass man Dateien auf weit entfernten Rechnern behandeln
  kann, als wären 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 kümmert sich um
  alle Details beim Login und dem Holen der Datei. Dann, wenn die Datei
  mit
     C+x
     C+s
  gespeichert wird, nimmt {\bf ange-ftp} die Speicherung vor und
  schreibt die Datei zurück auf den weit entfernten Rechner.
     

     
  \par
  
  Die etwas andere Pfadsyntax geht so: Eine {\bf myfile} benannte Datei in
  einem user Verzeichnis auf einem {\bf my.host.org} benannten Rechner kann
  durch
	  {\bf 
	   C+x
	  f
	 }
  geöffnet werden:
     

     
       {\bf /user@my.host.org:\~{}user/myfile}
     

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

     
  \par
  
  Meinen Dank an Etienne
Grossman 
				<etienne@anonimo.isr.ist.utl.pt>
			 für das obige Beispiel.
     
    
   
  \section{Den Emacs anpassen} \label{d63e2380}
        

   

   
  \par
  
Praktisch die gesamte Emacs-Anpassung geschieht über den Lisp-Code.
Man kann Variablen verändern, die Einfluss darauf nehmen, wie der
Emacs arbeitet oder man kann dem Emacs neue Funktionen hinzufügen oder
bereits existierende Funktionen aufheben und durch eigene ersetzen.
   

   \subsection{Temporäre Anpassung} \label{d63e2390}
        

    

    
  \par
  
 Das Experimentieren mit der Emacs-Anpassung möchten Sie wahrscheinlich
 so gestalten, dass sie temporär bleibt. Wenn man was ganz schrecklich
 Falsches macht, braucht man nur
    C+x
    C+c
 einzugeben, um den Emacs zu
 schließen und wieder zu starten. Sobald Sie herausgefunden haben,
 welche der Veränderungen Sie gerne für immer hätten, können Sie sie
 zur eigenen {\bf .emacs}-Datei hinzufügen, so dass sie bei jedem Start von
 Emacs geladen werden. Dies wird im nächsten Abschnitt besprochen.
    

    \subsubsection{Variablen-Zuweisung} \label{d63e2421}
        

     

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

     
       {\bf (setq variable-name new-value)}
     

     
  \par
  
  Wobei {\bf variable-name} der Name der Variablen ist und {\bf new-value} der
  Wert, den Sie der Variablen  übergeben möchten. Im Lisp-Jargon bindet
  man eine Variable an einen Wert. Die {\bf setq} Funktion in Lisp
  entspricht den Bestimmungsoperatoren (meist {\bf =}) in anderen
  Programmiersprachen.
     

     
  \par
  
  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 {\bf set} und sogar {\bf setq-default} sieht. Wer
  wirklich neugierig ist, sollte sie einfach in einer Emacs Lisp
  Referenz nachsehen.
     

     
  \par
  
  Betrachten wir eine Zeile aus meiner {\bf .emacs}-Datei:
     


     
       {\bf (setq-default transient-mark-mode t)}
     

     
  \par
  
  Die Variable {\bf 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 auszuwählen. Der Emacs macht das gleiche, wenn die
  Variable des {\bf transient-mark-mode} auf einen nicht-{\bf nil} Wert gesetzt
  wurde.
     

     
  \par
  
  Was für einen Wert?
     

     
  \par
  
  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.
     

     
  \par
  
  Wahr wird gewöhnlich als {\bf t} geschrieben und falsch (oder Null) als
  {\bf nil}. Wie in anderen Sprachen, wird jedoch jeder nicht-{\bf nil} Wert als
  wahr betrachtet.
     

     
  \par
  
  Für die vollständige Beschreibung dessen, was {\bf transient-mark-mode}
  tut, kann man die Online-Hilfe benutzen. Tippen Sie
	  {\bf C+h
     v}
  oder
	  {\bf  M+x
    describe-variable}
  und dann {\bf transient-mark-mode}. Wenn man faul ist
  wie ich, kann man sich durch Gebrauch der
	  {\bf Tab}
  -Taste die
  Variablennamen-Ergänzung zu Nutze machen. Tippen Sie einen Teil des
  Variablennamens ein und schlagen Sie die
	  {\bf Tab}
  -Taste an. Wenn genug
  eingetippt wurde, sodass der Emacs es eindeutig identifizieren kann,
  wird der vollständige Name für Sie ergänzt.
     

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


     
       {\bf (setq fill-column 20)}
     

     
  \par
  
  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
	  {\bf C+x
     C+e}
  , dies
  ruft die Funktion {\bf eval-last-sexp} auf (für den Fall, dass es Sie
  interessiert). Wenn Sie das tun, werden sie feststellen, dass {\bf 20}
  (oder welchen Wert auch immer sie genommen haben) im Mini-Puffer am
  unteren Rand des Bildschirms wiedergegeben wird. Dies ist nur der
  Rückgabewert des Ausdrucks, den Sie ausgewertet haben.
     

     
  \par
  
  Nur um zu zeigen, dass es funktioniert - tippen Sie einen oder zwei
  Sätze ein. Wenn Sie den {\bf 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
	  {\bf M+q}
  , es ruft die Funktion {\bf fill-paragraph} auf. Sie wird dann
  den Zeilenumbruch ausführen.
     
    

    \subsubsection{Zuordnung von Dateinamen} \label{d63e2622}
        

     

     
  \par
  
  Sie können 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, möchte ich vielleicht, dass der Emacs jedes Mal
  automatisch zum Textmodus wechselt, wenn ich eine Datei mit einer
  {\bf .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.
     


     
       {\bf (setq auto-mode-alist (cons '(''README'' . text-mode) auto-mode-alist))}
     

     
  \par
  
  Huh?
     

     
  \par
  
  Ohne tief in die Lisp-Programmierung einzutauchen, die Sie wirklich
  nicht kennen müssen (es würde Ihnen aber nicht weh tun, sie zu
  lernen), lassen Sie mich einfach sagen, dass die Variable
  {\bf auto-mode-alist} eine Liste von Paaren enthält. Jedes Paar enthält einen
  regulären Ausdruck und einen Emacs-Modus-Namen. Wenn eine Datei, die
  Sie öffnen, dem regulären Ausdruck entspricht (in diesem Fall, die
  Zeichenkette {\bf README}), startet der Emacs den Modus, den Sie
  festgelegt haben.
     

     
  \par
  
  Die merkwürdige Syntax oben ergibt sich deshalb, weil man im Grunde
  genommen ein weiteres Paar an die Modusliste anfügt. Sie würden nicht
  wollen, etwas der {\bf auto-mode-alist} zuzuordnen, ohne sicher zu
  stellen, dass die Werte, die sie bereit hält, nicht verloren gehen.
     

     
  \par
  
  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, würde ich folgendes meiner .emacs Datei hinzufügen:
     


     
       {\bf (setq auto-mode-alist (cons '(''$\backslash$$\backslash$.html\$'' . html-helper-mode)auto-mode-alist))}
     

     
       {\bf (setq auto-mode-alist (cons '(''$\backslash$$\backslash$.htm\$'' . html-helper-mode)auto-mode-alist))}
     

     
  \par
  
  Die Möglichkeiten sind wirklich unbegrenzt.
     
    
   

   \subsection{Der Umgang mit der .emacs-Datei} \label{d63e2679}
        

    

    
  \par
  
 Wenn man etwas Zeit mit dem Emacs verbracht hat und eine grundlegende
 Vorstellung davon hat, welche Vorteile eine Anpassung hätte, möchte
 man wahrscheinlich ein paar Dinge dauerhaft anpassen (oder mindestens
 so lange, bis man seine Meinung geändert hat). Wenn Sie täglich mit
 dem Emacs arbeiten, werden Sie auch feststellen, das die {\bf .emacs}-Datei
 mit der Zeit immer größer 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.
    

    
  \par
  
 Für den Fall, das Sie es noch nicht erraten haben, jedes Mal, wenn der
 Emacs gestartet wird, sucht er eine {\bf .emacs} benannte Datei in Ihrem
 Homeverzeichnis. Sie sollten Lisp-Code, den Sie automatisch laufen
 lassen möchten, in Ihre {\bf .emacs}-Datei schreiben und das schließt die
 Art von Anpassung  ein, die hier gerade behandelt wurde.
    



    
  \par
  
 Ein weiteres Beispiel aus meiner {\bf .emacs}-Datei:
    

     
      {\bf (setq inhibit-startup-message t)}
     

    
  \par
  
 Die Variable {\bf 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 wußte, wie ich Hilfe finden konnte
 und was weiß ich). Deshalb suchte ich nach einem Weg, sie
 auszuschalten.
    

    
  \par
  
 Zur Übung versuchen Sie eine eigene {\bf .emacs}-Datei zu erstellen und
 fügen Sie diese Zeile an. Dann schließen Sie den Emacs und starten ihn
 wieder. Die Willkommensmeldung sollte nicht mehr erscheinen.
    

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

    
  \par
  
 Die GNU Emacs FAQ (
	 {\bf C+h
    F}
 ) enthält einige Themen, die sich auf
 .emacs-Dateien beziehen und die Sie möglicherweise nützlich finden.
    
   

   \subsection{Das customize-Paket} \label{d63e2754}
        

    

    
  \par
  
 Als der Emacs populärer wurde und sich kontinuierlich entwickelt hat,
 hat vielleicht irgendwer einmal gesagt: {\bf es muß für Einsteiger einen
 besseren Weg geben, um ihren Emacs anzupassen}. Und customize wurde
 geboren.
    

    
  \par
  
 Mit customize gibt es eine intuitivere Möglichkeit, Teile des Emacs
 anzupassen. Um es auszuprobieren, sehen Sie sich entweder das
 Customize-Untermenue in Ihrem Help Menue an, oder tippen
	 {\bf M+x
    customize}
 .
    

    
  \par
  
 Customize unterteilt die Anpassung in sinnvolle Gruppen wie
 {\bf Editieren}, {\bf Programmieren}, {\bf Dateien} und so weiter. Einige Gruppen
 enthalten Untergruppen.
    

    
  \par
  
 Wenn Sie Veränderungen vornehmen, in dem Sie {\bf customize} benutzen,
 speichert der Emacs diese Veränderungen in Ihrer {\bf .emacs}-Datei. Das ist
 ziemlich praktisch, weil Sie leicht die Veränderungen einsehen und
 verändern können, die er für Sie gemacht hat.
    

    
  \par
  
 Ich benutze das Customize Interface nicht, deshalb kann ich nicht viel
 mehr darüber sagen.
    
   

   \subsection{X Window} \label{d63e2811}
        

    

    
  \par
  
 Wie jede gut erzogene X Applikation respektiert der Emacs Ihre X
 Ressourcen. Das bedeutet, Sie können die ursprünglichen Farben,
 Geometrie und andere X-spezifischen Dinge steuern, genau wie bei
 xterm, nxterm oder was auch immer.
    

    
  \par
  
 Hier ist der relevante Teil meiner {\bf \~{}/.Xdefaults} Datei:
    

    \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
\~{}/.Xdefaults Datei:
     \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
      
       emacs*Background: DarkSlateGray
       emacs*Foreground: Wheat
       emacs*pointerColor: Orchid
       emacs*cursorColor: Orchid
       emacs*bitmapIcon: on
       emacs*font: fixed
       emacs.geometry: 80x25
      
     \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

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

    
  \par
  
Chris Gray 
				<cgray4@po-box.mcgill.ca>
			) stellt auch fest:
    

    
       Debian benutzt anscheinend die {\bf \~{}/.Xdefaults} nicht. Wie dem
       auch sei, Debian-Leute können das, was sie gerade eingegeben
       haben, in {\bf /etc/X11/Xresources/emacs} schreiben und bekommen
       dann die gleichen schönen Farben, die sie bekommen hätten,
       wenn Sie RedHat benutzen würden.
    
   
  \section{Populäre Pakete} \label{d63e2862}
        

   

   
  \par
  
Zusätzlich zu den vielen unterschiedlichen Modi für den Emacs gibt es
auch viele Zusatzpakete. Ich nenne sie Pakete, weil sie mehr als nur
neue Modi sind. Sie beinhalten oft zusätzliche Utilities oder sind so
groß, dass sie Modi zu nennen, ihnen einfach nicht gerecht wird. In
anderen Fällen handelt es sich um Software, die andere Emacs-Modi und
Pakete erweitert oder integriert. Der Unterschied ist nicht ganz klar,
aber das ist okay.
   

   \subsection{VM (Mail)} \label{d63e2872}
        

    

    
  \par
  
 Um die VM FAQ zu zitieren:
    

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

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



    
  \par
  
 Man bekommt es hier:
    

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

   

   \subsection{Gnus (Mail und News)} \label{d63e2916}
        

    




    
  \par
  
 Um das GNUS-Handbuch zu zitieren:
    

    
      Gnus ist ein Mail-Lese-Labor. Es lässt Sie praktisch alles
      ansehen, als wäre es eine Newsgroup. Sie können damit Mail
      lesen, Sie können Verzeichnisse durchsehen, Sie können damit
      FTP betreiben - sie können 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
      Anwender, in dem was er tun darf, keine Grenzen. Anwender werden
      ermutigt, Gnus zu erweitern, damit es so funktioniert, wie
      sie es möchten. Ein Programm sollte nicht Menschen
      kontrollieren; die Menschen sollten tun können, was sie möchten,
      wenn sie das Programm benutzen (oder missbrauchen).
    


    
  \par
  
 Ich benutze z.Zt. GNUS für meine Mail und News (wie oben angedeutet).
 GNUS wird auch aktiv weiterentwickelt und gut gepflegt.
    

    
  \par
  
 Man bekommt es hier:
    

    
http://www.gnus.org/
    
   

   \subsection{BBDB (eine Art Rolodex)} \label{d63e2963}
        

    

    
  \par
  
 BBDB ist eine heimtückische Big Brother Datenbank, ein Rolodex-artiges
 Programm für den Emacs, das mit den meisten der populären
 Emacs-Mail-Pakete (VM und GNUS eingeschlossen) arbeitet.
    

    
  \par
  
 Man bekommt es hier:
    

    
http://bbdb.sourceforge.net
    
   

   \subsection{AucTeX (ein weiterer TeX Modus)} \label{d63e2992}
        

    

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

    
  \par
  
 Um die AucTeX Website zu zitieren:
    

    
      AucTeX ist ein erweiterbares Paket, das das Schreiben und
      Formatieren von TeX-Dateien für die meisten GNU Emacs
      Varianten unterstützt. Viele unterschiedliche Makro-Pakete
      werden unterstützt, einschließlich AMSTeX, LaTeX und TeXinfo.
    


    
  \par
  
 Man bekommt es hier:
    

    
http://sunsite.auc.dk/auctex/
    
   
  \section{Andere Quellen} \label{d63e3046}
        

   

   
  \par
  
Dieser Abschnitt behandelt Bücher, Websites, Newsgruppen,
Mailinglisten und andere Orte, an denen man mehr Informationen über
den Emacs findet.
   

   \subsection{Bücher} \label{d63e3056}
        

    

    
  \par
  
 Es gibt einige wenige wirklich gute Bücher zum Erlernen des Emacs.
 Zusätzlich zu diesen werden Sie feststellen, dass viele Linux- und
 Unix-Bücher auch ein oder zwei Kapitel über den Emacs (und vi)
 beinhalten.
    

    \subsubsection{Learning GNU Emacs} \label{d63e3066}
        

     

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

     
  \par
  
  Verlag: O'Reilly \& Associates
     

     
http://www.ora.com
     

     
  \par
  
  Kommentar: Dieses Buch ist wahrscheinlich das beste, wenn man anfängt.
  Nachdem Sie die HOWTO gelesen und die FAQ durchgesehen haben, dient
  dieses Buch als ein umfassendes und sehr leicht zugängliches Tutorial.
     
    

    \subsubsection{Writing GNU Emacs Extensions} \label{d63e3098}
        

     

     
  \par
  
  Autor: Bob Glickstein
     


     
  \par
  
  Verlag: O'Reilly \& Associates
     

     
http://www.ora.com/
     

     
  \par
  
  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 würden, ist dies Ihr
  Buch. Es versucht zwar nicht Lisp zu lehren, doch enthält es eine
  kurze Einführung in die Sprache.
     
    

    \subsubsection{Programming in Emacs Lisp: An Introduction} \label{d63e3121}
        

     

     
  \par
  
  Autor: Robert J. Chassell
     


     
  \par
  
  Aus der README-Datei:
     


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

     
  \par
  
  Man bekommt das vollständige Handbuch über Anonymous-FTP vom GNU FTP
  Server:
     

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

     
  \par
  
  Kommentar:  Dies ist ein gutes Einführungshandbuch für Emacs Lisp,
  selbst wenn man kein Hochleistungsprogrammierer ist.
     
    

    \subsubsection{The GNU Emacs Lisp Reference Manual} \label{d63e3150}
        

     

     
  \par
  
  Autor: Richard Stallman
     


     
  \par
  
  Verlag: The Free Software Foundation
     

     
http://www.fsf.org/
     

     
  \par
  
  Man bekommt das vollständige Handbuch über Anonymous-FTP vom GNU FTP
  Server:
     

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


     
  \par
  
  Kommentar: Dies ist das ultimative Handbuch für das Programmieren in
  Emacs Lisp.
     
    
   

   \subsection{Websites} \label{d63e3183}
        

    

    \subsubsection{EMACSulation} \label{d63e3190}
        

     

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

     
http://www.linuxgazette.com/
     

     
  \par
  
  Die aktuellste Kolumne erscheint unter:
     

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

     
  \par
  
  Links zu den vorher erschienenen Artikeln finden Sie, wenn Sie zum
  Ende des Artikels blättern.
     
    
   

   \subsection{Newsgruppen} \label{d63e3223}
        

    

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

    \begin{list}{*}{}
     
	\item 
 comp.emacs
     
     
	\item 
 comp.emacs.sources
     
     
	\item 
 gnu.emacs
     
     
	\item 
 gnu.emacs.bug
     
     
	\item 
 gnu.emacs.help
     
     
	\item 
 gnu.emacs.sources
     
    \end{list}

    
  \par
  
  Zwei Beispiele für deutsche Newsgruppen sind:
    

    \begin{list}{*}{}
     
	\item 
 de.comp.gnu
     
     
	\item 
 de.comp.editoren
     
    \end{list}
   

   \subsection{Mailinglisten} \label{d63e3270}
        

    

    
  \par
  
 Es gibt eine Mailingliste für den GNU Emacs bei der Free Software
 Foundation. Sehen Sie sich die Website an, wenn Sie weitere
 Informationen möchten:
    

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

    
  \par
  
 Die einzige  dem Emacs gewidmete Mailingliste, die ich im Moment
 kenne, ist die NT-Emacs-Liste. Es ist eine Liste für 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
    
   

   \subsection{Das Emacs-Lisp-Archiv} \label{d63e3296}
        

    

    
  \par
  
 Aus dem Emacs-Lisp-Archiv-README:
    

    
      Die Emacs-Lisp-Archive bei ftp://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
      Foundation 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 können, um die Programmiersprache,
      die sie benutzen beim Editieren besser zu unterstützen, um
      neue Funktionen hinzuzufügen, um das Standardverhalten des
      Emacs zu verändern. Der größte Teil des Archivs ist von
      Einzelnen geschrieben worden und über das Internet durch die
      {\bf info-emacs} oder die {\bf info-gnu-emacs} Mailingliste oder den
      comp.emacs, gnu.emacs oder gnu.emacs.sources Newsgruppen
      öffentlich verbreitet worden.
    

    
  \par
  
 Auf die Archive kann über Anonymous-FTP von
    

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

    
  \par
  
 zugegriffen werden.
    

    
  \par
  
 Beachten Sie: Soweit ich sagen kann, verliert das Emacs-Lisp-Archiv
 langsam an Aktualität. 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. (Zögern Sie
 nicht, mich zu korrigieren, falls das nicht stimmt).
    
   
  \section{Danksagungen} \label{d63e3353}
        

   

   
  \par
  
Die folgenden Menschen haben zum Erfolg des Dokumentes beigetragen.
   

   \begin{list}{*}{}
    
	\item 
Craig Lyons 
				<Craig.Lyons@compaq.com>
			
    
    
	\item 
Robert Vollmert 
				<rvollmer@gmx.net>
			
    
    
	\item 
Larry Brasfield 
				<larrybr@seanet.com>
			
    
    
	\item 
Etienne Grossmann 
				<etienne@anonimo.isr.ist.utl.pt>
			
   
    
	\item 
Thomas Weinell 
				<kf6mli@amsat.org>
			
    
    
	\item 
Adam C. Finnefrock 
				<adam@bigbro.biophys.cornell.edu>
			
    
    
	\item 
Chris Gray 
				<cgray4@po-box.mcgill.ca>
			
    
    
	\item 
Robert J. Chassell 
				<bob@rattlesnake.com>
			
    
    
	\item 
Isaac To 
				<kkto@csis.hku.hk>
			
    
    
	\item 
Matteo Valsasna 
				<valsasna@elet.polimi.it>
			
    
    
	\item 
Tijs van Bakel 
				<smoke@casema.net>
			
    
   \end{list}

   
  \par
  
Bei der deutschen Übersetzung hat mich unterstützt:
   

   \begin{list}{*}{}
    
	\item 
Michael Weyrauch 
				<michael.weyrauch@gmx.net>
			
    
   \end{list}
  
	\ref{inhalt.tex}


	\end{document}
	
