annotate etc/refcard.tex @ 5797:a1808d52a34a

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