/usr/share/doc/HOWTO/de-html/DE-Emacs-Einsteiger-HOWTO-3.html is in doc-linux-de 2003.10-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
<TITLE>HOWTO für den Emacs Einsteiger: Emacs-Modi</TITLE>
<LINK HREF="DE-Emacs-Einsteiger-HOWTO-4.html" REL=next>
<LINK HREF="DE-Emacs-Einsteiger-HOWTO-2.html" REL=previous>
<LINK HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-Emacs-Einsteiger-HOWTO-4.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Emacs-Einsteiger-HOWTO-2.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s3">3.</A> <A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3">Emacs-Modi</A></H2>
<P>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.</P>
<P>Emacs-Modi sind einfach Lisp-Code-Bibliotheken, die den Emacs auf
irgendeine Art und Weise erweitern, verändern oder optimieren.</P>
<H2><A NAME="ss3.1">3.1</A> <A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3.1">Haupt- vs. Untermodi</A>
</H2>
<P>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.</P>
<P>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.</P>
<P>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 »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.</P>
<P>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 »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 »text-mode« bin oder zum Beispiel im
»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 »auto-fill« Modus ist smart genug,
das herauszukriegen</P>
<P>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.</P>
<P>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?</P>
<H2><A NAME="ss3.2">3.2</A> <A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3.2">Programmier-Modi</A>
</H2>
<P>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.</P>
<P>Die meisten Programmier-Modi teilen einige gemeinsame
Charakteristika. Normalerweise machen sie das Folgende ganz oder
teilweise:</P>
<P>
<UL>
<LI>stellen eine farbliche Hervorhebung der Syntax für die Sprache zur Verfügung,
</LI>
<LI>stellen automatischen Texteinzug und Code-Formatierung für die
Sprache zur Verfügung,
</LI>
<LI>verfügen über eine kontext- (sprach-)sensitive Hilfefunktion,
</LI>
<LI>verfügen über ein automatisches Interface mit Ihrem Debugger,
</LI>
<LI>ergänzen die Menuezeile durch sprachspezifische Menues.
</LI>
</UL>
</P>
<P>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.</P>
<P>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.</P>
<H3>C/C++/Java</H3>
<P>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 »cc-mode« oder
»CC Mode« genannt.</P>
<P>Für weitere Details oder den Download einer neueren Version, besuchen
Sie
<BLOCKQUOTE><CODE>
<A HREF="http://www.python.org/emacs/">http://www.python.org/emacs/</A></CODE></BLOCKQUOTE>
</P>
<H3>Perl</H3>
<P>Es gibt eigentlich zwei Modi, um Perl-Code im Emacs zu editieren. Der
erste heißt »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
verfügen und es mangelt ihm an der Fähigkeit, einige von Perls
ausgefalleneren Sprachkonstrukten zu erkennen.</P>
<P>Ich persönlich benutze und empfehle »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:
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs">ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs</A></CODE></BLOCKQUOTE>
</P>
<P>Aber nehmen Sie mich nicht beim Wort. Probieren Sie beide aus und
nehmen Sie den, der am meisten Ihren Bedürfnissen entspricht.</P>
<H3>Python</H3>
<P>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.</P>
<P>Sie können den »python-mode« von der offiziellen Python-Website
beziehen:
<BLOCKQUOTE><CODE>
<A HREF="http://www.python.org/emacs/python-mode/">http://www.python.org/emacs/python-mode/</A>
</CODE></BLOCKQUOTE>
</P>
<H3>Weitere</H3>
<P>Es gibt viele, viele andere Editier-Modi zur Unterstützung von
Programmierern. Diese Modi helfen bei Dingen wie:</P>
<P>
<UL>
<LI>Shell Skripte (<CODE>bash</CODE>, <CODE>sh</CODE>, <CODE>ksh</CODE>, <CODE>csh</CODE> usw)</LI>
<LI><CODE>awk</CODE>, <CODE>sed</CODE>, <CODE>tcl</CODE> usw.</LI>
<LI>Makefiles</LI>
<LI>Change Logs</LI>
<LI>Dokumentation</LI>
<LI>Debugging
</LI>
</UL>
</P>
<P>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.</P>
<H2><A NAME="ss3.3">3.3</A> <A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3.3">Arbeiten als Autor</A>
</H2>
<P>Stellen Sie sich vor, Emacs-Modi sind <EM>nicht</EM> 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.</P>
<H3>Rechtschreibprüfung (»ispell« Modus)</H3>
<P>Autoren vieler Arten von Dokumenten brauchen immer wieder mal eine
Hilfe bei der Rechtschreibprüfung. Wenn sie GNU <CODE>ispell</CODE>
installiert haben, können Sie »M-x ispell« eintippen und den aktuellen
Puffer auf seine Rechtschreibung hin überprüfen lassen. Wenn <CODE>ispell</CODE> 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.</P>
<H3>HTML (»html-helper-mode«)</H3>
<P>Wenn Sie immer wieder mal oder sogar oft HTML-Dateien schreiben,
möchten Sie vielleicht den <CODE>html-helper-mode</CODE> ausprobieren. Man bekommt
ihn unter
<BLOCKQUOTE><CODE>
<A HREF="http://www.santafe.edu/~nelson/tools/">http://www.santafe.edu/~nelson/tools/</A></CODE></BLOCKQUOTE>
wie auch die
Dokumentation und was damit zu tun hat.</P>
<P>Wie der Namen schon andeutet, kann der <CODE>html-helper-mode</CODE> viel für die
Leute tun, die noch HTML mit der Hand schreiben, auf die altmodische
Art.</P>
<H3>TeX (»tex-mode«)</H3>
<P>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 <CODE>tex-mode</CODE>
macht das für Sie.</P>
<P>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.</P>
<H3>SGML (»sgml-mode«)</H3>
<P>Das Dokument, das sie gerade lesen, wurde in SGML geschrieben und
in das Format konvertiert, in dem sie es lesen. Der
<CODE>sgml-mode</CODE> hat alle Grundlagen für SGML Dokumente: Validierung,
Hervorhebung, Forward-Tag, Backward-Tag, und vieles mehr. Er ist ein
Standardbestandteil des Emacs.</P>
<H2><A NAME="ss3.4">3.4</A> <A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3.4">Andere Modi</A>
</H2>
<P>Natürlich gibt es noch viele andere praktische Modi, die das Leben
einfacher machen. Hier folgt nur eine kleine Auswahl der populären:</P>
<H3>Versionskontrolle (»vc« Modus)</H3>
<P>Der <CODE>vc</CODE> 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.</P>
<H3>Shell Modus (»shell«)</H3>
<P>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 :-).</P>
<P>»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 <CODE>vi</CODE> oder <CODE>pine</CODE>), weil der Emacs
hinter den Kulissen mit der wirkichen Shell kommuniziert.</P>
<P>Auch dies ist ein Standardbestandteil des Emacs, so dass man ihn in
der Emacs-Dokumentation dokumentiert findet.</P>
<H3>Telnet und FTP (»telnet« und »ftp« Modi)</H3>
<P>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 ;-)?</P>
<P>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 blutrünstigen
Details.</P>
<H3>Handbuch (»man« Modus)</H3>
<P>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.</P>
<P>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 möchten.</P>
<H3>Ange-FTP</H3>
<P>Um die <CODE>ange-ftp</CODE> Dokumentation zu zitieren:</P>
<P>
<BLOCKQUOTE>
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.
</BLOCKQUOTE>
</P>
<P>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 <CODE>ange-ftp</CODE> die Speicherung vor und
schreibt die Datei zurück auf den weit entfernten Rechner.</P>
<P>Die etwas andere Pfadsyntax geht so: Eine <CODE>myfile</CODE> benannte Datei in
einem <CODE>user</CODE> Verzeichnis auf einem <CODE>my.host.org</CODE> benannten Rechner
kann durch »C-x f« geöffnet werden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/user@my.host.org:~user/myfile
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Auch dies ist ein Standardbestandteil der Emacs-Distribution, sodass
man es in der Emacs Dokumentation dokumentiert findet.</P>
<P>Meinen Dank an Etienne Grossman
(<CODE>
<A HREF="mailto:etienne@anonimo.isr.ist.utl.pt">etienne@anonimo.isr.ist.utl.pt</A></CODE>) für das obige Beispiel.</P>
<HR>
<A HREF="DE-Emacs-Einsteiger-HOWTO-4.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-Emacs-Einsteiger-HOWTO-2.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-Emacs-Einsteiger-HOWTO.html#toc3"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>
|