1 Multics Emacs -- 04/23/81
2
3 **This file is intended to be perused via dprint, print, or via an**
4 **editor. It is not intended to be perused with the help command **
5
6
7
8
9 ^L
10 Multics Emacs is a display-oriented text-preparation and editing
11 facility modelled after the EMACS editor of R. Stallman and others on the
12 MIT AI Lab's PDP-10.
13
14 The pathname of Multics Emacs is >unb>emacs. The normal
15 arguments to the emacs command are the pathnames of files to be read in and
16 edited. The command has the added names multics_emacs and e.
17
18 This info segment contains basic information about accessing Multics
19 Emacs, and the most fundamental information about its use. For a list of
20 editor commands available in the default environment Fundamental Mode, see
21 fundamental-mode.info in this directory. The reader should be aware of the
22 following documents in >doc>ss>emacs; you should obtain a copy
23 of fundamental-mode.info if you have not already. Most of these documents are
24 intended to be printed and read; they are not intended for perusal with the
25 "help" command:
26
27 emacs.info This info segment.
28
29 fundamental-mode.info The editor commands available in the
30 default environment.
31 emacs-tutorial.info A tutorial introduction to using Multics
32 Emacs incomplete but valuable
33 pl1-mode.info Documentation of the features for editing
34 and creating PL/I programs.
35 lisp-mode.info Documentation of the features for editing
36 and creating Lisp programs.
37 fortran-mode.info Documentation of the features for editing
38 and creating FORTRAN programs.
39 rmail.info Information on the Emacs mail reading and
40 sending subsystem.
41 windows.info A description of the window management
42 system, and the window and buffer
43 editor subsystems.
44 emacs.changes.info A reverse chronological transcript of
45 missives announcing changes to
46 Multics Emacs.
47 emacs.status.info A list of known bugs, deficiencies, and
48 planned features, and their status.
49 extensions.info Information for those wishing to write
50 their own code in the Emacs
51 environment, including an introduction
52 to Lisp.
53 extensions.changes.info Changes to extensions.info.
54
55 ldebug-mode.info Information on the interactive debugging
56 facility for Lisp code in Emacs.
57 ctl-writing.info Information on how to write new terminal
58 support packages to support additional
59 types of video terminals.
60
61 Mail complaining about bugs, or missing features, should be sent to
62 emacs.bugs at MIT-Multics or via the standard trouble report mechanism at any
63 other site. There exist mailing lists for changes, both for all ARPANET sites
64 and Phoenix System M. If you wish to be put on these mailing lists, or taken
65 off, please send mail to either of the above addresses.
66
67 Invoking the emacs command places you in an editor buffer named
68 "main". Text may be typed immediately: it goes directly into the buffer.
69 The carriage-return key is used to terminate lines. The cursor of a video
70 terminal, or the print head of a printing terminal, shows the place where
71 text will next go. The cursor or print head corresponds to a point in the
72 buffer known as "point". "Point" moves around as characters are typed.
73 Point may be moved explicitly by "editor commands", which are issued by
74 typing either single "control" characters, or two-character sequences.
75 Commands exist to move point over words, paragraphs, characters, sentences,
76 etc., forward and backward one or many times. Commands exist to delete
77 characters, words, sentences, etc., and to retrieve or rearrange text so
78 deleted. Various sets of commands are available to deal with various types
79 of editing tasks: the file fundamental-mode.info tells what commands are
80 invoked by what keys, and what they do.
81
82 "Control" characters are entered by holding down the key marked
83 "CTL", "CTRL", "CNTRL", "CONTROL", or the like, and pressing some other key
84 say "N" to get a "Control N" while the "CONTROL" key is being held down;
85 it is like a "shift" key. In some cases, although not for letters, it may be
86 necessary to hold the CONTROL and SHIFT keys to get some characters. Control
87 characters are represented by the circumflex character in all Emacs
88 documentation: "^N" means a "Control N", i.e., the character generated by
89 depressing the "N" key while the "CONTROL" key is being held down. Many
90 Emacs commands are invoked by 2-key sequences whose first key is the "ESCAPE"
91 key; this key is often marked "ESC", "ALT", or "ALTMODE". It is denoted by
92 "ESC" or "esc" in the documentation. The "ESC" key generates a character;
93 it should be depressed and released like any other key.
94
95 In this document, and all the Emacs documentation, "CR" means the
96 "carriage return" key. "\177" means the "DEL" or "RUBOUT" key. "TAB" means
97 the "TAB" key; if your terminal does not have a "TAB" key, "Control I" will
98 do as well.
99
100 There is an automatic documentation feature in Emacs; to find out
101 what any key does, depress and release the ESC key, and type a question mark
102 i.e. type the TWO KEYS in order ESC and ?. Emacs will then prompt:
103
104 Explain Key:
105
106 Then type the key or key sequence for instance a Control N about which you
107 wish to find out. Emacs will display or print the appropriate
108 documentation automatically it may take a little time to find it however.
109 When you resume editing, the documentation will be removed from the screen.
110
111 "Point" is considered to be between two characters; it is to the
112 left of the blinking cursor. Newline characters at the ends of lines count
113 as one character each, as do tabs, backspaces, and other control characters
114 in the text all control characters other than tab and linefeed are displayed
115 in the usual Multics octal escape format e.g. \032.
116
117 Emacs will often prompt for information such as search strings, file
118 names, buffer names, etc., in an area at the bottom of the screen or on an
119 indented line on a printing terminal called the "minibuffer". This is a
120 little buffer: one can edit it, for example, use the familiar "#" to delete
121 unwanted characters as a regular buffer. Responses in the minibuffer are
122 almost always terminated with the Carriage Return key. To get out of a
123 minibuffer at any time without executing the command, type two Control G's.
124 The terminal will beep, and the minibuffer command will be aborted.
125
126 Only the most common commands are invocable from one-or-two key
127 sequences; other commands, known as "Extended commands" must be invoked by
128 their full name. In order to invoke an extended command, type the two
129 characters ESC and X: Emacs will propmpt in the minibuffer for the name and
130 arguments of the extended command. Type them, and a carriage return. To
131 obtain the documentation for any extended command, use the "describe"
132 extended command. Type, ESC, X, describe, a space, the name of the extended
133 command you wish to find out about, and a carriage return. For instance,
134 type
135
136 ESC X describe speedtype CR
137
138 to learn about the "speedtype" command.
139
140 The "apropos" extended command can be used to find all commands
141 and what keys invoke them that "mention" a particular subject in their
142 command-names. This can be used to find what command you want when you don't
143 know what key invokes it. Type ESC X describe apropos CR to find out about
144 it.
145
146 Many commands can be repeated many times automatically by giving
147 them a "numeric argument". This is done by typing ESC, the number desired,
148 and then the basic command. For instance, ^D Control D deletes a
149 character. ESC 3 ^D deletes three characters. Other commands use the
150 presence or value of a numeric argument to perform alternative actions, or
151 modify their actions: this is documented in the documentation of the
152 individual commands. A brief list of commands that accept numeric arguments
153 appears below. Negative arguments can be supplied by typing a minus sign -
154 after ESC; negative arguments generally cause "backwards action", for instance
155 going backward by screens instead of forward.
156
157 Single-character commands usually deal with spacing over, or
158 otherwise manipulating characters or lines. Two-keystroke commands starting
159 with the ESC key usually deal with words or sentences, often parallelling the
160 single-character commands example Control D is delete a character ESC D is
161 delete a word. More uncommon commands start with "prefix" control
162 characters: for instance, Control X Control F reads in a file. Characters
163 need not be shifted upper case when entered after ESC or a prefix
164 character.
165
166 Here is a list of very few simple commands. To find out more about
167 any of them, use ESC ? as described above:
168
169 ^X^F Find, i.e., read in a file.
170
171 ^N Go to the next line.
172 ^P Go up to the previous line.
173
174 ^A Go to the beginning of the line.
175 ^E Go to the end of the line.
176 ^F Go forward a character.
177 ^B Go backward a character.
178
179 ESC-< Escape Less-than Go to the beginning of the buffer.
180 ESC-> Escape Greater than Go to the end of the buffer.
181
182 ^S Search forward. CR ends the search string.
183 ^D Delete a character.
184 # Delete last character.
185 ESC ? Help- find info on a command.
186
187 ^X^C Quit Emacs.
188 ^X^W Write out buffer to a file.
189
190 There are many, many commands. See fundamental-mode.info. To find
191 out about all the "search" commands, type ^_ A search CR and so forth.
192 Typing Control Underscore ^_ gets you into a help facility: ^_? gets it to
193 describe what it can do.
194
195 ----------------------------------------
196
197 The following commands repeat with numeric arguments:
198
199 ^B ^C ^D ^F ^N ^O ^P ^Q # ESC-A ESC-B ESC-D ESC-E
200 ESC-F ESC-# ESC- ESC-
201
202 Also tells ^Y how many back to yank.
203 Also tells ^K how many lines to kill.
204 Also tells ESC-Q whether to adjust or not.
205 Also tells ^XS whether to use string or QEDX-like matching.
206 Tells ^X2 how big to make top window.
207 Tells ^XV how many lines to print.
208 Tells ESC-R how to position the cursor, and ^L the screen.
209 Tells ^X* whether to display long form, and macros how to
210 iterate.
211 Tells ^XD whether to edit the working directory or some other.
212 Tells ESC-I whether to indent to words on last line, or look up.
213
214 -------------------------------------------------------
215
216 Here is a brief table of some common cursor motion and deleting commands:
217 \177 means the "RUBOUT" or "DEL" key
218
219 Forward Backward End-of Beginning-of Delete Delete
220 Forward Backward
221
222 Character ^F ^B ^D \177 or #
223
224 Line ^N ^P ^E ^A ^K
225
226 Word ESC F ESC B ESC F ESC B ESC D ESC \177, ESC #
227
228 Sentence ESC E ESC A ESC E ESC A ESC K ^X \177, ^X#
229
230 Paragraph ESC ] ESC ESC ESC
231
232 Screen ^V ESC V ESC99ESC R
233 ESC0ESC R
234
235 Buffer ESC > ESC <
236 ----------------------------------------
237
238 If you have set your Multics erase kill and character-escape
239 characters to other printing characters than the usual # @ and \ Emacs
240 will use them for these purposes. If you use the standard Multics editing
241 characters or have non-printing characters as editing characters Emacs will
242 use # @ and \ in their usual sense.
243
244 Emacs attempts to determine the characteristics of your terminal
245 from the Multics terminal type. If you are logged in via the ARPA network
246 Emacs will attempt to negotiate the "Supdup Output" TELNET option to
247 determine your terminal type. If the Multics type is ASCII or your User
248 Host does not support the Supdup Output option or your Multics terminal is
249 not of a recognized type Emacs will ask you the type of terminal you have
250 with a question of the form:
251
252 What type terminal do you have?
253
254 You may answer "quit" to this response to exit Emacs immediately.
255
256 In addition three control arguments for setting the terminal type
257 are recognized by Emacs when given as the FIRST command line argument. These
258 are:
259
260 emacs -ttp STRING or emacs -terminal_type STRING
261 tells Emacs that your terminal type is STRING. The value of STRING
262 may be any recognized editor terminal type or the pathname of a
263 control file to load. The terminal type given by STRING will be
264 set permanently. IE: changing your Multics terminal type will not
265 affect Emacs' memory of this STRING.
266
267 emacs -reset
268 causes Emacs to forget any characteristics of the terminal set by
269 the -ttp option. Emacs will once again check the Multics terminal
270 type as is the normal case. The line speed if set by -line_speed
271 is forgotten as well.
272
273 emacs -query
274 causes Emacs to immediately ask the user for the terminal type
275 without checking the Multics terminal type first. The answer you
276 give may be any STRING accepted by the -ttp option.
277
278 The following control argument may be supplied to indicate to Emacs
279 your line speed. Although Multics normally supplies this information to Emacs
280 automatically network users may find it necessary to use this control
281 argument to obtain proper padding:
282
283 emacs -line_speed BAUD-RATE
284 where BAUD-RATE is the output line baud rate in bits per second.
285
286 The -line_speed control argument need only be supplied once per process. If
287 used it must be the first control argument given or may follow -ttp -query
288 or -reset immediately.
289
290 Emacs looks for a file called start_up.emacs in the home directory.
291 It may be full of Lisp forms or be a compiled Lisp object segment. It will be
292 loaded executed if it exists. Execution of the start_up segment will be
293 suppressed if emacs is given the -no_startup -ns control argument which must
294 follow all the terminal type control arguments but precede any pathnames on the
295 command line or of course be the only control argument.
296
297 After the start_up segment if any is executed the following
298 control arguments are processed by the "default start up":
299
300 emacs -mc path or emacs -macros path
301 path is a pathname. Loads path as Lisp like teco$macro.
302
303 emacs -ap fun arg1 arg2 or emacs -apply fun arg1 arg2
304 evaluates fun 'arg1 'arg2 ...
305 Valuable for constructing abbrevs.
306
307 emacs paths
308 where paths are not any of the above. Does a find-file ^X^F on
309 each path.
310
311 The actions of the default start up may be suppressed by the start_up
312 segment if the latter sets the list variable
313 "suppress-default-start-up-execution" to t.
314
315 Emacs accepts META characters from AI TV's and does TELNET
316 break/interrupt processing.
317
318 ********************
319
320 Multics Emacs was designed implemented and documented by Bernard
321 Greenberg. William York has been co-implementor. Gary Palter designed and
322 implemented the current Multics file interface and "hairy search commands" the
323 current internal command definition facility defcom and has otherwise
324 contributed very heavily. Richard Lamson designed and implemented the current
325 message and interrupt facility. Many other people have contributed ideas and
326 suggestions.