Annotation of GNUtools/emacs/etc/refcard.tex, revision 1.1.1.1

1.1       root        1: % Reference Card for GNU Emacs version 18 on Unix systems
                      2: %**start of header
                      3: \newcount\columnsperpage
                      4: 
                      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.
                      7: 
                      8: \columnsperpage=1
                      9: 
                     10: % Copyright (c) 1987 Free Software Foundation, Inc.
                     11: 
                     12: % This file is part of GNU Emacs.
                     13: 
                     14: % GNU Emacs is free software; you can redistribute it and/or modify
                     15: % it under the terms of the GNU General Public License as published by
                     16: % the Free Software Foundation; either version 1, or (at your option)
                     17: % any later version.
                     18: 
                     19: % GNU Emacs is distributed in the hope that it will be useful,
                     20: % but WITHOUT ANY WARRANTY; without even the implied warranty of
                     21: % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     22: % GNU General Public License for more details.
                     23: 
                     24: % You should have received a copy of the GNU General Public License
                     25: % along with GNU Emacs; see the file COPYING.  If not, write to
                     26: % the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
                     27: 
                     28: % This file is intended to be processed by plain TeX (TeX82).
                     29: %
                     30: % The final reference card has six columns, three on each side.
                     31: % This file can be used to produce it in any of three ways:
                     32: % 1 column per page
                     33: %    produces six separate pages, each of which needs to be reduced to 80%.
                     34: %    This gives the best resolution.
                     35: % 2 columns per page
                     36: %    produces three already-reduced pages.
                     37: %    You will still need to cut and paste.
                     38: % 3 columns per page
                     39: %    produces two pages which must be printed sideways to make a
                     40: %    ready-to-use 8.5 x 11 inch reference card.
                     41: %    For this you need a dvi device driver that can print sideways.
                     42: % Which mode to use is controlled by setting \columnsperpage above.
                     43: %
                     44: % Author:
                     45: %  Stephen Gildea
                     46: %  UUCP: mit-erl!gildea
                     47: %  Internet: [email protected]
                     48: %
                     49: % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
                     50: % for their many good ideas.
                     51: 
                     52: % If there were room, it would be nice to see sections on
                     53: % Abbrevs, Rectangles, and Dired.
                     54: 
                     55: \def\versionnumber{1.9}
                     56: \def\year{1987}
                     57: \def\version{March \year\ v\versionnumber}
                     58: 
                     59: \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
                     60:   \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
                     61:   Permissions on back.  v\versionnumber}}
                     62: 
                     63: \def\copyrightnotice{
                     64: \vskip 1ex plus 2 fill\begingroup\small
                     65: \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
                     66: \centerline{designed by Stephen Gildea, \version}
                     67: \centerline{for GNU Emacs version 18 on Unix systems}
                     68: 
                     69: Permission is granted to make and distribute copies of
                     70: this card provided the copyright notice and this permission notice
                     71: are preserved on all copies.
                     72: 
                     73: For copies of the GNU Emacs manual, write to the Free Software
                     74: Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
                     75: 
                     76: \endgroup}
                     77: 
                     78: % make \bye not \outer so that the \def\bye in the \else clause below
                     79: % can be scanned without complaint.
                     80: \def\bye{\par\vfill\supereject\end}
                     81: 
                     82: \newdimen\intercolumnskip
                     83: \newbox\columna
                     84: \newbox\columnb
                     85: 
                     86: \def\ncolumns{\the\columnsperpage}
                     87: 
                     88: \message{[\ncolumns\space 
                     89:   column\if 1\ncolumns\else s\fi\space per page]}
                     90: 
                     91: \def\scaledmag#1{ scaled \magstep #1}
                     92: 
                     93: % This multi-way format was designed by Stephen Gildea
                     94: % October 1986.
                     95: \if 1\ncolumns
                     96:   \hsize 4in
                     97:   \vsize 10in
                     98:   \voffset -.7in
                     99:   \font\titlefont=\fontname\tenbf \scaledmag3
                    100:   \font\headingfont=\fontname\tenbf \scaledmag2
                    101:   \font\smallfont=\fontname\sevenrm
                    102:   \font\smallsy=\fontname\sevensy
                    103: 
                    104:   \footline{\hss\folio}
                    105:   \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
                    106: \else
                    107:   \hsize 3.2in
                    108:   \vsize 7.95in
                    109:   \hoffset -.75in
                    110:   \voffset -.745in
                    111:   \font\titlefont=cmbx10 \scaledmag2
                    112:   \font\headingfont=cmbx10 \scaledmag1
                    113:   \font\smallfont=cmr6
                    114:   \font\smallsy=cmsy6
                    115:   \font\eightrm=cmr8
                    116:   \font\eightbf=cmbx8
                    117:   \font\eightit=cmti8
                    118:   \font\eighttt=cmtt8
                    119:   \font\eightsy=cmsy8
                    120:   \textfont0=\eightrm
                    121:   \textfont2=\eightsy
                    122:   \def\rm{\eightrm}
                    123:   \def\bf{\eightbf}
                    124:   \def\it{\eightit}
                    125:   \def\tt{\eighttt}
                    126:   \normalbaselineskip=.8\normalbaselineskip
                    127:   \normallineskip=.8\normallineskip
                    128:   \normallineskiplimit=.8\normallineskiplimit
                    129:   \normalbaselines\rm          %make definitions take effect
                    130: 
                    131:   \if 2\ncolumns
                    132:     \let\maxcolumn=b
                    133:     \footline{\hss\rm\folio\hss}
                    134:     \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
                    135:   \else \if 3\ncolumns
                    136:     \let\maxcolumn=c
                    137:     \nopagenumbers
                    138:   \else
                    139:     \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
                    140:     \errmessage{Illegal number of columns per page}
                    141:   \fi\fi
                    142: 
                    143:   \intercolumnskip=.46in
                    144:   \def\abc{a}
                    145:   \output={%
                    146:       % This next line is useful when designing the layout.
                    147:       %\immediate\write16{Column \folio\abc\space starts with \firstmark}
                    148:       \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
                    149:       \else\if a\abc
                    150:        \global\setbox\columna\columnbox \global\def\abc{b}
                    151:         %% in case we never use \columnb (two-column mode)
                    152:         \global\setbox\columnb\hbox to -\intercolumnskip{}
                    153:       \else
                    154:        \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
                    155:   \def\multicolumnformat{\shipout\vbox{\makeheadline
                    156:       \hbox{\box\columna\hskip\intercolumnskip
                    157:         \box\columnb\hskip\intercolumnskip\columnbox}
                    158:       \makefootline}\advancepageno}
                    159:   \def\columnbox{\leftline{\pagebody}}
                    160: 
                    161:   \def\bye{\par\vfill\supereject
                    162:     \if a\abc \else\null\vfill\eject\fi
                    163:     \if a\abc \else\null\vfill\eject\fi
                    164:     \end}  
                    165: \fi
                    166: 
                    167: % we won't be using math mode much, so redefine some of the characters
                    168: % we might want to talk about
                    169: \catcode`\^=12
                    170: \catcode`\_=12
                    171: 
                    172: \chardef\\=`\\
                    173: \chardef\{=`\{
                    174: \chardef\}=`\}
                    175: 
                    176: \hyphenation{mini-buf-fer}
                    177: 
                    178: \parindent 0pt
                    179: \parskip 1ex plus .5ex minus .5ex
                    180: 
                    181: \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
                    182: 
                    183: \outer\def\newcolumn{\vfill\eject}
                    184: 
                    185: \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
                    186: 
                    187: \outer\def\section#1{\par\filbreak
                    188:   \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
                    189:   \vskip 2ex plus 1ex minus 1.5ex}
                    190: 
                    191: \newdimen\keyindent
                    192: 
                    193: \def\beginindentedkeys{\keyindent=1em}
                    194: \def\endindentedkeys{\keyindent=0em}
                    195: \endindentedkeys
                    196: 
                    197: \def\paralign{\vskip\parskip\halign}
                    198: 
                    199: \def\<#1>{$\langle${\rm #1}$\rangle$}
                    200: 
                    201: \def\kbd#1{{\tt#1}\null}       %\null so not an abbrev even if period follows
                    202: 
                    203: \def\beginexample{\par\leavevmode\begingroup
                    204:   \obeylines\obeyspaces\parskip0pt\tt}
                    205: {\obeyspaces\global\let =\ }
                    206: \def\endexample{\endgroup}
                    207: 
                    208: \def\key#1#2{\leavevmode\hbox to \hsize{\vtop
                    209:   {\hsize=.75\hsize\rightskip=1em
                    210:   \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
                    211: 
                    212: \newbox\metaxbox
                    213: \setbox\metaxbox\hbox{\kbd{M-x }}
                    214: \newdimen\metaxwidth
                    215: \metaxwidth=\wd\metaxbox
                    216: 
                    217: \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
                    218:   {\hskip\keyindent\relax#1\hfil}%
                    219:   \hskip -\metaxwidth minus 1fil
                    220:   \kbd{#2}\hfil}}
                    221: 
                    222: \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad
                    223:   &\kbd{#3}\quad\cr}
                    224: 
                    225: %**end of header
                    226: 
                    227: 
                    228: \title{GNU Emacs Reference Card}
                    229: 
                    230: \centerline{(for version 18)}
                    231: 
                    232: \section{Starting Emacs}
                    233: 
                    234: To enter Emacs, just type its name: \kbd{emacs}
                    235: 
                    236: To read in a file to edit, see Files, below.
                    237: 
                    238: \section{Leaving Emacs}
                    239: 
                    240: \key{suspend Emacs (the usual way of leaving it)}{C-z}
                    241: \key{exit Emacs permanently}{C-x C-c}
                    242: 
                    243: \section{Files}
                    244: 
                    245: \key{{\bf read} a file into Emacs}{C-x C-f}
                    246: \key{{\bf save} a file back to disk}{C-x C-s}
                    247: \key{{\bf insert} contents of another file into this buffer}{C-x i}
                    248: \key{replace this file with the file you really want}{C-x C-v}
                    249: \key{write buffer to a specified file}{C-x C-w}
                    250: \key{run Dired, the directory editor}{C-x d}
                    251: 
                    252: \section{Getting Help}
                    253: 
                    254: The Help system is simple.  Type \kbd{C-h} and follow the directions.
                    255: If you are a first-time user, type \kbd{C-h t} for a {\bf tutorial}.
                    256: (This card assumes you know the tutorial.)
                    257: 
                    258: \key{get rid of Help window}{C-x 1}
                    259: \key{scroll Help window}{ESC C-v}
                    260: 
                    261: \key{apropos: show commands matching a string}{C-h a}
                    262: \key{show the function a key runs}{C-h c}
                    263: \key{describe a function}{C-h f}
                    264: \key{get mode-specific information}{C-h m}
                    265: 
                    266: \section{Error Recovery}
                    267: 
                    268: \key{{\bf abort} partially typed or executing command}{C-g}
                    269: \metax{{\bf recover} a file lost by a system crash}{M-x recover-file}
                    270: \key{{\bf undo} an unwanted change}{C-x u {\rm or} C-_}
                    271: \metax{restore a buffer to its original contents}{M-x revert-buffer}
                    272: \key{redraw garbaged screen}{C-l}
                    273: 
                    274: \section{Incremental Search}
                    275: 
                    276: \key{search forward}{C-s}
                    277: \key{search backward}{C-r}
                    278: \key{regular expression search}{C-M-s}
                    279: 
                    280: Use \kbd{C-s} or \kbd{C-r} again to repeat the search in either direction.
                    281: 
                    282: \key{exit incremental search}{ESC}
                    283: \key{undo effect of last character}{DEL}
                    284: \key{abort current search}{C-g}
                    285: 
                    286: If Emacs is still searching, \kbd{C-g} will cancel the
                    287: part of the search not done, otherwise it aborts the entire search.
                    288: 
                    289: \shortcopyrightnotice
                    290: 
                    291: \section{Motion}
                    292: 
                    293: Cursor motion:
                    294: 
                    295: \beginindentedkeys
                    296: 
                    297: \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
                    298: \threecol{{\bf entity to move over}}{{\bf backward}}{{\bf forward}}
                    299: \threecol{character}{C-b}{C-f}
                    300: \threecol{word}{M-b}{M-f}
                    301: \threecol{line}{C-p}{C-n}
                    302: \threecol{go to line beginning (or end)}{C-a}{C-e}
                    303: \threecol{sentence}{M-a}{M-e}
                    304: \threecol{paragraph}{M-[}{M-]}
                    305: \threecol{page}{C-x [}{C-x ]}
                    306: \threecol{sexp}{C-M-b}{C-M-f}
                    307: \threecol{function}{C-M-a}{C-M-e}
                    308: \threecol{go to buffer beginning (or end)}{M-<}{M->}
                    309: }
                    310: Screen motion:
                    311: 
                    312: \key{scroll to next screen}{C-v}
                    313: \key{scroll to previous screen}{M-v}
                    314: \key{scroll left}{C-x <}
                    315: \key{scroll right}{C-x >}
                    316: 
                    317: \endindentedkeys
                    318: 
                    319: \section{Killing and Deleting}
                    320: 
                    321: \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
                    322: \threecol{{\bf entity to kill}}{{\bf backward}}{{\bf forward}}
                    323: \threecol{character (delete, not kill)}{DEL}{C-d}
                    324: \threecol{word}{M-DEL}{M-d}
                    325: \threecol{line (to end of)}{M-0 C-k}{C-k}
                    326: \threecol{sentence}{C-x DEL}{M-k}
                    327: \threecol{sexp}{M-- C-M-k}{C-M-k}
                    328: }
                    329: 
                    330: \key{kill {\bf region}}{C-w}
                    331: \key{kill to next occurrence of {\it char}}{M-z {\it char}}
                    332: 
                    333: \key{yank back last thing killed}{C-y}
                    334: \key{replace last yank with previous kill}{M-y}
                    335: 
                    336: \section{Marking}
                    337: 
                    338: \key{set mark here}{C-@ {\rm or} C-SPC}
                    339: \key{exchange point and mark}{C-x C-x}
                    340: 
                    341: \key{set mark {\it arg\/} {\bf words} away}{M-@}
                    342: \key{mark {\bf paragraph}}{M-h}
                    343: \key{mark {\bf page}}{C-x C-p}
                    344: \key{mark {\bf sexp}}{C-M-@}
                    345: \key{mark {\bf function}}{C-M-h}
                    346: \key{mark entire {\bf buffer}}{C-x h}
                    347: 
                    348: \section{Query Replace}
                    349: 
                    350: \key{interactively replace a text string}{M-\%}
                    351: \metax{using regular expressions}{M-x query-replace-regexp}
                    352: 
                    353: Valid responses in query-replace mode are
                    354: 
                    355: \key{{\bf replace} this one, go on to next}{SPC}
                    356: \key{replace this one, don't move}{,}
                    357: \key{{\bf skip} to next without replacing}{DEL}
                    358: \key{replace all remaining matches}{!}
                    359: \key{{\bf back up} to the previous match}{^}
                    360: \key{{\bf exit} query-replace}{ESC}
                    361: \key{enter recursive edit (\kbd{C-M-c} to exit)}{C-r}
                    362: 
                    363: \section{Multiple Windows}
                    364: 
                    365: \key{delete all other windows}{C-x 1}
                    366: \key{delete this window}{C-x 0}
                    367: \key{split window in 2 vertically}{C-x 2}
                    368: \key{split window in 2 horizontally}{C-x 5}
                    369: 
                    370: \key{scroll other window}{C-M-v}
                    371: \key{switch cursor to another window}{C-x o}
                    372: 
                    373: \metax{shrink window shorter}{M-x shrink-window}
                    374: \key{grow window taller}{C-x ^}
                    375: \key{shrink window narrower}{C-x \{}
                    376: \key{grow window wider}{C-x \}}
                    377: 
                    378: \key{select a buffer in other window}{C-x 4 b}
                    379: \key{find file in other window}{C-x 4 f}
                    380: \key{compose mail in other window}{C-x 4 m}
                    381: \key{run Dired in other window}{C-x 4 d}
                    382: \key{find tag in other window}{C-x 4 .}
                    383: 
                    384: \section{Formatting}
                    385: 
                    386: \key{indent current {\bf line} (mode-dependent)}{TAB}
                    387: \key{indent {\bf region} (mode-dependent)}{C-M-\\}
                    388: \key{indent {\bf sexp} (mode-dependent)}{C-M-q}
                    389: \key{indent region rigidly {\it arg\/} columns}{C-x TAB}
                    390: 
                    391: \key{insert newline after point}{C-o}
                    392: \key{move rest of line vertically down}{C-M-o}
                    393: \key{delete blank lines around point}{C-x C-o}
                    394: \key{delete all whitespace around point}{M-\\}
                    395: \key{put exactly one space at point}{M-SPC}
                    396: 
                    397: \key{fill {\bf paragraph}}{M-q}
                    398: \key{fill {\bf region}}{M-g}
                    399: \key{set fill column}{C-x f}
                    400: \key{set prefix each line starts with}{C-x .}
                    401: 
                    402: \section{Case Change}
                    403: 
                    404: \key{uppercase word}{M-u}
                    405: \key{lowercase word}{M-l}
                    406: \key{capitalize word}{M-c}
                    407: 
                    408: \key{uppercase region}{C-x C-u}
                    409: \key{lowercase region}{C-x C-l}
                    410: \metax{capitalize region}{M-x capitalize-region}
                    411: 
                    412: \section{The Minibuffer}
                    413: 
                    414: The following keys are defined in the minibuffer.
                    415: 
                    416: \key{complete as much as possible}{TAB}
                    417: \key{complete up to one word}{SPC}
                    418: \key{complete and execute}{RET}
                    419: \key{show possible completions}{?}
                    420: \key{abort command}{C-g}
                    421: 
                    422: Type \kbd{C-x ESC} to edit and repeat the last command that used the
                    423: minibuffer.  The following keys are then defined.
                    424: 
                    425: \key{previous minibuffer command}{M-p}
                    426: \key{next minibuffer command}{M-n}
                    427: 
                    428: \newcolumn
                    429: \title{GNU Emacs Reference Card}
                    430: 
                    431: \section{Buffers}
                    432: 
                    433: \key{select another buffer}{C-x b}
                    434: \key{list all buffers}{C-x C-b}
                    435: \key{kill a buffer}{C-x k}
                    436: 
                    437: \section{Transposing}
                    438: 
                    439: \key{transpose {\bf characters}}{C-t}
                    440: \key{transpose {\bf words}}{M-t}
                    441: \key{transpose {\bf lines}}{C-x C-t}
                    442: \key{transpose {\bf sexps}}{C-M-t}
                    443: 
                    444: \section{Spelling Check}
                    445: 
                    446: \key{check spelling of current word}{M-\$}
                    447: \metax{check spelling of all words in region}{M-x spell-region}
                    448: \metax{check spelling of entire buffer}{M-x spell-buffer}
                    449: 
                    450: \section{Tags}
                    451: 
                    452: \key{find tag}{M-.}
                    453: \key{find next occurrence of tag}{C-u M-.}
                    454: \metax{specify a new tags file}{M-x visit-tags-table}
                    455: 
                    456: \metax{regexp search on all files in tags table}{M-x tags-search}
                    457: \metax{query replace on all the files}{M-x tags-query-replace}
                    458: \key{continue last tags search or query-replace}{M-,}
                    459: 
                    460: \section{Shells}
                    461: 
                    462: \key{execute a shell command}{M-!}
                    463: \key{run a shell command on the region}{M-|}
                    464: \key{filter region through a shell command}{C-u M-|}
                    465: \metax{start a shell in window \kbd{*shell*}}{M-x shell}
                    466: 
                    467: \section{Rmail}
                    468: 
                    469: \key{scroll forward}{SPC}
                    470: \key{scroll reverse}{DEL}
                    471: \key{beginning of message}{. {\rm (dot)}}
                    472: \key{{\bf next} non-deleted message}{n}
                    473: \key{{\bf previous} non-deleted message}{p}
                    474: \key{next message}{M-n}
                    475: \key{previous message}{M-p}
                    476: \key{{\bf delete} message}{d}
                    477: \key{delete message and back up}{C-d}
                    478: \key{undelete message}{u}
                    479: \key{{\bf reply} to message}{r}
                    480: \key{forward message to someone}{f}
                    481: \key{send mail}{m}
                    482: \key{{\bf get} newly arrived mail}{g}
                    483: \key{{\bf quit} Rmail}{q}
                    484: \key{output message to another Rmail file}{o}
                    485: \key{output message in Unix-mail style}{C-o}
                    486: \key{show summary of headers}{h}
                    487: 
                    488: \section{Regular Expressions}
                    489: 
                    490: The following have special meaning inside a regular expression.
                    491: 
                    492: \key{any single character}{. {\rm(dot)}}
                    493: \key{zero or more repeats}{*}
                    494: \key{one or more repeats}{+}
                    495: \key{zero or one repeat}{?}
                    496: \key{any character in set}{[ {\rm$\ldots$} ]}
                    497: \key{any character not in set}{[^ {\rm$\ldots$} ]}
                    498: \key{beginning of line}{^}
                    499: \key{end of line}{\$}
                    500: \key{quote a special character {\it c\/}}{\\{\it c}}
                    501: \key{alternative (``or'')}{\\|}
                    502: \key{grouping}{\\( {\rm$\ldots$} \\)}
                    503: \key{{\it n\/}th group}{\\{\it n}}
                    504: \key{beginning of buffer}{\\`}
                    505: \key{end of buffer}{\\'}
                    506: \key{word break}{\\b}
                    507: \key{not beginning or end of word}{\\B}
                    508: \key{beginning of word}{\\<}
                    509: \key{end of word}{\\>}
                    510: \key{any word-syntax character}{\\w}
                    511: \key{any non-word-syntax character}{\\W}
                    512: \key{character with syntax {\it c}}{\\s{\it c}}
                    513: \key{character with syntax not {\it c}}{\\S{\it c}}
                    514: 
                    515: \section{Registers}
                    516: 
                    517: \key{copy region to register}{C-x x}
                    518: \key{insert register contents}{C-x g}
                    519: 
                    520: \key{save point in register}{C-x /}
                    521: \key{move point to saved location}{C-x j}
                    522: 
                    523: \section{Info}
                    524: 
                    525: \key{enter the Info documentation reader}{C-h i}
                    526: \beginindentedkeys
                    527: 
                    528: Moving within a node:
                    529: 
                    530: \key{scroll forward}{SPC}
                    531: \key{scroll reverse}{DEL}
                    532: \key{beginning of node}{. {\rm (dot)}}
                    533: 
                    534: Moving between nodes:
                    535: 
                    536: \key{{\bf next} node}{n}
                    537: \key{{\bf previous} node}{p}
                    538: \key{move {\bf up}}{u}
                    539: \key{select menu item by name}{m}
                    540: \key{select {\it n\/}th menu item by number (1--5)}{{\it n}}
                    541: \key{follow cross reference  (return with \kbd{l})}{f}
                    542: \key{return to last node you saw}{l}
                    543: \key{return to directory node}{d}
                    544: \key{go to any node by name}{g}
                    545: 
                    546: Other:
                    547: 
                    548: \key{run Info {\bf tutorial}}{h}
                    549: \key{list Info commands}{?}
                    550: \key{{\bf quit} Info}{q}
                    551: \key{search nodes for regexp}{s}
                    552: 
                    553: \endindentedkeys
                    554: 
                    555: \section{Keyboard Macros}
                    556: 
                    557: \key{{\bf start} defining a keyboard macro}{C-x (}
                    558: \key{{\bf end} keyboard macro definition}{C-x )}
                    559: \key{{\bf execute} last-defined keyboard macro}{C-x e}
                    560: \key{append to last keyboard macro}{C-u C-x (}
                    561: \metax{name last keyboard macro}{M-x name-last-kbd-macro}
                    562: \metax{insert lisp definition in buffer}{M-x insert-kbd-macro}
                    563: 
                    564: \section{Commands Dealing with Emacs Lisp}
                    565: 
                    566: \key{eval {\bf sexp} before point}{C-x C-e}
                    567: \key{eval current {\bf defun}}{C-M-x}
                    568: \metax{eval {\bf region}}{M-x eval-region}
                    569: \metax{eval entire {\bf buffer}}{M-x eval-current-buffer}
                    570: \key{read and eval minibuffer}{M-ESC}
                    571: \key{re-execute last minibuffer command}{C-x ESC}
                    572: \metax{read and eval Emacs Lisp file}{M-x load-file}
                    573: \metax{load from standard system directory}{M-x load-library}
                    574: 
                    575: \section{Simple Customization}
                    576: 
                    577: % The intended audience here is the person who wants to make simple
                    578: % customizations and knows Lisp syntax.
                    579: 
                    580: Here are some examples of binding global keys in Emacs Lisp.  Note
                    581: that you cannot say \kbd{"\\M-\#"}; you must say \kbd{"\\e\#"}.
                    582: 
                    583: \beginexample%
                    584: (global-set-key "\\C-cg" 'goto-line)
                    585: (global-set-key "\\e\\C-r" 'isearch-backward-regexp)
                    586: (global-set-key "\\e\#" 'query-replace-regexp)
                    587: \endexample
                    588: 
                    589: An example of setting a variable in Emacs Lisp:
                    590: 
                    591: \beginexample%
                    592: (setq backup-by-copying-when-linked t)
                    593: \endexample
                    594: 
                    595: \section{Writing Commands}
                    596: 
                    597: \beginexample%
                    598: (defun \<command-name> (\<args>)
                    599:   "\<documentation>"
                    600:   (interactive "\<template>")
                    601:   \<body>)
                    602: \endexample
                    603: 
                    604: An example:
                    605: 
                    606: \beginexample%
                    607: (defun this-line-to-top-of-screen (line)
                    608:   "Reposition line point is on to the top of
                    609: the screen.  With ARG, put point on line ARG.
                    610: Negative counts from bottom."
                    611:   (interactive "P")
                    612:   (recenter (if (null line)
                    613:                 0
                    614:               (prefix-numeric-value line))))
                    615: \endexample
                    616: 
                    617: The argument to \kbd{interactive} is a string specifying how to get
                    618: the arguments when the function is called interactively.
                    619: Type \kbd{C-h f interactive} for more information.
                    620: 
                    621: \copyrightnotice
                    622: 
                    623: \bye
                    624: 
                    625: % Local variables:
                    626: % compile-command: "tex refcard"
                    627: % End:

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.