# HG changeset patch # User Kenichi Handa # Date 967117336 0 # Node ID 21ca2a5ae10b0a7c2064ef1aa8337eb3d830181d # Parent ee4380880f0db18db6a6286111e734ae82f825a4 New file. diff -r ee4380880f0d -r 21ca2a5ae10b etc/survival.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/survival.tex Thu Aug 24 11:42:16 2000 +0000 @@ -0,0 +1,412 @@ +%&tex +% +% Title: GNU Emacs Survival Card +% Author: Wlodek Bzyl +% +% $Revision: 1.8 $ +% $Date: 2000/05/05 22:00:48 $ +% +%**start of header + +% User interface is `plain.tex' and macros described below +% +% \title{CARD TITLE}{for version 21} +% \section{NAME} +% optional paragraphs separated with \askip amount of vertical space +% \key{KEY-NAME} description of key or +% \mkey{M-x LONG-LISP-NAME} description of Elisp function +% +% \kbd{ARG} -- argument is typed literally + +\def\plainfmtname{plain} +\ifx\fmtname\plainfmtname +\else + \errmessage{This file requires `plain' format to be typeset correctly} + \endinput +\fi + +% Copyright (c) 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. + +\def\versionnumber{1.0} +\def\year{2000} + +\def\copyrightnotice{\penalty-1\vfill + \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter + Copyright \year\ Free Software Foundation, Inc.\break + Version \versionnumber{} for GNU Emacs 21, April 2000\break + Project W{\l}odek Bzyl (matwb@univ.gda.pl) + + Permission is granted to make and distribute copies of + this card provided the copyright notice and this permission notice + are preserved on all copies.\par}} + +\hsize 3.2in +\vsize 7.95in +\font\titlefont=cmss10 scaled 1200 +\font\headingfont=cmss10 +\font\smallfont=cmr6 +\font\smallsy=cmsy6 +\font\eightrm=cmr8 +\font\eightbf=cmbx8 +\font\eightit=cmti8 +\font\eighttt=cmtt8 +\font\eightmi=cmmi8 +\font\eightsy=cmsy8 +\font\eightss=cmss8 +\textfont0=\eightrm +\textfont1=\eightmi +\textfont2=\eightsy +\def\rm{\eightrm} \rm +\def\bf{\eightbf} +\def\it{\eightit} +\def\tt{\eighttt} +\def\ss{\eightss} +\baselineskip=0.8\baselineskip + +\newdimen\intercolumnskip % horizontal space between columns +\intercolumnskip=0.5in + +% The TeXbook, p. 257 +\let\lr=L \newbox\leftcolumn +\output={\if L\lr + \global\setbox\leftcolumn\columnbox \global\let\lr=R + \else + \doubleformat \global\let\lr=L\fi} +\def\doubleformat{\shipout\vbox{\makeheadline + \leftline{\box\leftcolumn\hskip\intercolumnskip\columnbox} + \makefootline} + \advancepageno} +\def\columnbox{\leftline{\pagebody}} + +\def\newcolumn{\vfil\eject} + +\def\bye{\par\vfil\supereject + \if R\lr \null\vfil\eject\fi + \end} + +\outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex + \centerline{\ss#2} + \vskip2\baselineskip} + +\outer\def\section#1{\filbreak + \bskip + \leftline{\headingfont #1} + \askip} +\def\bskip{\vskip 2.5ex plus 0.25ex } +\def\askip{\vskip 0.75ex plus 0.25ex} + +\newdimen\defwidth \defwidth=0.25\hsize +\def\hang{\hangindent\defwidth} + +\def\textindent#1{\noindent\llap{\hbox to \defwidth{\tt#1\hfil}}\ignorespaces} +\def\key{\par\hangafter=0\hang\textindent} + +\def\mtextindent#1{\noindent\hbox{\tt#1\quad}\ignorespaces} +\def\mkey{\par\hangafter=1\hang\mtextindent} + +\def\kbd#{\bgroup\tt \let\next= } + +\newdimen\raggedstretch +\newskip\raggedparfill \raggedparfill=0pt plus 1fil +\def\nohyphens + {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000} +\def\raggedspaces + {\spaceskip=0.3333em\relax + \xspaceskip=0.5em\relax} +\def\raggedright + {\raggedstretch=6em + \nohyphens + \rightskip=0pt plus \raggedstretch + \raggedspaces + \parfillskip=\raggedparfill + \relax} +\def\raggedcenter + {\raggedstretch=6em + \nohyphens + \rightskip=0pt plus \raggedstretch + \leftskip=\rightskip + \raggedspaces + \parfillskip=0pt + \relax} + +\chardef\\=`\\ + +\raggedright +\nopagenumbers +\parindent 0pt +\interlinepenalty=10000 +\hoffset -0.2in +%\voffset 0.2in + +%**end of header + + +\title{GNU\ \ Emacs\ \ Survival\ \ Card}{for version 21} + +In the following, \kbd{C-z} means hit the `\kbd{z}' key while +holding down the {\it Ctrl}\ \ key. \kbd{M-z} means hit the +`\kbd{z}' key while hitting the {\it Meta\/} (labeled {\it Alt\/} +on some keyboards) or after hitting {\it Esc\/} key. + +\section{Running Emacs} + +To enter GNU Emacs, just type its name: \kbd{emacs}. +Emacs divides the frame into several areas: + menu line, + buffer area with the edited text, + mode line describing the buffer in the window above it, + and a minibuffer/echo area in the last line. +\askip +\key{C-x C-c} quit Emacs +\key{C-x C-f} edit file; this command uses the minibuffer to read + the file name; use this to create new files by entering the name + of the new file +\key{C-x C-s} save the file +\key{C-x k} kill a buffer +\key{C-g} in most context: cancel, stop, abort partially typed or + executing command +\key{C-x u} undo + +\section{Moving About} + +\key{C-l} scroll current line to center of window +\key{C-x b} switch to another buffer +\key{M-<} move to beginning of buffer +\key{M->} move to end of buffer +\key{M-x goto-line} go to a given line number + +\section{Multiple Windows} + +\key{C-x 0} remove the current window from the display +\key{C-x 1} make active window the only window +\key{C-x 2} split window horizontally +\key{C-x 3} split window vertically +\key{C-x o} move to other window + +\section{Regions} + +Emacs defines a `region' as the space between the {\it mark\/} and +the {\it point}. A mark is set with \kbd{C-{\it space}}. +The point is at the cursor position. +\askip +\key{M-h} mark entire paragraph +\key{C-x h} mark entire buffer + +\section{Killing and Copying} + +\key{C-w} kill region +\key{M-w} copy region to kill-ring +\key{C-k} kill from the cursor all the way to the end of the line +\key{M-DEL} kill word +\key{C-y} yank back the last kill (\kbd{C-w C-y} combination could be + used to move text around) +\key{M-y} replace last yank with previous kill + +\section{Searching} + +\key{C-s} search for a string +\key{C-r} search for a string backwards +\key{RET} quit searching +\key{M-C-s} regular expression search +\key{M-C-r} reverse regular expression search +\askip +Use \kbd{C-s} or \kbd{C-r} again to repeat the search in either direction. + +\section{Tags} + +Tags tables files record locations of function and +procedure definitions, global variables, data types and anything +else convenient. To create a tags table file, type +`{\tt etags} {\it input\_files}' as a shell command. +\askip +\key{M-.} find a definition +\key{C-u M-.} find next occurrence of definition +\key{M-*} pop back to where \kbd{M-.} was last invoked +\mkey{M-x tags-query-replace} run query-replace on all files + recorded in tags table +\key{M-,} continue last tags search or query-replace + +\section{Compiling} + +\key{M-x compile} compile code in active window +\key{C-c C-c} go to the next compiler error, when in + the compile window or +\key{C-x `} when in the window with source code + +\section{Dired, the Directory Editor} + +\key{C-x d} invoke Dired +\key{d} flag this file for deletion +\key{\~{}} flag all backup files for deletion +\key{u} remove deletion flag +\key{x} delete the files flagged for deletion +\key{C} copy file +\key{g} update the Dired buffer +\key{f} visit the file described on the current line +\key{s} switch between alphabetical date/time order + +\section{Reading and Sending Mail} + +\key{M-x rmail} start reading mail +\key{q} quit reading mail +\key{h} show headers +\key{d} mark the current message for deletion +\key{x} remove all messages marked for deletion + +\key{C-x m} begin composing a message +\key{C-c C-c} send the message and switch to another buffer +\key{C-c C-f C-c} move to the `CC' header field, creating one + if there is none + +\section{Miscellaneous} + +\key{M-q} fill paragraph +\key{M-/} expand previous word dynamically +\key{C-z} iconify (suspend) Emacs when running it under X or + shell, respectively +\mkey{M-x revert-buffer} replace the text being edited with the + text of the file on disk + +\section{Query Replace} + +\key{M-\%} interactively search and replace +\key{M-C-\%} using regular expressions +\askip +Valid responses in query-replace mode are +\askip +\key{SPC} replace this one, go on to next +\key{,} replace this one, don't move +\key{DEL} skip to next without replacing +\key{!} replace all remaining matches +\key{\^{}} back up to the previous match +\key{RET} exit query-replace +\key{C-r} enter recursive edit (\kbd{M-C-c} to exit) + +\section{Regular Expressions} + +\key{. {\rm(dot)}} any single character except a newline +\key{*} zero or more repeats +\key{+} one or more repeats +\key{?} zero or one repeat +\key{[$\ldots$]} denotes a class of character to match +\key{[\^{}$\ldots$]} negates the class + +\key{\\{\it c}} quote characters otherwise having a special + meaning in regular expressions + +\key{$\ldots$\\|$\ldots$\\|$\ldots$} matches one of + the alternatives (``or'') +\key{\\( $\ldots$ \\)} groups a series of pattern elements to + a single element +\key{\\{\it n}} same text as {\it n\/}th group + +\key{\^{}} matches at line beginning +\key{\$} matches at line end + +\key{\\w} matches word-syntax character +\key{\\W} matches non-word-syntax character +\key{\\<} matches at word beginning +\key{\\>} matches at word end +\key{\\b} matches at word break +\key{\\B} matches at non-word break + +\section{Registers} + +\key{C-x r s} save region in register +\key{C-x r i} insert register contents into buffer + +\key{C-x r SPC} save value of point in register +\key{C-x r j} jump to point saved in register + +\section{Rectangles} + +\key{C-x r r} copy rectangle to register +\key{C-x r k} kill rectangle +\key{C-x r y} yank rectangle +\key{C-x r t} prefix each line with a string + +\key{C-x r o} open rectangle, shifting text right +\key{C-x r c} blank out rectangle + +\section{Shells} + +\key{M-x shell} start a shell within Emacs +\key{M-!} execute a shell command +\key{M-|} run a shell command on the region +\key{C-u M-|} filter region through a shell command + +\section{Spelling Check} + +\key{M-\$} check spelling of word at the cursor +\mkey{M-x ispell-region} check spelling of all words in region +\mkey{M-x ispell-buffer} check spelling of entire buffer + +\section{International Character Sets} + +\key{C-x RET C-\\} select and activate input method for + the current buffer +\key{C-\\} enable or disable input method +\mkey{M-x list-input-methods} show all input methods +\mkey{M-x set-language-environment} specify principal language + +\key{C-x RET c} set coding system for next command +\mkey{M-x find-file-literally} visit file with no conversion + of any kind + +\mkey{M-x list-coding-systems} show all coding systems +\mkey{M-x prefer-coding-system} choose preferred coding system + +\section{Keyboard Macros} + +\key{C-x (} start defining a keyboard macro +\key{C-x )} end keyboard macro definition +\key{C-x e} execute last-defined keyboard macro +\key{C-u C-x (} append to last keyboard macro +\mkey{M-x name-last-kbd-macro} name last keyboard macro + +\section{Simple Customization} + +\key{M-x customize} customize variables and faces + +\section{Getting Help} + +Emacs does command completion for you. Typing \kbd{M-x} +{\it tab\/} or {\it space\/} gives a list of Emacs commands. +\askip +\key{C-h} Emacs help +\key{C-h t} run the Emacs tutorial +\key{C-h i} enter Info, the documentation browser +\key{C-h a} show commands matching a string (apropos) +\key{C-h k} display documentation of the function invoked by + keystroke +\askip +Emacs gets into different {\it modes}, each of which customizes +Emacs for editing text of a particular sort. The mode line +contains names of the current modes, in parentheses. +\askip +\key{C-h m} get mode-specific information + +\copyrightnotice + +\bye + +% Local variables: +% compile-command: "tex survival" +% End: