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.