mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-30 08:09:04 +00:00
642 lines
20 KiB
TeX
642 lines
20 KiB
TeX
% Reference Card for GNU Emacs version 19 on Unix systems
|
||
%**start of header
|
||
\newcount\columnsperpage
|
||
|
||
% This file can be printed with 1, 2, or 3 columns per page (see below).
|
||
% Specify how many you want here. Nothing else needs to be changed.
|
||
|
||
\columnsperpage=2
|
||
|
||
% Copyright (c) 1987, 1993, 1996, 2000 Free Software Foundation, Inc.
|
||
|
||
% This file is part of GNU Emacs.
|
||
|
||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||
% it under the terms of the GNU General Public License as published by
|
||
% the Free Software Foundation; either version 2, or (at your option)
|
||
% any later version.
|
||
|
||
% GNU Emacs is distributed in the hope that it will be useful,
|
||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
% GNU General Public License for more details.
|
||
|
||
% You should have received a copy of the GNU General Public License
|
||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||
% Boston, MA 02111-1307, USA.
|
||
|
||
% This file is intended to be processed by plain TeX (TeX82).
|
||
%
|
||
% The final reference card has six columns, three on each side.
|
||
% This file can be used to produce it in any of three ways:
|
||
% 1 column per page
|
||
% produces six separate pages, each of which needs to be reduced to 80%.
|
||
% This gives the best resolution.
|
||
% 2 columns per page
|
||
% produces three already-reduced pages.
|
||
% You will still need to cut and paste.
|
||
% 3 columns per page
|
||
% produces two pages which must be printed sideways to make a
|
||
% ready-to-use 8.5 x 11 inch reference card.
|
||
% For this you need a dvi device driver that can print sideways.
|
||
% Which mode to use is controlled by setting \columnsperpage above.
|
||
%
|
||
% Author:
|
||
% Stephen Gildea
|
||
% Internet: gildea@stop.mail-abuse.org
|
||
%
|
||
% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
||
% for their many good ideas.
|
||
|
||
% If there were room, it would be nice to see a section on Dired.
|
||
|
||
\def\versionnumber{2.1}
|
||
\def\year{1996}
|
||
\def\version{March \year\ v\versionnumber}
|
||
|
||
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
||
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
|
||
Permissions on back. v\versionnumber}}
|
||
|
||
\def\copyrightnotice{\vskip 1ex plus 2 fill\begingroup\small
|
||
\centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
|
||
\centerline{designed by Stephen Gildea, \version}
|
||
\centerline{for GNU Emacs version 19 on Unix systems}
|
||
|
||
Permission is granted to make and distribute copies of
|
||
this card provided the copyright notice and this permission notice
|
||
are preserved on all copies.
|
||
|
||
|
||
\endgroup}
|
||
|
||
% make \bye not \outer so that the \def\bye in the \else clause below
|
||
% can be scanned without complaint.
|
||
\def\bye{\par\vfill\supereject\end}
|
||
|
||
\newdimen\intercolumnskip %horizontal space between columns
|
||
\newbox\columna %boxes to hold columns already built
|
||
\newbox\columnb
|
||
|
||
\def\ncolumns{\the\columnsperpage}
|
||
|
||
\message{[\ncolumns\space
|
||
column\if 1\ncolumns\else s\fi\space per page]}
|
||
|
||
\def\scaledmag#1{ scaled \magstep #1}
|
||
|
||
% This multi-way format was designed by Stephen Gildea October 1986.
|
||
% Note that the 1-column format is fontfamily-independent.
|
||
\if 1\ncolumns %one-column format uses normal size
|
||
\hsize 4in
|
||
\vsize 10in
|
||
\voffset -.7in
|
||
\font\titlefont=\fontname\tenbf \scaledmag3
|
||
\font\headingfont=\fontname\tenbf \scaledmag2
|
||
\font\smallfont=\fontname\sevenrm
|
||
\font\smallsy=\fontname\sevensy
|
||
|
||
\footline{\hss\folio}
|
||
\def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
|
||
\else %2 or 3 columns uses prereduced size
|
||
\hsize 3.2in
|
||
\vsize 7.95in
|
||
% \hoffset -.75in
|
||
\hoffset -.82in
|
||
% \voffset -.745in
|
||
\voffset -.6in
|
||
\font\titlefont=cmbx10 \scaledmag2
|
||
\font\headingfont=cmbx10 \scaledmag1
|
||
\font\smallfont=cmr6
|
||
\font\smallsy=cmsy6
|
||
\font\eightrm=cmr8
|
||
\font\eightbf=cmbx8
|
||
\font\eightit=cmti8
|
||
\font\eighttt=cmtt8
|
||
\font\eightmi=cmmi8
|
||
\font\eightsy=cmsy8
|
||
\textfont0=\eightrm
|
||
\textfont1=\eightmi
|
||
\textfont2=\eightsy
|
||
\def\rm{\eightrm}
|
||
\def\bf{\eightbf}
|
||
\def\it{\eightit}
|
||
\def\tt{\eighttt}
|
||
\normalbaselineskip=.8\normalbaselineskip
|
||
\normallineskip=.8\normallineskip
|
||
\normallineskiplimit=.8\normallineskiplimit
|
||
\normalbaselines\rm %make definitions take effect
|
||
|
||
\if 2\ncolumns
|
||
\let\maxcolumn=b
|
||
\footline{\hss\rm\folio\hss}
|
||
\def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
|
||
\else \if 3\ncolumns
|
||
\let\maxcolumn=c
|
||
\nopagenumbers
|
||
\else
|
||
\errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
|
||
\errmessage{Illegal number of columns per page}
|
||
\fi\fi
|
||
|
||
\intercolumnskip=.46in
|
||
\def\abc{a}
|
||
\output={% %see The TeXbook page 257
|
||
% This next line is useful when designing the layout.
|
||
%\immediate\write16{Column \folio\abc\space starts with \firstmark}
|
||
\if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
|
||
\else\if a\abc
|
||
\global\setbox\columna\columnbox \global\def\abc{b}
|
||
%% in case we never use \columnb (two-column mode)
|
||
\global\setbox\columnb\hbox to -\intercolumnskip{}
|
||
\else
|
||
\global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
|
||
\def\multicolumnformat{\shipout\vbox{\makeheadline
|
||
\hbox{\box\columna\hskip\intercolumnskip
|
||
\box\columnb\hskip\intercolumnskip\columnbox}
|
||
\makefootline}\advancepageno}
|
||
\def\columnbox{\leftline{\pagebody}}
|
||
|
||
\def\bye{\par\vfill\supereject
|
||
\if a\abc \else\null\vfill\eject\fi
|
||
\if a\abc \else\null\vfill\eject\fi
|
||
\end}
|
||
\fi
|
||
|
||
% we won't be using math mode much, so redefine some of the characters
|
||
% we might want to talk about
|
||
\catcode`\^=12
|
||
\catcode`\_=12
|
||
|
||
\chardef\\=`\\
|
||
\chardef\{=`\{
|
||
\chardef\}=`\}
|
||
|
||
\hyphenation{mini-buf-fer}
|
||
|
||
\parindent 0pt
|
||
\parskip 1ex plus .5ex minus .5ex
|
||
|
||
\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
|
||
|
||
% newcolumn - force a new column. Use sparingly, probably only for
|
||
% the first column of a page, which should have a title anyway.
|
||
\outer\def\newcolumn{\vfill\eject}
|
||
|
||
% title - page title. Argument is title text.
|
||
\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
|
||
|
||
% section - new major section. Argument is section name.
|
||
\outer\def\section#1{\par\filbreak
|
||
\vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
|
||
\vskip 2ex plus 1ex minus 1.5ex}
|
||
|
||
\newdimen\keyindent
|
||
|
||
% beginindentedkeys...endindentedkeys - key definitions will be
|
||
% indented, but running text, typically used as headings to group
|
||
% definitions, will not.
|
||
\def\beginindentedkeys{\keyindent=1em}
|
||
\def\endindentedkeys{\keyindent=0em}
|
||
\endindentedkeys
|
||
|
||
% paralign - begin paragraph containing an alignment.
|
||
% If an \halign is entered while in vertical mode, a parskip is never
|
||
% inserted. Using \paralign instead of \halign solves this problem.
|
||
\def\paralign{\vskip\parskip\halign}
|
||
|
||
% \<...> - surrounds a variable name in a code example
|
||
\def\<#1>{{\it #1\/}}
|
||
|
||
% kbd - argument is characters typed literally. Like the Texinfo command.
|
||
\def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
|
||
|
||
% beginexample...endexample - surrounds literal text, such a code example.
|
||
% typeset in a typewriter font with line breaks preserved
|
||
\def\beginexample{\par\leavevmode\begingroup
|
||
\obeylines\obeyspaces\parskip0pt\tt}
|
||
{\obeyspaces\global\let =\ }
|
||
\def\endexample{\endgroup}
|
||
|
||
% key - definition of a key.
|
||
% \key{description of key}{key-name}
|
||
% prints the description left-justified, and the key-name in a \kbd
|
||
% form near the right margin.
|
||
\def\key#1#2{\leavevmode\hbox to \hsize{\vtop
|
||
{\hsize=.75\hsize\rightskip=1em
|
||
\hskip\keyindent\relax#1}\kbd{#2}\hfil}}
|
||
|
||
\newbox\metaxbox
|
||
\setbox\metaxbox\hbox{\kbd{M-x }}
|
||
\newdimen\metaxwidth
|
||
\metaxwidth=\wd\metaxbox
|
||
|
||
% metax - definition of a M-x command.
|
||
% \metax{description of command}{M-x command-name}
|
||
% Tries to justify the beginning of the command name at the same place
|
||
% as \key starts the key name. (The "M-x " sticks out to the left.)
|
||
\def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
|
||
{\hskip\keyindent\relax#1\hfil}%
|
||
\hskip -\metaxwidth minus 1fil
|
||
\kbd{#2}\hfil}}
|
||
|
||
% threecol - like "key" but with two key names.
|
||
% for example, one for doing the action backward, and one for forward.
|
||
\def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad
|
||
&\kbd{#3}\hfil\quad\cr}
|
||
|
||
%**end of header
|
||
|
||
|
||
\title{GNU Emacs Referenzkarte}
|
||
|
||
%\centerline{(fuer version 19)}
|
||
|
||
\section{Emacs Starten}
|
||
|
||
Um GNU Emacs 19 zu starten, tippen Sie ein: \kbd{emacs}
|
||
|
||
Um eine Datei fuers Editieren zu laden, lesen Sie unten weiter.
|
||
|
||
\section{Emacs Verlassen}
|
||
|
||
\key{Emacs pausieren lassen}{C-z}
|
||
\key{Emacs beenden}{C-x C-c}
|
||
|
||
\section{Dateien}
|
||
|
||
\key{Datei {\bf oeffnen} }{C-x C-f}
|
||
\key{Datei {\bf sichern} }{C-x C-s}
|
||
\key{{\bf alle} Dateien sichern}{C-x s}
|
||
\key{den Inhalt einer anderen Datei {\bf einfuegen}}{C-x i}
|
||
\key{diese Datei durch eine andere ersetzen}{C-x C-v}
|
||
\key{Datei neu anlegen und speichern}{C-x C-w}
|
||
\key{version control ein/auschecken}{C-x C-q}
|
||
|
||
\section{Hilfe}
|
||
|
||
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.
|
||
|
||
\key{Hilfe Fenster entfernen}{C-x 1}
|
||
\key{Hilfe Fenster scrollen}{C-M-v}
|
||
|
||
\key{apropos: zeigt alle Befehle mit dem Muster}{C-h a}
|
||
\key{zeigt die Funktion mit dieser Tastenkomb.}{C-h c}
|
||
\key{beschreibt die Funktion}{C-h f}
|
||
\key{modusspezifische Information}{C-h m}
|
||
|
||
\section{Was tun wenn nichts mehr geht}
|
||
|
||
\key{{\bf Abbrechen} eines Vorgangs}{C-g}
|
||
\metax{{\bf Wiederherstellung} von Dateien}{M-x recover-file}
|
||
\key{{\bf rueckgaengig} machen}{C-x u}
|
||
\metax{Puffer in Ursprungszustand bringen}{M-x revert-buffer}
|
||
\key{Bildschirmanzeige in Ordnung bringen}{C-l}
|
||
|
||
\section{Inkrementelle Suche}
|
||
|
||
\key{Suche vorwaerts}{C-s}
|
||
\key{Suche rueckwaerts}{C-r}
|
||
\key{Suche mit regulaeren Ausdruecken}{C-M-s}
|
||
\key{Rueckwaertssuche mit reg. Ausdruecken}{C-M-r}
|
||
\key{letzten Suchausdruck auswaehlen}{M-p}
|
||
\key{spaeteren Suchausdruck auswaehlen}{M-n}
|
||
\key{inkrementelle Suche beenden}{RET}
|
||
\key{ein Suchzeichen zurueckgehen}{DEL}
|
||
\key{Suche abbrechen}{C-g}
|
||
|
||
Wiederholtes Druecken von \kbd{C-s} oder \kbd{C-r} sucht weitere Treffer.
|
||
Wenn Emacs sucht, unterbricht \kbd{C-g} nur die jeweils letzte Suche.
|
||
|
||
\shortcopyrightnotice
|
||
|
||
\section{Cursor Bewegung}
|
||
|
||
\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
|
||
\threecol{{\bf Textteile ueberspringen}}{{\bf rueckw.}}{{\bf vorw.}}
|
||
\threecol{Zeichen}{C-b}{C-f}
|
||
\threecol{Wort}{M-b}{M-f}
|
||
\threecol{Zeile}{C-p}{C-n}
|
||
\threecol{zum Zeilenende springen}{C-a}{C-e}
|
||
\threecol{Satz}{M-a}{M-e}
|
||
\threecol{Paragraph}{M-\{}{M-\}}
|
||
\threecol{Seite}{C-x [}{C-x ]}
|
||
\threecol{Lisp-s-expression}{C-M-b}{C-M-f}
|
||
\threecol{Funktion}{C-M-a}{C-M-e}
|
||
\threecol{zum Pufferanfang (oder Ende)springen}{M-<}{M->}
|
||
}
|
||
|
||
\key{eine Bildschirmseite runter scrollen}{C-v}
|
||
\key{eine Bildschirmseite hoch scrollen}{M-v}
|
||
\key{nach links scrollen}{C-x <}
|
||
\key{nach rechts scrollen}{C-x >}
|
||
\key{Cursorzeile in die Bildschirmmitte scrollen}{C-u C-l}
|
||
|
||
\section{Loeschen}
|
||
|
||
\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
|
||
\threecol{{\bf Textteile }}{{\bf rueckwaerts}}{{\bf vorwaerts}}
|
||
\threecol{Zeichen (loeschen)}{DEL}{C-d}
|
||
\threecol{Wort}{M-DEL}{M-d}
|
||
\threecol{Zeile (bis zum Ende)}{M-0 C-k}{C-k}
|
||
\threecol{Satz}{C-x DEL}{M-k}
|
||
\threecol{Lisp-s-expression}{M-- C-M-k}{C-M-k}
|
||
}
|
||
\key{{\bf Bereiche} loeschen}{C-w}
|
||
\key{Bereich in die Ablage kopieren}{M-w}
|
||
\key{Bis zum {\it Zeichen} loeschen }{M-z {\it Zeichen}}
|
||
\key{letztes geloeschtes Zeichen einsetzen}{C-y}
|
||
\key{eins davor einsetzen}{M-y}
|
||
|
||
\section{Markieren}
|
||
|
||
\key{Marke setzen}{C-@ {\rm or} C-SPC}
|
||
\key{zwischen Cursor und Marke wechseln}{C-x C-x}
|
||
\key{Marke {\it Argument\/} {\bf Worte} entfernt setzen}{M-@}
|
||
\key{{\bf Paragraph} markieren}{M-h}
|
||
\key{{\bf Seite} markieren}{C-x C-p}
|
||
\key{{\bf Lisp-s-expression} markieren}{C-M-@}
|
||
\key{{\bf Funktion} markiern}{C-M-h}
|
||
\key{den ganzen {\bf Puffer} markieren}{C-x h}
|
||
|
||
\section{Interaktives Ersetzen}
|
||
|
||
\key{Zeichenkette interaktiv ersetzen}{M-\%}
|
||
\metax{mit regulaeren Ausdruecken}{M-x query-replace-regexp}
|
||
|
||
Moegliche Antworten in diesem Modus:
|
||
|
||
\key{dies {\bf ersetzten} und zum naechsten gehen}{SPC}
|
||
\key{dies ersetzen}{,}
|
||
\key{dies {\bf ueberspringen}, zum naechsten gehen}{DEL}
|
||
\key{alle verbleibenden Treffer ersetzen}{!}
|
||
\key{eine Ersetzung{\bf rueckgaengig} machen }{^}
|
||
\key{interaktiven Modus{\bf verlassen}}{RET}
|
||
\key{rekursiven Modus starten (\kbd{C-M-c} verlassen)}{C-r}
|
||
|
||
\section{Mehrere Fenster}
|
||
|
||
Die zweite Tastenk. bezieht sich immer auf das andere Fenster:
|
||
|
||
\key{alle anderen Fenster in den Hintergrund}{C-x 1}
|
||
|
||
{\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0
|
||
\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
|
||
\threecol{Fenster vertikal teilen}{C-x 2\ \ \ \ }{C-x 5 2}
|
||
\threecol{dieses Fenster loeschen}{C-x 0\ \ \ \ }{C-x 5 0}
|
||
}}
|
||
\key{Fenster horizontal teilen}{C-x 3}
|
||
|
||
\key{das andere Fenster scrollen}{C-M-v}
|
||
|
||
{\setbox0=\hbox{\kbd{0}}\advance\hsize by 2\wd0
|
||
\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
|
||
\threecol{ins andere Fenster wechseln}{C-x o}{C-x 5 o}
|
||
|
||
\threecol{Puffer in ein anderes Fenster bringen}{C-x 4 b}{C-x 5 b}
|
||
\threecol{Puffer in einem anderen Fenster darstellen}{C-x 4 C-o}{C-x 5 C-o}
|
||
\threecol{Datei in ein anderes Fenster oeffnen}{C-x 4 f}{C-x 5 f}
|
||
\threecol{Datei im Ansichtmodus in anderem Fenster oeffnen}{C-x 4 r}{C-x 5 r}
|
||
\threecol{Dired in einem anderen Fenster oeffnen}{C-x 4 d}{C-x 5 d}
|
||
\threecol{Tag in einem anderen Fenster finden}{C-x 4 .}{C-x 5 .}
|
||
}}
|
||
|
||
\key{Fenster vergroessern}{C-x ^}
|
||
\key{Fenster schmaler machen}{C-x \{}
|
||
\key{Fenster breiter machen}{C-x \}}
|
||
|
||
\section{Formattierung}
|
||
|
||
\key{{\bf Zeile} (modusabhaengig) einruecken}{TAB}
|
||
\key{{\bf Bereich} (modusabh.) einruecken}{C-M-\\}
|
||
\key{{\bf Lisp-s-expression} (modusabh.) einruecken}{C-M-q}
|
||
\key{Bereich {\it Argument\/} Spalten einruecken}{C-x TAB}
|
||
\key{Zeilenumbruch nach Cursor einfuegen}{C-o}
|
||
\key{Zeilenrest vertikal nach unten verschieben}{C-M-o}
|
||
\key{Leerzeilen um Cursorposition loeschen}{C-x C-o}
|
||
\key{Zeile mit letzter verbinden (Arg. naechster)}{M-^}
|
||
\key{Leerzeichen an Cursorposition loeschen}{M-\\}
|
||
\key{ein Leerzeichen an Cursorposition setzen}{M-SPC}
|
||
\key{Paragraph auffuellen}{M-q}
|
||
\key{Fuell Spalte setzen}{C-x f}
|
||
\key{Praefix setzen fuer jede Zeile}{C-x .}
|
||
\key{Zeichendarstellung setzen}{M-g}
|
||
|
||
\section{Gross-Kleinbuchstaben}
|
||
|
||
\key{Wort in Grossbuchstaben}{M-u}
|
||
\key{Wort in Kleinbuchstaben}{M-l}
|
||
\key{Word mit grossen Anfangsbuchstaben}{M-c}
|
||
|
||
\key{Bereich in Grossbuchstaben}{C-x C-u}
|
||
\key{Bereich in Kleinbuchstaben}{C-x C-l}
|
||
|
||
\section{Der Minipuffer}
|
||
|
||
Die folgenden Tastenkombination gelten im Minipuffer:
|
||
|
||
\key{so viel wie moeglich ergaenzen}{TAB}
|
||
\key{ein Wort ergaenzen}{SPC}
|
||
\key{ergaenzen und ausfuehren}{RET}
|
||
\key{moegliche Ergaenzungen zeigen}{?}
|
||
\key{letzte Eingabe wiederanzeigen}{M-p}
|
||
\key{spaetere Eingabe wiederanzeigen}{M-n}
|
||
\key{reg. Ausd. rueckwaerts in History suchen}{M-r}
|
||
\key{reg. Ausd. vorwaerts in History suchen}{M-s}
|
||
\key{Vorgang unterbrechen}{C-g}
|
||
|
||
Tippen Sie \kbd{C-x ESC ESC} um den letzten Befehl zu editieren und zu wiederholen der im Minipuffer ausgefuehrt wurde.
|
||
|
||
\newcolumn
|
||
\title{GNU Emacs Referenzkarte}
|
||
|
||
\section{Puffer}
|
||
|
||
\key{anderen Puffer auswaehlen}{C-x b}
|
||
\key{alle Puffer anzeigen}{C-x C-b}
|
||
\key{Puffer loeschen}{C-x k}
|
||
|
||
\section{Vertauschen}
|
||
|
||
\key{ {\bf Zeichen} vertauschen}{C-t}
|
||
\key{ {\bf Worte} vertauschen}{M-t}
|
||
\key{ {\bf Zeilen} vertauschen}{C-x C-t}
|
||
\key{ {\bf Lisp-s-expressions} vertauschen}{C-M-t}
|
||
|
||
\section{Rechtschreibkorrrektur}
|
||
|
||
\key{Ueberpruefe aktuelles Wort}{M-\$}
|
||
\metax{Ueberpruefe alle Woerter in Bereich}{M-x ispell-region}
|
||
\metax{Ueberpruefe den gesamten Bereich}{M-x ispell-buffer}
|
||
|
||
\section{Tags}
|
||
|
||
\key{Tag finden (Definition)}{M-.}
|
||
\key{Naechstes Vorkommen von Tag finden}{C-u M-.}
|
||
\metax{Neue Tags Datei angeben}{M-x visit-tags-table}
|
||
\metax{Regulaere Ausdruck Suche in Dateien}{M-x tags-search}
|
||
\metax{Interakt. Ersetzen in allen Dateien}{M-x tags-query-replace}
|
||
\key{Letzte Tag Suche oder Ersetzen nochmal}{M-,}
|
||
|
||
\section{Shells}
|
||
|
||
\key{Shell Kommando ausfuehren}{M-!}
|
||
\key{Shell Kommando fuer bereich ausfuehren}{M-|}
|
||
\key{Bereich durch Shell Kommando filtern}{C-u M-|}
|
||
\metax{Shell im Fenster \kbd{*shell*} starten}{M-x shell}
|
||
|
||
\section{Rechtecke}
|
||
|
||
\key{Kopiere Rechteck in Register}{C-x r r}
|
||
\key{Loesche Rechteck}{C-x r k}
|
||
\key{Rechteck einsetzen}{C-x r y}
|
||
\key{Rechteck aufmachen, Text nach rechts}{C-x r o}
|
||
\key{Rechteck mit Leerzeichen ueberschreiben}{C-x r c}
|
||
\key{Praefix vor jede Zeile setzen}{C-x r t}
|
||
|
||
\section{Abkuerzungen}
|
||
|
||
\key{globale Abkuerzung hinzufuegen}{C-x a g}
|
||
\key{modusabhaengige Abkuerzung hinzufuegen}{C-x a l}
|
||
\key{globale Expansion fuer Abk. definieren}{C-x a i g}
|
||
\key{modusabhaengige Abkuerzung definieren}{C-x a i l}
|
||
\key{explizites Expandieren}{C-x a e}
|
||
\key{letztes Wort dynamisch expandieren}{M-/}
|
||
|
||
\section{Regulaere Ausdruecke}
|
||
|
||
\key{jedes Zeichen ausser Zeilenumbruch}{. {\rm(Punkt)}}
|
||
\key{Null oder mehr Wiederholungen}{*}
|
||
\key{Eine oder mehr Wiederholungen}{+}
|
||
\key{Null oder eine Wiederholung}{?}
|
||
\key{jedes Zeichen in der Menge}{[ {\rm$\ldots$} ]}
|
||
\key{jedes Zeichen nicht in der Menge}{[^ {\rm$\ldots$} ]}
|
||
\key{Zeilenanfang}{^}
|
||
\key{Zeilenende}{\$}
|
||
\key{spezielles Zeichen maskieren {\it c\/}}{\\{\it c}}
|
||
\key{Alternative (``oder'')}{\\|}
|
||
\key{Gruppe}{\\( {\rm$\ldots$} \\)}
|
||
\key{{\it n\/}te Gruppe}{\\{\it n}}
|
||
\key{Pufferanfang}{\\`}
|
||
\key{Pufferende}{\\'}
|
||
\key{Wortzwischenraum}{\\b}
|
||
\key{Weder Anfang noch Ende eines Wortes}{\\B}
|
||
\key{Wortanfang}{\\<}
|
||
\key{Wortende}{\\>}
|
||
\key{jedes Wort-Syntax Zeichen}{\\w}
|
||
\key{jedes Nicht-Wort-Syntax Zeichen}{\\W}
|
||
\key{Zeichen mit Syntax {\it c}}{\\s{\it c}}
|
||
\key{Zeichen nicht mit Syntax {\it c}}{\\S{\it c}}
|
||
|
||
\section{Register}
|
||
|
||
\key{Region in Register speichern}{C-x r s}
|
||
\key{Register Inhalt in Puffer einfuegen}{C-x r i}
|
||
\key{Cursorposition in Register speichern}{C-x r SPC}
|
||
\key{Springe zur abgespeicherten Position}{C-x r j}
|
||
|
||
\section{Info}
|
||
|
||
\key{Info starten}{C-h i}
|
||
\beginindentedkeys
|
||
|
||
Bewegung innerhalb eines Knotens:
|
||
|
||
\key{vorwaerts scrollen}{SPC}
|
||
\key{rueckwaerts scrollen}{DEL}
|
||
\key{zum Anfang eines Knotens}{. {\rm (dot)}}
|
||
|
||
Bewegung zwischen Knoten:
|
||
|
||
\key{{\bf naechster} Knoten}{n}
|
||
\key{{\bf vorheriger} Knoten}{p}
|
||
\key{nach {\bf oben}}{u}
|
||
\key{Menue Element ueber Namen auswaehlen}{m}
|
||
\key{{\it n\/}ten Menueeintrag auswaehlen (1--9)}{{\it n}}
|
||
\key{Kreuzverweis folgen (zurueck mit \kbd{l})}{f}
|
||
\key{zurueck zum letzten gesehenen Knoten}{l}
|
||
\key{zurueck zum Verzeichnisknoten}{d}
|
||
\key{Knoten ueber Namen auswaehlen}{g}
|
||
|
||
Sonstige:
|
||
|
||
\key{Info {\bf Tutorial} starten}{h}
|
||
\key{Info Befehle zeigen}{?}
|
||
\key{Info {\bf verlassen} }{q}
|
||
\key{Knoten nach reg. Ausd. durchsuchen}{M-s}
|
||
|
||
\endindentedkeys
|
||
|
||
\section{Tastatur Makros}
|
||
|
||
\key{Tastatur Makro Definition {\bf starten} }{C-x (}
|
||
\key{Tastatur Makro Definition {\bf beenden} }{C-x )}
|
||
\key{zuletzt definiertes Tast. Makro {\bf ausfuehren}}{C-x e}
|
||
\key{an letztes Tastatur Makro anhaengen}{C-u C-x (}
|
||
\metax{letztes Tastatur Makro benennen}{M-x name-last-kbd-macro}
|
||
\metax{Lisp Definition in Puffer einfuegen}{M-x insert-kbd-macro}
|
||
|
||
\section{Kommandos fuer Emacs Lisp}
|
||
|
||
\key{{\bf Lisp-s-expression} vor Cursor laden}{C-x C-e}
|
||
\key{aktuelle {\bf Definition} auswerten}{C-M-x}
|
||
\metax{{\bf Bereich} auswerten}{M-x eval-region}
|
||
\metax{gesamten {\bf Puffer} auswerten}{M-x eval-current-buffer}
|
||
\key{Lispausdruck im Minipuffer auswerten}{M-:}
|
||
\key{letztes Minipufferkommando auswerten}{C-x ESC ESC}
|
||
\metax{Emacs Lisp Datei lesen und auswerten}{M-x load-file}
|
||
\metax{aus Standard Systemverzeichnis laden}{M-x load-library}
|
||
|
||
\section{Einfaches Konfigurieren}
|
||
|
||
% Das ist nur was fuer Leute die Lisp beherrschen
|
||
|
||
Ein Beispiel dafuer, wie man Tastenkombinationen definiert:
|
||
|
||
\beginexample%
|
||
(global-set-key "\\C-cg" 'goto-line)
|
||
(global-set-key "\\C-x\\C-k" 'kill-region)
|
||
(global-set-key "\\M-\#" 'query-replace-regexp)
|
||
\endexample
|
||
|
||
So weist man in Emacs Lisp einer Variablen Werte zu:
|
||
|
||
\beginexample%
|
||
(setq backup-by-copying-when-linked t)
|
||
\endexample
|
||
|
||
\section{Selbst Kommandos schreiben}
|
||
|
||
\beginexample%
|
||
(defun \<Commando-Name> (\<args>)
|
||
"\<Documentation>"
|
||
(interactive "\<template>")
|
||
\<body>)
|
||
\endexample
|
||
|
||
Ein Beispiel:
|
||
|
||
\beginexample%
|
||
(defun diese-Zeile-zum-Fensteranfang (Zeile)
|
||
"Zeile an Cursorposition zum Fensteranfang bewegen"
|
||
Mit numerischem Argument n, zur Zeile n
|
||
Mit negativem Argument zum Fensterende
|
||
(interactive "P")
|
||
(recenter (if (null Zeile)
|
||
0
|
||
(prefix-numeric-value Zeile))))
|
||
\endexample
|
||
|
||
Das Argument fuer \kbd{interactive} ist eine Zeichenkette, die spe\-zi\-fi\-ziert, wie die
|
||
Ar\-gu\-men\-te be\-reit\-ge\-stellt wer\-den, wenn die Funktion inter\-aktiv auf\-ge\-ru\-fen wird.
|
||
\kbd{C-h f interactive} fuer mehr Informationen.
|
||
|
||
\copyrightnotice
|
||
|
||
\bye
|
||
|
||
% Local variables:
|
||
% compile-command: "tex refcard"
|
||
% End:
|