(free_float): Make free list chaining aliasing-safe.
[emacs.git] / etc / de-refcard.tex
blobbb0ce3c978d24e17dee6824b7246bb68d3a05319
1 % Reference Card for GNU Emacs version 19 on Unix systems
2 %**start of header
3 \newcount\columnsperpage
5 % This file can be printed with 1, 2, or 3 columns per page (see below).
6 % Specify how many you want here. Nothing else needs to be changed.
8 \columnsperpage=2
10 % Copyright (C) 1987, 1993, 1996, 2000, 2002, 2003, 2004,
11 % 2005 Free Software Foundation, Inc.
13 % This file is part of GNU Emacs.
15 % GNU Emacs is free software; you can redistribute it and/or modify
16 % it under the terms of the GNU General Public License as published by
17 % the Free Software Foundation; either version 2, or (at your option)
18 % any later version.
20 % GNU Emacs is distributed in the hope that it will be useful,
21 % but WITHOUT ANY WARRANTY; without even the implied warranty of
22 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 % GNU General Public License for more details.
25 % You should have received a copy of the GNU General Public License
26 % along with GNU Emacs; see the file COPYING. If not, write to
27 % the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
28 % Boston, MA 02110-1301, USA.
30 % This file is intended to be processed by plain TeX (TeX82).
32 % The final reference card has six columns, three on each side.
33 % This file can be used to produce it in any of three ways:
34 % 1 column per page
35 % produces six separate pages, each of which needs to be reduced to 80%.
36 % This gives the best resolution.
37 % 2 columns per page
38 % produces three already-reduced pages.
39 % You will still need to cut and paste.
40 % 3 columns per page
41 % produces two pages which must be printed sideways to make a
42 % ready-to-use 8.5 x 11 inch reference card.
43 % For this you need a dvi device driver that can print sideways.
44 % Which mode to use is controlled by setting \columnsperpage above.
46 % Author:
47 % Stephen Gildea
48 % Internet: gildea@stop.mail-abuse.org
50 % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
51 % for their many good ideas.
53 % If there were room, it would be nice to see a section on Dired.
55 \def\versionnumber{2.1}
56 \def\year{2005}
57 \def\version{March \year\ v\versionnumber}
59 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
60 \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
61 Permissions on back. v\versionnumber}}
63 \def\copyrightnotice{\vskip 1ex plus 2 fill\begingroup\small
64 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
65 \centerline{designed by Stephen Gildea, \version}
66 \centerline{for GNU Emacs version 19 on Unix systems}
68 Permission is granted to make and distribute copies of
69 this card provided the copyright notice and this permission notice
70 are preserved on all copies.
73 \endgroup}
75 % make \bye not \outer so that the \def\bye in the \else clause below
76 % can be scanned without complaint.
77 \def\bye{\par\vfill\supereject\end}
79 \newdimen\intercolumnskip %horizontal space between columns
80 \newbox\columna %boxes to hold columns already built
81 \newbox\columnb
83 \def\ncolumns{\the\columnsperpage}
85 \message{[\ncolumns\space
86 column\if 1\ncolumns\else s\fi\space per page]}
88 \def\scaledmag#1{ scaled \magstep #1}
90 % This multi-way format was designed by Stephen Gildea October 1986.
91 % Note that the 1-column format is fontfamily-independent.
92 \if 1\ncolumns %one-column format uses normal size
93 \hsize 4in
94 \vsize 10in
95 \voffset -.7in
96 \font\titlefont=\fontname\tenbf \scaledmag3
97 \font\headingfont=\fontname\tenbf \scaledmag2
98 \font\smallfont=\fontname\sevenrm
99 \font\smallsy=\fontname\sevensy
101 \footline{\hss\folio}
102 \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
103 \else %2 or 3 columns uses prereduced size
104 \hsize 3.2in
105 \vsize 7.95in
106 % \hoffset -.75in
107 \hoffset -.82in
108 % \voffset -.745in
109 \voffset -.6in
110 \font\titlefont=cmbx10 \scaledmag2
111 \font\headingfont=cmbx10 \scaledmag1
112 \font\smallfont=cmr6
113 \font\smallsy=cmsy6
114 \font\eightrm=cmr8
115 \font\eightbf=cmbx8
116 \font\eightit=cmti8
117 \font\eighttt=cmtt8
118 \font\eightmi=cmmi8
119 \font\eightsy=cmsy8
120 \textfont0=\eightrm
121 \textfont1=\eightmi
122 \textfont2=\eightsy
123 \def\rm{\eightrm}
124 \def\bf{\eightbf}
125 \def\it{\eightit}
126 \def\tt{\eighttt}
127 \normalbaselineskip=.8\normalbaselineskip
128 \normallineskip=.8\normallineskip
129 \normallineskiplimit=.8\normallineskiplimit
130 \normalbaselines\rm %make definitions take effect
132 \if 2\ncolumns
133 \let\maxcolumn=b
134 \footline{\hss\rm\folio\hss}
135 \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
136 \else \if 3\ncolumns
137 \let\maxcolumn=c
138 \nopagenumbers
139 \else
140 \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
141 \errmessage{Illegal number of columns per page}
142 \fi\fi
144 \intercolumnskip=.46in
145 \def\abc{a}
146 \output={% %see The TeXbook page 257
147 % This next line is useful when designing the layout.
148 %\immediate\write16{Column \folio\abc\space starts with \firstmark}
149 \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
150 \else\if a\abc
151 \global\setbox\columna\columnbox \global\def\abc{b}
152 %% in case we never use \columnb (two-column mode)
153 \global\setbox\columnb\hbox to -\intercolumnskip{}
154 \else
155 \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
156 \def\multicolumnformat{\shipout\vbox{\makeheadline
157 \hbox{\box\columna\hskip\intercolumnskip
158 \box\columnb\hskip\intercolumnskip\columnbox}
159 \makefootline}\advancepageno}
160 \def\columnbox{\leftline{\pagebody}}
162 \def\bye{\par\vfill\supereject
163 \if a\abc \else\null\vfill\eject\fi
164 \if a\abc \else\null\vfill\eject\fi
165 \end}
168 % we won't be using math mode much, so redefine some of the characters
169 % we might want to talk about
170 \catcode`\^=12
171 \catcode`\_=12
173 \chardef\\=`\\
174 \chardef\{=`\{
175 \chardef\}=`\}
177 \hyphenation{mini-buf-fer}
179 \parindent 0pt
180 \parskip 1ex plus .5ex minus .5ex
182 \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
184 % newcolumn - force a new column. Use sparingly, probably only for
185 % the first column of a page, which should have a title anyway.
186 \outer\def\newcolumn{\vfill\eject}
188 % title - page title. Argument is title text.
189 \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
191 % section - new major section. Argument is section name.
192 \outer\def\section#1{\par\filbreak
193 \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
194 \vskip 2ex plus 1ex minus 1.5ex}
196 \newdimen\keyindent
198 % beginindentedkeys...endindentedkeys - key definitions will be
199 % indented, but running text, typically used as headings to group
200 % definitions, will not.
201 \def\beginindentedkeys{\keyindent=1em}
202 \def\endindentedkeys{\keyindent=0em}
203 \endindentedkeys
205 % paralign - begin paragraph containing an alignment.
206 % If an \halign is entered while in vertical mode, a parskip is never
207 % inserted. Using \paralign instead of \halign solves this problem.
208 \def\paralign{\vskip\parskip\halign}
210 % \<...> - surrounds a variable name in a code example
211 \def\<#1>{{\it #1\/}}
213 % kbd - argument is characters typed literally. Like the Texinfo command.
214 \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
216 % beginexample...endexample - surrounds literal text, such a code example.
217 % typeset in a typewriter font with line breaks preserved
218 \def\beginexample{\par\leavevmode\begingroup
219 \obeylines\obeyspaces\parskip0pt\tt}
220 {\obeyspaces\global\let =\ }
221 \def\endexample{\endgroup}
223 % key - definition of a key.
224 % \key{description of key}{key-name}
225 % prints the description left-justified, and the key-name in a \kbd
226 % form near the right margin.
227 \def\key#1#2{\leavevmode\hbox to \hsize{\vtop
228 {\hsize=.75\hsize\rightskip=1em
229 \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
231 \newbox\metaxbox
232 \setbox\metaxbox\hbox{\kbd{M-x }}
233 \newdimen\metaxwidth
234 \metaxwidth=\wd\metaxbox
236 % metax - definition of a M-x command.
237 % \metax{description of command}{M-x command-name}
238 % Tries to justify the beginning of the command name at the same place
239 % as \key starts the key name. (The "M-x " sticks out to the left.)
240 \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
241 {\hskip\keyindent\relax#1\hfil}%
242 \hskip -\metaxwidth minus 1fil
243 \kbd{#2}\hfil}}
245 % threecol - like "key" but with two key names.
246 % for example, one for doing the action backward, and one for forward.
247 \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad
248 &\kbd{#3}\hfil\quad\cr}
250 %**end of header
253 \title{GNU Emacs Referenzkarte}
255 %\centerline{(fuer version 19)}
257 \section{Emacs Starten}
259 Um GNU Emacs 19 zu starten, tippen Sie ein: \kbd{emacs}
261 Um eine Datei fuers Editieren zu laden, lesen Sie unten weiter.
263 \section{Emacs Verlassen}
265 \key{Emacs pausieren lassen}{C-z}
266 \key{Emacs beenden}{C-x C-c}
268 \section{Dateien}
270 \key{Datei {\bf oeffnen} }{C-x C-f}
271 \key{Datei {\bf sichern} }{C-x C-s}
272 \key{{\bf alle} Dateien sichern}{C-x s}
273 \key{den Inhalt einer anderen Datei {\bf einfuegen}}{C-x i}
274 \key{diese Datei durch eine andere ersetzen}{C-x C-v}
275 \key{Datei neu anlegen und speichern}{C-x C-w}
276 \key{version control ein/auschecken}{C-x C-q}
278 \section{Hilfe}
280 Das Hilfesystem ist einfach zu bedienen. Tippen Sie \kbd{C-h} (oder \kbd{F1}). Neulinge tippen \kbd{C-h t} um ein {\bf tutorial} zu starten.
282 \key{Hilfe Fenster entfernen}{C-x 1}
283 \key{Hilfe Fenster scrollen}{C-M-v}
285 \key{apropos: zeigt alle Befehle mit dem Muster}{C-h a}
286 \key{zeigt die Funktion mit dieser Tastenkomb.}{C-h c}
287 \key{beschreibt die Funktion}{C-h f}
288 \key{modusspezifische Information}{C-h m}
290 \section{Was tun wenn nichts mehr geht}
292 \key{{\bf Abbrechen} eines Vorgangs}{C-g}
293 \metax{{\bf Wiederherstellung} von Dateien}{M-x recover-file}
294 \key{{\bf rueckgaengig} machen}{C-x u}
295 \metax{Puffer in Ursprungszustand bringen}{M-x revert-buffer}
296 \key{Bildschirmanzeige in Ordnung bringen}{C-l}
298 \section{Inkrementelle Suche}
300 \key{Suche vorwaerts}{C-s}
301 \key{Suche rueckwaerts}{C-r}
302 \key{Suche mit regulaeren Ausdruecken}{C-M-s}
303 \key{Rueckwaertssuche mit reg. Ausdruecken}{C-M-r}
304 \key{letzten Suchausdruck auswaehlen}{M-p}
305 \key{spaeteren Suchausdruck auswaehlen}{M-n}
306 \key{inkrementelle Suche beenden}{RET}
307 \key{ein Suchzeichen zurueckgehen}{DEL}
308 \key{Suche abbrechen}{C-g}
310 Wiederholtes Druecken von \kbd{C-s} oder \kbd{C-r} sucht weitere Treffer.
311 Wenn Emacs sucht, unterbricht \kbd{C-g} nur die jeweils letzte Suche.
313 \shortcopyrightnotice
315 \section{Cursor Bewegung}
317 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
318 \threecol{{\bf Textteile ueberspringen}}{{\bf rueckw.}}{{\bf vorw.}}
319 \threecol{Zeichen}{C-b}{C-f}
320 \threecol{Wort}{M-b}{M-f}
321 \threecol{Zeile}{C-p}{C-n}
322 \threecol{zum Zeilenende springen}{C-a}{C-e}
323 \threecol{Satz}{M-a}{M-e}
324 \threecol{Paragraph}{M-\{}{M-\}}
325 \threecol{Seite}{C-x [}{C-x ]}
326 \threecol{Lisp-s-expression}{C-M-b}{C-M-f}
327 \threecol{Funktion}{C-M-a}{C-M-e}
328 \threecol{zum Pufferanfang (oder Ende)springen}{M-<}{M->}
331 \key{eine Bildschirmseite runter scrollen}{C-v}
332 \key{eine Bildschirmseite hoch scrollen}{M-v}
333 \key{nach links scrollen}{C-x <}
334 \key{nach rechts scrollen}{C-x >}
335 \key{Cursorzeile in die Bildschirmmitte scrollen}{C-u C-l}
337 \section{Loeschen}
339 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
340 \threecol{{\bf Textteile }}{{\bf rueckwaerts}}{{\bf vorwaerts}}
341 \threecol{Zeichen (loeschen)}{DEL}{C-d}
342 \threecol{Wort}{M-DEL}{M-d}
343 \threecol{Zeile (bis zum Ende)}{M-0 C-k}{C-k}
344 \threecol{Satz}{C-x DEL}{M-k}
345 \threecol{Lisp-s-expression}{M-- C-M-k}{C-M-k}
347 \key{{\bf Bereiche} loeschen}{C-w}
348 \key{Bereich in die Ablage kopieren}{M-w}
349 \key{Bis zum {\it Zeichen} loeschen }{M-z {\it Zeichen}}
350 \key{letztes geloeschtes Zeichen einsetzen}{C-y}
351 \key{eins davor einsetzen}{M-y}
353 \section{Markieren}
355 \key{Marke setzen}{C-@ {\rm or} C-SPC}
356 \key{zwischen Cursor und Marke wechseln}{C-x C-x}
357 \key{Marke {\it Argument\/} {\bf Worte} entfernt setzen}{M-@}
358 \key{{\bf Paragraph} markieren}{M-h}
359 \key{{\bf Seite} markieren}{C-x C-p}
360 \key{{\bf Lisp-s-expression} markieren}{C-M-@}
361 \key{{\bf Funktion} markiern}{C-M-h}
362 \key{den ganzen {\bf Puffer} markieren}{C-x h}
364 \section{Interaktives Ersetzen}
366 \key{Zeichenkette interaktiv ersetzen}{M-\%}
367 \metax{mit regulaeren Ausdruecken}{M-x query-replace-regexp}
369 Moegliche Antworten in diesem Modus:
371 \key{dies {\bf ersetzten} und zum naechsten gehen}{SPC}
372 \key{dies ersetzen}{,}
373 \key{dies {\bf ueberspringen}, zum naechsten gehen}{DEL}
374 \key{alle verbleibenden Treffer ersetzen}{!}
375 \key{eine Ersetzung{\bf rueckgaengig} machen }{^}
376 \key{interaktiven Modus{\bf verlassen}}{RET}
377 \key{rekursiven Modus starten (\kbd{C-M-c} verlassen)}{C-r}
379 \section{Mehrere Fenster}
381 Die zweite Tastenk. bezieht sich immer auf das andere Fenster:
383 \key{alle anderen Fenster in den Hintergrund}{C-x 1}
385 {\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0
386 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
387 \threecol{Fenster vertikal teilen}{C-x 2\ \ \ \ }{C-x 5 2}
388 \threecol{dieses Fenster loeschen}{C-x 0\ \ \ \ }{C-x 5 0}
390 \key{Fenster horizontal teilen}{C-x 3}
392 \key{das andere Fenster scrollen}{C-M-v}
394 {\setbox0=\hbox{\kbd{0}}\advance\hsize by 2\wd0
395 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
396 \threecol{ins andere Fenster wechseln}{C-x o}{C-x 5 o}
398 \threecol{Puffer in ein anderes Fenster bringen}{C-x 4 b}{C-x 5 b}
399 \threecol{Puffer in einem anderen Fenster darstellen}{C-x 4 C-o}{C-x 5 C-o}
400 \threecol{Datei in ein anderes Fenster oeffnen}{C-x 4 f}{C-x 5 f}
401 \threecol{Datei im Ansichtmodus in anderem Fenster oeffnen}{C-x 4 r}{C-x 5 r}
402 \threecol{Dired in einem anderen Fenster oeffnen}{C-x 4 d}{C-x 5 d}
403 \threecol{Tag in einem anderen Fenster finden}{C-x 4 .}{C-x 5 .}
406 \key{Fenster vergroessern}{C-x ^}
407 \key{Fenster schmaler machen}{C-x \{}
408 \key{Fenster breiter machen}{C-x \}}
410 \section{Formattierung}
412 \key{{\bf Zeile} (modusabhaengig) einruecken}{TAB}
413 \key{{\bf Bereich} (modusabh.) einruecken}{C-M-\\}
414 \key{{\bf Lisp-s-expression} (modusabh.) einruecken}{C-M-q}
415 \key{Bereich {\it Argument\/} Spalten einruecken}{C-x TAB}
416 \key{Zeilenumbruch nach Cursor einfuegen}{C-o}
417 \key{Zeilenrest vertikal nach unten verschieben}{C-M-o}
418 \key{Leerzeilen um Cursorposition loeschen}{C-x C-o}
419 \key{Zeile mit letzter verbinden (Arg. naechster)}{M-^}
420 \key{Leerzeichen an Cursorposition loeschen}{M-\\}
421 \key{ein Leerzeichen an Cursorposition setzen}{M-SPC}
422 \key{Paragraph auffuellen}{M-q}
423 \key{Fuell Spalte setzen}{C-x f}
424 \key{Praefix setzen fuer jede Zeile}{C-x .}
425 \key{Zeichendarstellung setzen}{M-g}
427 \section{Gross-Kleinbuchstaben}
429 \key{Wort in Grossbuchstaben}{M-u}
430 \key{Wort in Kleinbuchstaben}{M-l}
431 \key{Word mit grossen Anfangsbuchstaben}{M-c}
433 \key{Bereich in Grossbuchstaben}{C-x C-u}
434 \key{Bereich in Kleinbuchstaben}{C-x C-l}
436 \section{Der Minipuffer}
438 Die folgenden Tastenkombination gelten im Minipuffer:
440 \key{so viel wie moeglich ergaenzen}{TAB}
441 \key{ein Wort ergaenzen}{SPC}
442 \key{ergaenzen und ausfuehren}{RET}
443 \key{moegliche Ergaenzungen zeigen}{?}
444 \key{letzte Eingabe wiederanzeigen}{M-p}
445 \key{spaetere Eingabe wiederanzeigen}{M-n}
446 \key{reg. Ausd. rueckwaerts in History suchen}{M-r}
447 \key{reg. Ausd. vorwaerts in History suchen}{M-s}
448 \key{Vorgang unterbrechen}{C-g}
450 Tippen Sie \kbd{C-x ESC ESC} um den letzten Befehl zu editieren und zu wiederholen der im Minipuffer ausgefuehrt wurde.
452 \newcolumn
453 \title{GNU Emacs Referenzkarte}
455 \section{Puffer}
457 \key{anderen Puffer auswaehlen}{C-x b}
458 \key{alle Puffer anzeigen}{C-x C-b}
459 \key{Puffer loeschen}{C-x k}
461 \section{Vertauschen}
463 \key{ {\bf Zeichen} vertauschen}{C-t}
464 \key{ {\bf Worte} vertauschen}{M-t}
465 \key{ {\bf Zeilen} vertauschen}{C-x C-t}
466 \key{ {\bf Lisp-s-expressions} vertauschen}{C-M-t}
468 \section{Rechtschreibkorrrektur}
470 \key{Ueberpruefe aktuelles Wort}{M-\$}
471 \metax{Ueberpruefe alle Woerter in Bereich}{M-x ispell-region}
472 \metax{Ueberpruefe den gesamten Bereich}{M-x ispell-buffer}
474 \section{Tags}
476 \key{Tag finden (Definition)}{M-.}
477 \key{Naechstes Vorkommen von Tag finden}{C-u M-.}
478 \metax{Neue Tags Datei angeben}{M-x visit-tags-table}
479 \metax{Regulaere Ausdruck Suche in Dateien}{M-x tags-search}
480 \metax{Interakt. Ersetzen in allen Dateien}{M-x tags-query-replace}
481 \key{Letzte Tag Suche oder Ersetzen nochmal}{M-,}
483 \section{Shells}
485 \key{Shell Kommando ausfuehren}{M-!}
486 \key{Shell Kommando fuer bereich ausfuehren}{M-|}
487 \key{Bereich durch Shell Kommando filtern}{C-u M-|}
488 \metax{Shell im Fenster \kbd{*shell*} starten}{M-x shell}
490 \section{Rechtecke}
492 \key{Kopiere Rechteck in Register}{C-x r r}
493 \key{Loesche Rechteck}{C-x r k}
494 \key{Rechteck einsetzen}{C-x r y}
495 \key{Rechteck aufmachen, Text nach rechts}{C-x r o}
496 \key{Rechteck mit Leerzeichen ueberschreiben}{C-x r c}
497 \key{Praefix vor jede Zeile setzen}{C-x r t}
499 \section{Abkuerzungen}
501 \key{globale Abkuerzung hinzufuegen}{C-x a g}
502 \key{modusabhaengige Abkuerzung hinzufuegen}{C-x a l}
503 \key{globale Expansion fuer Abk. definieren}{C-x a i g}
504 \key{modusabhaengige Abkuerzung definieren}{C-x a i l}
505 \key{explizites Expandieren}{C-x a e}
506 \key{letztes Wort dynamisch expandieren}{M-/}
508 \section{Regulaere Ausdruecke}
510 \key{jedes Zeichen ausser Zeilenumbruch}{. {\rm(Punkt)}}
511 \key{Null oder mehr Wiederholungen}{*}
512 \key{Eine oder mehr Wiederholungen}{+}
513 \key{Null oder eine Wiederholung}{?}
514 \key{jedes Zeichen in der Menge}{[ {\rm$\ldots$} ]}
515 \key{jedes Zeichen nicht in der Menge}{[^ {\rm$\ldots$} ]}
516 \key{Zeilenanfang}{^}
517 \key{Zeilenende}{\$}
518 \key{spezielles Zeichen maskieren {\it c\/}}{\\{\it c}}
519 \key{Alternative (``oder'')}{\\|}
520 \key{Gruppe}{\\( {\rm$\ldots$} \\)}
521 \key{{\it n\/}te Gruppe}{\\{\it n}}
522 \key{Pufferanfang}{\\`}
523 \key{Pufferende}{\\'}
524 \key{Wortzwischenraum}{\\b}
525 \key{Weder Anfang noch Ende eines Wortes}{\\B}
526 \key{Wortanfang}{\\<}
527 \key{Wortende}{\\>}
528 \key{jedes Wort-Syntax Zeichen}{\\w}
529 \key{jedes Nicht-Wort-Syntax Zeichen}{\\W}
530 \key{Zeichen mit Syntax {\it c}}{\\s{\it c}}
531 \key{Zeichen nicht mit Syntax {\it c}}{\\S{\it c}}
533 \section{Register}
535 \key{Region in Register speichern}{C-x r s}
536 \key{Register Inhalt in Puffer einfuegen}{C-x r i}
537 \key{Cursorposition in Register speichern}{C-x r SPC}
538 \key{Springe zur abgespeicherten Position}{C-x r j}
540 \section{Info}
542 \key{Info starten}{C-h i}
543 \beginindentedkeys
545 Bewegung innerhalb eines Knotens:
547 \key{vorwaerts scrollen}{SPC}
548 \key{rueckwaerts scrollen}{DEL}
549 \key{zum Anfang eines Knotens}{. {\rm (dot)}}
551 Bewegung zwischen Knoten:
553 \key{{\bf naechster} Knoten}{n}
554 \key{{\bf vorheriger} Knoten}{p}
555 \key{nach {\bf oben}}{u}
556 \key{Menue Element ueber Namen auswaehlen}{m}
557 \key{{\it n\/}ten Menueeintrag auswaehlen (1--9)}{{\it n}}
558 \key{Kreuzverweis folgen (zurueck mit \kbd{l})}{f}
559 \key{zurueck zum letzten gesehenen Knoten}{l}
560 \key{zurueck zum Verzeichnisknoten}{d}
561 \key{Knoten ueber Namen auswaehlen}{g}
563 Sonstige:
565 \key{Info {\bf Tutorial} starten}{h}
566 \key{Info Befehle zeigen}{?}
567 \key{Info {\bf verlassen} }{q}
568 \key{Knoten nach reg. Ausd. durchsuchen}{M-s}
570 \endindentedkeys
572 \section{Tastatur Makros}
574 \key{Tastatur Makro Definition {\bf starten} }{C-x (}
575 \key{Tastatur Makro Definition {\bf beenden} }{C-x )}
576 \key{zuletzt definiertes Tast. Makro {\bf ausfuehren}}{C-x e}
577 \key{an letztes Tastatur Makro anhaengen}{C-u C-x (}
578 \metax{letztes Tastatur Makro benennen}{M-x name-last-kbd-macro}
579 \metax{Lisp Definition in Puffer einfuegen}{M-x insert-kbd-macro}
581 \section{Kommandos fuer Emacs Lisp}
583 \key{{\bf Lisp-s-expression} vor Cursor laden}{C-x C-e}
584 \key{aktuelle {\bf Definition} auswerten}{C-M-x}
585 \metax{{\bf Bereich} auswerten}{M-x eval-region}
586 \metax{gesamten {\bf Puffer} auswerten}{M-x eval-current-buffer}
587 \key{Lispausdruck im Minipuffer auswerten}{M-:}
588 \key{letztes Minipufferkommando auswerten}{C-x ESC ESC}
589 \metax{Emacs Lisp Datei lesen und auswerten}{M-x load-file}
590 \metax{aus Standard Systemverzeichnis laden}{M-x load-library}
592 \section{Einfaches Konfigurieren}
594 % Das ist nur was fuer Leute die Lisp beherrschen
596 Ein Beispiel dafuer, wie man Tastenkombinationen definiert:
598 \beginexample%
599 (global-set-key "\\C-cg" 'goto-line)
600 (global-set-key "\\C-x\\C-k" 'kill-region)
601 (global-set-key "\\M-\#" 'query-replace-regexp)
602 \endexample
604 So weist man in Emacs Lisp einer Variablen Werte zu:
606 \beginexample%
607 (setq backup-by-copying-when-linked t)
608 \endexample
610 \section{Selbst Kommandos schreiben}
612 \beginexample%
613 (defun \<Commando-Name> (\<args>)
614 "\<Documentation>"
615 (interactive "\<template>")
616 \<body>)
617 \endexample
619 Ein Beispiel:
621 \beginexample%
622 (defun diese-Zeile-zum-Fensteranfang (Zeile)
623 "Zeile an Cursorposition zum Fensteranfang bewegen"
624 Mit numerischem Argument n, zur Zeile n
625 Mit negativem Argument zum Fensterende
626 (interactive "P")
627 (recenter (if (null Zeile)
629 (prefix-numeric-value Zeile))))
630 \endexample
632 Das Argument fuer \kbd{interactive} ist eine Zeichenkette, die spe\-zi\-fi\-ziert, wie die
633 Ar\-gu\-men\-te be\-reit\-ge\-stellt wer\-den, wenn die Funktion inter\-aktiv auf\-ge\-ru\-fen wird.
634 \kbd{C-h f interactive} fuer mehr Informationen.
636 \copyrightnotice
638 \bye
640 % Local variables:
641 % compile-command: "tex refcard"
642 % End:
644 % arch-tag: af0a2666-f289-49f1-a9cc-cedab9783314