3 % Title: GNU Emacs Survival Card
4 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
8 % User interface is `plain.tex' and macros described below
10 % \title{CARD TITLE}{for version 21}
12 % optional paragraphs separated with \askip amount of vertical space
13 % \key{KEY-NAME} description of key or
14 % \mkey{M-x LONG-LISP-NAME} description of Elisp function
16 % \kbd{ARG} -- argument is typed literally
18 \def\plainfmtname{plain
}
19 \ifx\fmtname\plainfmtname
21 \errmessage{This file requires `plain' format to be typeset correctly
}
25 % PDF output layout. 0 for A4, 1 for letter (US), a `l' is added for
31 % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
32 % 2006, 2007, 2008 Free Software Foundation, Inc.
34 % This file is part of GNU Emacs.
36 % GNU Emacs is free software; you can redistribute it and/or modify
37 % it under the terms of the GNU General Public License as published by
38 % the Free Software Foundation; either version 3, or (at your option)
41 % GNU Emacs is distributed in the hope that it will be useful,
42 % but WITHOUT ANY WARRANTY; without even the implied warranty of
43 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
44 % GNU General Public License for more details.
46 % You should have received a copy of the GNU General Public License
47 % along with GNU Emacs; see the file COPYING. If not, write to
48 % the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
49 % Boston, MA 02110-1301, USA.
51 \def\versionnumber{1.0}
53 \def\year{2008} % latest copyright year
55 \def\copyrightnotice{\penalty-
1\vfill
56 \vbox{\smallfont\baselineskip=
0.8\baselineskip\raggedcenter
57 Copyright
\year\ Free Software Foundation, Inc.
\break
58 Version
\versionnumber{} for GNU Emacs
\versionemacs, April
2000\break
59 Project W
{\l}odek Bzyl (matwb@univ.gda.pl)
61 Permission is granted to make and distribute copies of
62 this card provided the copyright notice and this permission notice
63 are preserved on all copies.
\par}}
67 \font\titlefont=cmss10 scaled
1200
68 \font\headingfont=cmss10
86 \baselineskip=
0.8\baselineskip
88 \newdimen\intercolumnskip % horizontal space between columns
89 \intercolumnskip=
0.5in
92 \let\lr=L
\newbox\leftcolumn
94 \global\setbox\leftcolumn\columnbox \global\let\lr=R
96 \doubleformat \global\let\lr=L
\fi}
97 \def\doubleformat{\shipout\vbox{\makeheadline
98 \leftline{\box\leftcolumn\hskip\intercolumnskip\columnbox}
101 \def\columnbox{\leftline{\pagebody}}
103 \def\newcolumn{\vfil\eject}
105 \def\bye{\par\vfil\supereject
106 \if R
\lr \null\vfil\eject\fi
109 \outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus
0.5ex
111 \vskip2\baselineskip}
113 \outer\def\section#1{\filbreak
115 \leftline{\headingfont #1}
117 \def\bskip{\vskip 2.5ex plus
0.25ex
}
118 \def\askip{\vskip 0.75ex plus
0.25ex
}
120 \newdimen\defwidth \defwidth=
0.25\hsize
121 \def\hang{\hangindent\defwidth}
123 \def\textindent#1{\noindent\llap{\hbox to
\defwidth{\tt#1\hfil}}\ignorespaces}
124 \def\key{\par\hangafter=
0\hang\textindent}
126 \def\mtextindent#1{\noindent\hbox{\tt#1\quad}\ignorespaces}
127 \def\mkey{\par\hangafter=
1\hang\mtextindent}
129 \def\kbd#
{\bgroup\tt \let\next=
}
131 \newdimen\raggedstretch
132 \newskip\raggedparfill \raggedparfill=
0pt plus
1fil
134 {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
136 {\spaceskip=
0.3333em
\relax
137 \xspaceskip=
0.5em
\relax}
141 \rightskip=
0pt plus
\raggedstretch
143 \parfillskip=
\raggedparfill
148 \rightskip=
0pt plus
\raggedstretch
159 \interlinepenalty=
10000
166 \title{GNU\ \ Emacs\ \ Survival\ \ Card
}{for version
\versionemacs}
168 In the following,
\kbd{C-z
} means hit the `
\kbd{z
}' key while
169 holding down the
{\it Ctrl
}\ \ key.
\kbd{M-z
} means hit the
170 `
\kbd{z
}' key while hitting the
{\it Meta\/
} (labeled
{\it Alt\/
}
171 on some keyboards) or after hitting
{\it Esc\/
} key.
173 \section{Running Emacs
}
175 To enter GNU Emacs, just type its name:
\kbd{emacs
}.
176 Emacs divides the frame into several areas:
178 buffer area with the edited text,
179 mode line describing the buffer in the window above it,
180 and a minibuffer/echo area in the last line.
182 \key{C-x C-c
} quit Emacs
183 \key{C-x C-f
} edit file; this command uses the minibuffer to read
184 the file name; use this to create new files by entering the name
186 \key{C-x C-s
} save the file
187 \key{C-x k
} kill a buffer
188 \key{C-g
} in most context: cancel, stop, abort partially typed or
192 \section{Moving About
}
194 \key{C-l
} scroll current line to center of window
195 \key{C-x b
} switch to another buffer
196 \key{M-<
} move to beginning of buffer
197 \key{M->
} move to end of buffer
198 \key{M-x goto-line
} go to a given line number
200 \section{Multiple Windows
}
202 \key{C-x
0} remove the current window from the display
203 \key{C-x
1} make active window the only window
204 \key{C-x
2} split window horizontally
205 \key{C-x
3} split window vertically
206 \key{C-x o
} move to other window
210 Emacs defines a `region' as the space between the
{\it mark\/
} and
211 the
{\it point
}. A mark is set with
\kbd{C-
{\it space
}}.
212 The point is at the cursor position.
214 \key{M-h
} mark entire paragraph
215 \key{C-x h
} mark entire buffer
217 \section{Killing and Copying
}
219 \key{C-w
} kill region
220 \key{M-w
} copy region to kill-ring
221 \key{C-k
} kill from the cursor all the way to the end of the line
222 \key{M-DEL
} kill word
223 \key{C-y
} yank back the last kill (
\kbd{C-w C-y
} combination could be
224 used to move text around)
225 \key{M-y
} replace last yank with previous kill
229 \key{C-s
} search for a string
230 \key{C-r
} search for a string backwards
231 \key{RET
} quit searching
232 \key{M-C-s
} regular expression search
233 \key{M-C-r
} reverse regular expression search
235 Use
\kbd{C-s
} or
\kbd{C-r
} again to repeat the search in either direction.
239 Tags tables files record locations of function and
240 procedure definitions, global variables, data types and anything
241 else convenient. To create a tags table file, type
242 `
{\tt etags
} {\it input
\_files}' as a shell command.
244 \key{M-.
} find a definition
245 \key{C-u M-.
} find next occurrence of definition
246 \key{M-*
} pop back to where
\kbd{M-.
} was last invoked
247 \mkey{M-x tags-query-replace
} run query-replace on all files
248 recorded in tags table
249 \key{M-,
} continue last tags search or query-replace
253 \key{M-x compile
} compile code in active window
254 \key{C-c C-c
} go to the next compiler error, when in
255 the compile window or
256 \key{C-x `
} when in the window with source code
258 \section{Dired, the Directory Editor
}
260 \key{C-x d
} invoke Dired
261 \key{d
} flag this file for deletion
262 \key{\~
{}} flag all backup files for deletion
263 \key{u
} remove deletion flag
264 \key{x
} delete the files flagged for deletion
266 \key{g
} update the Dired buffer
267 \key{f
} visit the file described on the current line
268 \key{s
} switch between alphabetical date/time order
270 \section{Reading and Sending Mail
}
272 \key{M-x rmail
} start reading mail
273 \key{q
} quit reading mail
275 \key{d
} mark the current message for deletion
276 \key{x
} remove all messages marked for deletion
278 \key{C-x m
} begin composing a message
279 \key{C-c C-c
} send the message and switch to another buffer
280 \key{C-c C-f C-c
} move to the `CC' header field, creating one
283 \section{Miscellaneous
}
285 \key{M-q
} fill paragraph
286 \key{M-/
} expand previous word dynamically
287 \key{C-z
} iconify (suspend) Emacs when running it under X or
289 \mkey{M-x revert-buffer
} replace the text being edited with the
290 text of the file on disk
292 \section{Query Replace
}
294 \key{M-\%
} interactively search and replace
295 \key{M-C-\%
} using regular expressions
297 Valid responses in query-replace mode are
299 \key{SPC
} replace this one, go on to next
300 \key{,
} replace this one, don't move
301 \key{DEL
} skip to next without replacing
302 \key{!
} replace all remaining matches
303 \key{\^
{}} back up to the previous match
304 \key{RET
} exit query-replace
305 \key{C-r
} enter recursive edit (
\kbd{M-C-c
} to exit)
307 \section{Regular Expressions
}
309 \key{.
{\rm(dot)
}} any single character except a newline
310 \key{*
} zero or more repeats
311 \key{+
} one or more repeats
312 \key{?
} zero or one repeat
313 \key{[$
\ldots$
]} denotes a class of character to match
314 \key{[\^
{}$
\ldots$
]} negates the class
316 \key{\\
{\it c
}} quote characters otherwise having a special
317 meaning in regular expressions
319 \key{$
\ldots$\\|$
\ldots$\\|$
\ldots$
} matches one of
320 the alternatives (``or'')
321 \key{\\( $
\ldots$ \\)
} groups a series of pattern elements to
323 \key{\\
{\it n
}} same text as
{\it n\/
}th group
325 \key{\^
{}} matches at line beginning
326 \key{\$
} matches at line end
328 \key{\
\w} matches word-syntax character
329 \key{\
\W} matches non-word-syntax character
330 \key{\\<
} matches at word beginning
331 \key{\\>
} matches at word end
332 \key{\
\b} matches at word break
333 \key{\
\B} matches at non-word break
337 \key{C-x r s
} save region in register
338 \key{C-x r i
} insert register contents into buffer
340 \key{C-x r SPC
} save value of point in register
341 \key{C-x r j
} jump to point saved in register
345 \key{C-x r r
} copy rectangle to register
346 \key{C-x r k
} kill rectangle
347 \key{C-x r y
} yank rectangle
348 \key{C-x r t
} prefix each line with a string
350 \key{C-x r o
} open rectangle, shifting text right
351 \key{C-x r c
} blank out rectangle
355 \key{M-x shell
} start a shell within Emacs
356 \key{M-!
} execute a shell command
357 \key{M-|
} run a shell command on the region
358 \key{C-u M-|
} filter region through a shell command
360 \section{Spelling Check
}
362 \key{M-\$
} check spelling of word at the cursor
363 \mkey{M-x ispell-region
} check spelling of all words in region
364 \mkey{M-x ispell-buffer
} check spelling of entire buffer
366 \section{International Character Sets
}
368 \key{C-x RET C-\\
} select and activate input method for
370 \key{C-\\
} enable or disable input method
371 \mkey{M-x list-input-methods
} show all input methods
372 \mkey{M-x set-language-environment
} specify principal language
374 \key{C-x RET c
} set coding system for next command
375 \mkey{M-x find-file-literally
} visit file with no conversion
378 \mkey{M-x list-coding-systems
} show all coding systems
379 \mkey{M-x prefer-coding-system
} choose preferred coding system
381 \section{Keyboard Macros
}
383 \key{C-x (
} start defining a keyboard macro
384 \key{C-x )
} end keyboard macro definition
385 \key{C-x e
} execute last-defined keyboard macro
386 \key{C-u C-x (
} append to last keyboard macro
387 \mkey{M-x name-last-kbd-macro
} name last keyboard macro
389 \section{Simple Customization
}
391 \key{M-x customize
} customize variables and faces
393 \section{Getting Help
}
395 Emacs does command completion for you. Typing
\kbd{M-x
}
396 {\it tab\/
} or
{\it space\/
} gives a list of Emacs commands.
399 \key{C-h t
} run the Emacs tutorial
400 \key{C-h i
} enter Info, the documentation browser
401 \key{C-h a
} show commands matching a string (apropos)
402 \key{C-h k
} display documentation of the function invoked by
405 Emacs gets into different
{\it modes
}, each of which customizes
406 Emacs for editing text of a particular sort. The mode line
407 contains names of the current modes, in parentheses.
409 \key{C-h m
} get mode-specific information
416 % compile-command: "pdftex survival"
419 % arch-tag: 4f9a0562-617b-4843-aee1-450c41d6b22c