home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / demos / 10 / emacs / tutor.doc < prev   
Encoding:
Text File  |  1986-04-18  |  124.5 KB  |  3,302 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                 MicroEMACS Screen Editor Tutorial
  18.  
  19.  
  20.                           July 11, 1985
  21.  
  22.  
  23.                         Copyright (C) 1985
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                       Mark Williams Company
  31.                    1430 West Wrightwood Avenue
  32.                      Chicago, Illinois  60614
  33.                     Telephone:  (312) 472-6659
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40. This document  conveys information that  is the property  of Mark
  41. Williams  Company.   It   shall  not  be  copied,  reproduced  or
  42. duplicated in  whole or in part without  the express written per-
  43. mission of  Mark Williams Company.  MWC68 is  a trademark of Mark
  44. Williams Company.
  45.  
  46. Mark Williams Company makes  no warranty of any kind with respect
  47. to this material and disclaims any implied warranties of merchan-
  48. tability or fitness for any particular purpose.
  49.  
  50. The  information contained  herein is  subject to  change without
  51. notice.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                         Printed in U.S.A.
  59.  
  60.  
  61.  
  62.  
  63.  
  64. MicroEMACS Screen Editor Tutorial                          Page i
  65.  
  66.  
  67.                         T✓Ta✓ab✓bl✓le✓e o✓of✓f C✓Co✓on✓nt✓te✓en✓nt✓ts✓s
  68.  
  69.  
  70. 1. Introduction                                                 1
  71.     What is MicroEMACS?                                         1
  72.     Do the exercises                                            1
  73.  
  74. 2. Basic Editing                                                2
  75.     Keystrokes--<e✓es✓sc✓c>, <c✓ct✓tr✓rl✓l>                                   2
  76.     Becoming acquainted with MicroEMACS                         3
  77.     Before you begin                                            4
  78.     Beginning a document                                        5
  79.  
  80. 3. Moving the Cursor                                            7
  81.     Moving the cursor backwards                                 7
  82.     Moving the cursor forwards                                  8
  83.     From line to line                                           8
  84.     Moving up and down by a screenful of text                   8
  85.     Moving to beginning or end of text                          9
  86.     Cursor movement strategy                                    9
  87.     Saving text and quitting                                   10
  88.  
  89. 4. Killing and Deleting                                        12
  90.     Deleting versus killing                                    12
  91.     Erasing text to the right                                  12
  92.     Erasing text to the left                                   13
  93.     Erasing lines of text                                      14
  94.     Yanking back (restoring) text                              14
  95.     Killing and deleting--exercises                            14
  96.     Quitting                                                   15
  97.  
  98. 5. Block Killing and Moving Text                               16
  99.     Moving one line of text                                    16
  100.     Multiple copying of killed text                            16
  101.     Kill and move a block of text                              17
  102.  
  103. 6. Capitalization, Transposing, and Screen Redraw              19
  104.     Capitalization and lowercasing                             19
  105.     Transpose characters                                       20
  106.     Screen redraw                                              20
  107.  
  108. 7. Search and Reverse Search                                   21
  109.     Search forward                                             21
  110.     Reverse search                                             21
  111.     Search for portions of words                               22
  112.     Cancel a command                                           22
  113.  
  114. 8. Saving Text and Exiting                                     24
  115.     Write text to a new file                                   24
  116.     Save text and exit                                         25
  117.  
  118. 9. Basic Editing--Conclusion and Summary                       26
  119.  
  120. 10. Advanced Editing                                           28
  121.  
  122.  
  123.  
  124.  
  125.  
  126. MicroEMACS Screen Editor Tutorial                         Page ii
  127.  
  128.  
  129.  
  130. 11. Arguments                                                  29
  131.     Arguments--default values                                  29
  132.     Selecting values                                           29
  133.     Deleting with arguments--an exception                      30
  134.     Arguments--exercises                                       30
  135.  
  136. 12. Buffers and Files                                          32
  137.     Definitions                                                32
  138.     File and buffer commands                                   32
  139.     Write and rename commands                                  33
  140.     Replace text in a buffer                                   33
  141.     Visiting another buffer                                    34
  142.     Move text from one buffer to another                       35
  143.     Checking buffer status                                     35
  144.     Renaming a buffer                                          36
  145.     Delete a buffer                                            36
  146.     Summary                                                    37
  147.  
  148. 13. Windows                                                    38
  149.     Window commands                                            39
  150.     Creating windows and moving between them                   40
  151.     Enlarging and shrinking windows                            40
  152.     Displaying text within a window                            41
  153.     One buffer                                                 42
  154.     Multiple buffers                                           43
  155.     Moving and copying text among buffers                      43
  156.     Checking buffer status                                     43
  157.     Saving text from windows                                   44
  158.     Exercises                                                  44
  159.  
  160. 14. Keyboard Macros                                            47
  161.     Keyboard macro commands                                    47
  162.     Replacing a macro                                          47
  163.     Search and replace                                         48
  164.  
  165. 15. Sending Commands to MS-DOS                                 49
  166.  
  167. 16. Advanced Editing--Conclusion and Summary                   50
  168.  
  169. 17. Summary of Commands                                        52
  170.  
  171.  
  172.  
  173.  
  174.  
  175. MicroEMACS Screen Editor Tutorial                          Page 1
  176.  
  177.  
  178. 1✓1.  I✓In✓nt✓tr✓ro✓od✓du✓uc✓ct✓ti✓io✓on✓n
  179.  
  180.      This is  a tutorial for the  MWC86 interactive screen editor
  181. MicroEMACS.
  182.  
  183.      This tutorial  is written for  two types of  reader: the one
  184. who has never used a  screen editor and needs a full introduction
  185. to the subject,  and the one who has used  a screen editor before
  186. but wishes to review specific topics.
  187.  
  188.  
  189.                        W✓Wh✓ha✓at✓t i✓is✓s M✓Mi✓ic✓cr✓ro✓oE✓EM✓MA✓AC✓CS✓S?
  190.  
  191.      MicroEMACS  is  an  interactive  screen editor.   An  editor
  192. allows you  to type text  into your computer, name  it, store it,
  193. and  recall  it   later  for  editing.   _✓I_✓n_✓t_✓e_✓r_✓a_✓c_✓t_✓i_✓v_✓e  means  that
  194. MicroEMACS will accept  your editing command, execute it, display
  195. the result for you immediately,  and then wait for your next com-
  196. mand.  _✓S_✓c_✓r_✓e_✓e_✓n means that you  can use nearly the entire screen of
  197. your terminal as a writing  surface: you can move your cursor up,
  198. down, and  around your screen  to create or change  text, much as
  199. you move your pen up, down, and around a piece of paper.
  200.  
  201.      These features,  plus the others  that will be  described in
  202. the  course of  this  tutorial, make  MicroEMACS a  tool that  is
  203. powerful, yet  easy to use.  You can use  MicroEMACS to create or
  204. change computer programs, essays or letters, electronic mail mes-
  205. sages, or any other type of text file.
  206.  
  207.      The MWC86  version of MicroEMACS was  adapted from a public-
  208. domain program  written by David G. Conroy,  and this document is
  209. based on  the descriptions  in his essay  _✓M_✓i_✓c_✓r_✓o_✓E_✓M_✓A_✓C_✓S:  _✓R_✓e_✓a_✓s_✓o_✓n_✓a_✓b_✓l_✓e
  210. _✓D_✓i_✓s_✓p_✓l_✓a_✓y _✓E_✓d_✓i_✓t_✓i_✓n_✓g _✓i_✓n  _✓L_✓i_✓t_✓t_✓l_✓e _✓C_✓o_✓m_✓p_✓u_✓t_✓e_✓r_✓s.  MicroEMACS is derived from
  211. the mainframe display editor EMACS, which was created at the Mas-
  212. sachusetts Institute of Technology by Richard Stallman.  EMACS is
  213. popular among persons who  work with computers, and is the parent
  214. or grandparent of a number of well-known word processors.
  215.  
  216.  
  217.                          D✓Do✓o t✓th✓he✓e e✓ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  218.  
  219.      The following  sections have exercises  that illustrate each
  220. topic being discussed.   These exercises will help you understand
  221. exactly how  each feature works.   We recommend that  you type in
  222. each exercise as you come to  it in the text.  Even if you under-
  223. stand the  concepts being  discussed, working the  exercises will
  224. reinforce the lesson and  will help you grow comfortable in using
  225. MicroEMACS.
  226.  
  227.  
  228.  
  229.  
  230.  
  231. MicroEMACS Screen Editor Tutorial                          Page 2
  232.  
  233.  
  234. 2✓2.  B✓Ba✓as✓si✓ic✓c E✓Ed✓di✓it✓ti✓in✓ng✓g
  235.  
  236.      MicroEMACS is the  MWC86  interactive screen editor.
  237.  
  238.      _✓I_✓n_✓t_✓e_✓r_✓a_✓c_✓t_✓i_✓v_✓e means MicroEMACS accepts a command from you, ex-
  239. ecutes it, displays  the result on your terminal immediately, and
  240. then waits for your next command.
  241.  
  242.      _✓S_✓c_✓r_✓e_✓e_✓n means MicroEMACS  allows you to use nearly the entire
  243. screen of your terminal as  a writing surface.  You can move your
  244. cursor  up, down,  and around  the screen to  enter text  or make
  245. changes, much as  you move your pen up, down,  and around a sheet
  246. of paper.
  247.  
  248.      The first half of this tutorial describes basic editing with
  249. MicroEMACS.   Mastering the  commands described  in the  next few
  250. subsections will  allow you to  create a document,  store it, and
  251. edit it thoroughly.  Advanced techniques, such as assembling text
  252. from several buffers, using windows, and using arguments, will be
  253. covered in the second half.
  254.  
  255.  
  256.                     K✓Ke✓ey✓ys✓st✓tr✓ro✓ok✓ke✓es✓s--<e✓es✓sc✓c>, <c✓ct✓tr✓rl✓l>
  257.  
  258.      The  MicroEMACS  commands use  c✓co✓on✓nt✓tr✓ro✓ol✓l  characters and  m✓me✓et✓ta✓a
  259. characters.
  260.  
  261.      Control characters use the _✓c_✓o_✓n_✓t_✓r_✓o_✓l key, which is marked C✓Ct✓tr✓rl✓l
  262. on your  keyboard; meta characters  use the  _✓e_✓s_✓c_✓a_✓p_✓e key, which is
  263. marked E✓Es✓sc✓c.
  264.  
  265.      On your  keyboard, the  _✓e_✓s_✓c_✓a_✓p_✓e key  is located in  the upper
  266. left-hand corner of the keyboard, just above the _✓t_✓a_✓b key (the key
  267. marked with horizontal  arrows).  The _✓c_✓o_✓n_✓t_✓r_✓o_✓l key is also located
  268. at the left end of your keyboard, just below the _✓t_✓a_✓b key.
  269.  
  270.      To see  how the _✓c_✓o_✓n_✓t_✓r_✓o_✓l and _✓e_✓s_✓c_✓a_✓p_✓e  keys actually work, con-
  271. sult any reference manual that describes the a✓as✓sc✓ci✓ii✓i table.  To use
  272. them with  MicroEMACS, however, only  requires that you  key them
  273. correctly.
  274.  
  275.  
  276.      C✓Ct✓tr✓rl✓l  is like the s✓sh✓hi✓if✓ft✓t  key:  hold it down _✓w_✓h_✓i_✓l_✓e you strike
  277. the other key.  Here, this will be represented with a hyphen; for
  278. example, c✓co✓on✓nt✓tr✓ro✓ol✓l X✓X will be shown as follows:
  279.  
  280.         <ctrl-X>
  281.  
  282. The E✓Es✓sc✓c   key, on the other hand, works  like an ordinary charac-
  283. ter.  You should strike it first, _✓t_✓h_✓e_✓n strike the  letter charac-
  284. ter  you want.   _✓E_✓s_✓c_✓a_✓p_✓e character codes  will not  be represented
  285. with a hyphen; for example, e✓es✓sc✓ca✓ap✓pe✓e X✓X will be represented as:
  286.  
  287.  
  288.  
  289.  
  290.  
  291. MicroEMACS Screen Editor Tutorial                          Page 3
  292.  
  293.  
  294.         <esc>X
  295.  
  296.  
  297.  
  298.                B✓Be✓ec✓co✓om✓mi✓in✓ng✓g a✓ac✓cq✓qu✓ua✓ai✓in✓nt✓te✓ed✓d w✓wi✓it✓th✓h M✓Mi✓ic✓cr✓ro✓oE✓EM✓MA✓AC✓CS✓S
  299.  
  300.      Now you are ready for  a few simple exercises that will help
  301. you get a feel for how MicroEMACS works.
  302.  
  303.      To begin, type the following command to MS-DOS:
  304.  
  305.         me sample
  306.  
  307. Within  a few  seconds,  your screen  will have  been cleared  of
  308. writing,  the cursor  will be positioned  in the  upper left-hand
  309. corner of the screen, and a  command line will appear at the bot-
  310. tom of your screen.
  311.  
  312.      Type the  following text.  You will need  to type a carriage
  313. return at the end of each line:
  314.  
  315.         There is nothing which has yet been contrived by
  316.         man, by which so much happiness is produced as by
  317.         a good tavern or inn.
  318.  
  319. Notice how the text appeared on the screen character by character
  320. as you typed  it, much as it would appear  on a piece of paper if
  321. you were using a typewriter.
  322.  
  323.      Now, type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>;  that is type <c✓ct✓tr✓rl✓l-X✓X>, and then
  324. type <c✓ct✓tr✓rl✓l-S✓S>.   It does not  matter whether you  type capital or
  325. lower-case letters.   Notice that a  message has appeared  at the
  326. bottom of  your screen.  This command  has permanently stored, or
  327. _✓s_✓a_✓v_✓e_✓d, what you typed.  This text is now preserved until you give
  328. the proper MS-DOS command to erase it.
  329.  
  330.      Type the  next few commands,  which demonstrate some  of the
  331. tasks that  MicroEMACS can perform for  you.  These commands will
  332. be explained in full in the  sections that follow; for now, it is
  333. enough for you to get a feel for how MicroEMACS works.
  334.  
  335.      Type <e✓es✓sc✓c><.   Be sure that you type  a less-than symbol '<'
  336. instead of  a comma.  Notice that the cursor  has returned to the
  337. upper left-hand  corner of the screen.   Type <e✓es✓sc✓c>F✓F.  The cursor
  338. has  jumped forward  by one  word, and is  now between  the words
  339. T✓Th✓he✓er✓re✓e and i✓is✓s.  Type  <c✓ct✓tr✓rl✓l-N✓N>.  Notice that the cursor has jumped
  340. to the next  line, and is now under the  letter b✓b of the word b✓by✓y.
  341. Type <c✓ct✓tr✓rl✓l-A✓A>.   The cursor  has jumped  to the _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g  of the
  342. second line of your text.
  343.  
  344.  
  345.  
  346.  
  347.  
  348. MicroEMACS Screen Editor Tutorial                          Page 4
  349.  
  350.  
  351.      Now,  type <c✓ct✓tr✓rl✓l-K✓K>.   The second  line  of text  has disap-
  352. peared, leaving an  empty space.  Type <c✓ct✓tr✓rl✓l-K✓K> again.  The empty
  353. space where the second line of text had been has now disappeared.
  354.  
  355.      Type <e✓es✓sc✓c>>.  Be sure to type a greater-than symbol '>', not
  356. a comma.  The cursor has jumped  to the space just below the last
  357. line of  text.  Now  type <c✓ct✓tr✓rl✓l-Y✓Y>.  The  text that you  erased a
  358. moment ago has now been restored.
  359.  
  360.      By  now, you  should  be feeling  more at  ease with  typing
  361. MicroEMACS's  _✓c_✓o_✓n_✓t_✓r_✓o_✓l and _✓e_✓s_✓c_✓a_✓p_✓e  codes.  The  following sections
  362. will  explain  what  these commands  mean.   For  now, exit  from
  363. MicroEMACS by typing <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>; when the message
  364.  
  365.         Quit [y/n]?
  366.  
  367. appears, type y✓y.  This will return you to MS-DOS.
  368.  
  369.  
  370.                          B✓Be✓ef✓fo✓or✓re✓e y✓yo✓ou✓u b✓be✓eg✓gi✓in✓n
  371.  
  372.      There are  one or two  potential sources of  difficulty that
  373. you should  watch for as  you begin to work  with MicroEMACS.  As
  374. you begin a file,  remember that MicroEMACS can handle only small
  375. files efficiently.
  376.  
  377.      If  your file  proves to  be  too large,  either when  it is
  378. loaded or while you are working on it, you will see the following
  379. message:
  380.  
  381.         Cannot allocate XX bytes
  382.  
  383. where  _✓X_✓X indicates  the number of  bytes that  MicroEMACS cannot
  384. allocate.  When this  happens, you should exit from MicroEMACS to
  385. MS-DOS, by typing <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>; using any other command in an
  386. attempt to  save the changes  you made to your  text could damage
  387. your original file severely.  Then use  your line editor to break
  388. the file  into several parts.  Exiting to  MS-DOS will be covered
  389. in the next few pages.
  390.  
  391.  
  392.      Three sample texts have been included with MicroEMACS.  They
  393. are called t✓te✓ex✓xt✓t1✓1.m✓m,  t✓te✓ex✓xt✓t2✓2.m✓m, and t✓te✓ex✓xt✓t3✓3.m✓m.  Before you begin, you
  394. should make working copies of these texts, so that if an accident
  395. were to occur while you  were working on this tutorial the master
  396. copies of the sample texts would be preserved.
  397.  
  398.      Make your  working copies  by typing the  following commands
  399. into your computer:
  400.  
  401.         copy text1.m text1
  402.         copy text2.m text2
  403.         copy text3.m text3
  404.  
  405.  
  406.  
  407.  
  408.  
  409. MicroEMACS Screen Editor Tutorial                          Page 5
  410.  
  411.  
  412.  
  413.      When you first  invoke MicroEMACS, your computer will take a
  414. moment to  set it  into operation.   If you are  going to  edit a
  415. large text,  MicroEMACS may  take a few  seconds to load  it into
  416. memory.
  417.  
  418.      You will  know MicroEMACS  set up and  ready to go  when the
  419. following message appears at the bottom of your screen:
  420.  
  421.         [Read XX lines]
  422.  
  423. where _✓X_✓X  stands for the number  of lines in your  text file.  If
  424. you are  creating a new text file, MicroEMACS  will send you this
  425. message:
  426.  
  427.         [New file]
  428.  
  429.  
  430.  
  431.                        B✓Be✓eg✓gi✓in✓nn✓ni✓in✓ng✓g a✓a d✓do✓oc✓cu✓um✓me✓en✓nt✓t
  432.  
  433.      You are  now ready  to invoke  MicroEMACS and create  a text
  434. file.  Type  the following  command line, which  tells MicroEMACS
  435. that you wish to edit the text called t✓te✓ex✓xt✓t1✓1:
  436.  
  437.         me text1
  438.  
  439. This text has been included with your MWC86 compiler; there is no
  440. need to retype it.
  441.  
  442.      The computer  will take  a moment  to set up  the MicroEMACS
  443. program.  As  soon as it does so, the  following text will appear
  444. on your screen:
  445.  
  446. From "Life on the Mississippi":
  447. I know how a prize watermelon looks when it is sunning
  448. its fat rotundity among the pumpkin vines; I know how to tell
  449. when it is ripe without "plugging" it; I know how inviting
  450. it looks when it is cooling itself in a tub of water under
  451. the bed, waiting; I know how it looks when it lies on the
  452. table in the sheltered great floor space between house and
  453. kitchen, and the children gathered for the sacrifice and
  454. their mouths watering; I know the crackling sound it makes
  455. when the carving knife enters its end, and I can see the
  456. split fly along in front of the blade as the knife cleaves
  457. its way to the other end; I can see its halves fall apart
  458. and display the rich red meat and the black seeds, and the
  459. heart standing up, a luxury fit the elect; I know how a
  460. boy looks behind a yard-long slice of that melon, and I
  461. know how he feels; for I have been there.
  462.  
  463. When you type the  MicroEMACS command and a file name, MicroEMACS
  464. _✓c_✓o_✓p_✓i_✓e_✓s that  text file  into a special  area in your  computer to
  465. make it available for editing.   If you were creating a new text,
  466.  
  467.  
  468.  
  469.  
  470.  
  471. MicroEMACS Screen Editor Tutorial                          Page 6
  472.  
  473.  
  474. as you did earlier with  the text called s✓sa✓am✓mp✓pl✓le✓e, the screen would
  475. have appeared blank.
  476.  
  477.      In  addition to  this text appearing  on your  screen,  your
  478. cursor  will have  moved  to the  upper left-hand  corner of  the
  479. screen, and  the status line will appear near  the bottom of your
  480. screen as follows:
  481.  
  482.  
  483. -- MicroEMACS -- text1 -- File: text1 ---------------------------
  484.  
  485.  
  486. The word  to the  left, MicroEMACS, is  the name of  the program.
  487. The word in the center, t✓te✓ex✓xt✓t1✓1, is the name of the _✓b_✓u_✓f_✓f_✓e_✓r that you
  488. are using.  (What a buffer is  and how it is used will be covered
  489. later.) The name  to the right is the name  of the text file that
  490. you will be editing.
  491.  
  492.  
  493.  
  494.  
  495.  
  496. MicroEMACS Screen Editor Tutorial                          Page 7
  497.  
  498.  
  499. 3✓3.  M✓Mo✓ov✓vi✓in✓ng✓g t✓th✓he✓e C✓Cu✓ur✓rs✓so✓or✓r
  500.  
  501.      Now that you have created a text file, you will want to edit
  502. it.  The  first step  is to  learn to move  the cursor.   Try out
  503. these  commands  for  yourself  as  they  are  described  in  the
  504. following pages.   That way, you will quickly  acquire a feel for
  505. handling MicroEMACS's commands.
  506.  
  507.      You can use your _✓a_✓r_✓r_✓o_✓w _✓k_✓e_✓y_✓s with MicroEMACS.  The arrow keys
  508. are found on the keypad  on the right-hand side of your keyboard.
  509. If when you press the arrow  keys, numbers appear in the text in-
  510. stead of the cursor being moved, press the _✓n_✓u_✓m_✓b_✓e_✓r _✓l_✓o_✓c_✓k key, which
  511. is the key marked N✓Nu✓um✓m L✓Lo✓oc✓ck✓k.  That should solve your problem.
  512.  
  513.  
  514.      The following  display shows the basic  cursor movement com-
  515. mands.
  516.  
  517.      <c✓ct✓tr✓rl✓l-B✓B>  Move back 1 space
  518.      <e✓es✓sc✓c>B✓B    Move back 1 word
  519.      <c✓ct✓tr✓rl✓l-E✓E>  Move to end of line
  520.  
  521.      <c✓ct✓tr✓rl✓l-F✓F>  Move forward 1 space
  522.      <e✓es✓sc✓c>F✓F    Move forward 1 word
  523.      <c✓ct✓tr✓rl✓l-A✓A>  Move to beginning of line
  524.  
  525.      <c✓ct✓tr✓rl✓l-P✓P>  Move to previous line
  526.      <c✓ct✓tr✓rl✓l-N✓N>  Move to next line
  527.  
  528.      <c✓ct✓tr✓rl✓l-V✓V>  Move forward 1 screen
  529.      <e✓es✓sc✓c>V✓V    Move back 1 screen
  530.  
  531.      <e✓es✓sc✓c><    Move to beginning of text
  532.      <e✓es✓sc✓c>>    Move to end of text
  533.  
  534.  
  535.  
  536.                    M✓Mo✓ov✓vi✓in✓ng✓g t✓th✓he✓e c✓cu✓ur✓rs✓so✓or✓r b✓ba✓ac✓ck✓kw✓wa✓ar✓rd✓ds✓s
  537.  
  538.      The first set of commands move the cursor backwards.  First,
  539. type the  _✓e_✓n_✓d _✓o_✓f _✓t_✓e_✓x_✓t  command <e✓es✓sc✓c>> to  move the cursor  to the
  540. bottom of  the text.  Be sure to type  a greater-than symbol '>',
  541. instead of a period.
  542.  
  543.      Type the _✓b_✓a_✓c_✓k_✓s_✓p_✓a_✓c_✓e command <c✓ct✓tr✓rl✓l-B✓B>.  As before, it does not
  544. matter whether the letter is upper case or lower case.  Note that
  545. the cursor is now located just to the right of the period in your
  546. last line  of text.  Type  <c✓ct✓tr✓rl✓l-B✓B> again.  The  cursor has moved
  547. one space to the left, and now is directly under the period.
  548.  
  549.  
  550.  
  551.  
  552.  
  553. MicroEMACS Screen Editor Tutorial                          Page 8
  554.  
  555.  
  556.      Type <e✓es✓sc✓c>B✓B.  The cursor has moved one _✓w_✓o_✓r_✓d to the left, and
  557. is now under the letter t✓t  of the word t✓th✓he✓er✓re✓e.  Type the _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g
  558. _✓o_✓f _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-A✓A>.  The cursor has jumped to the beginning
  559. of the line, and is now under the letter k✓k of the word k✓kn✓no✓ow✓w.
  560.  
  561.  
  562.                     M✓Mo✓ov✓vi✓in✓ng✓g t✓th✓he✓e c✓cu✓ur✓rs✓so✓or✓r f✓fo✓or✓rw✓wa✓ar✓rd✓ds✓s
  563.  
  564.      Now practice  moving the cursor forwards.   Type the _✓f_✓o_✓r_✓w_✓a_✓r_✓d
  565. command <c✓ct✓tr✓rl✓l-F✓F>.   Note that the  cursor has moved  one space to
  566. the right,  and now is under the letter n✓n of the word k✓kn✓no✓ow✓w.  Type
  567. <e✓es✓sc✓c>F✓F.  The cursor has moved one  _✓w_✓o_✓r_✓d to the right, and now  is
  568. under the space between the words k✓kn✓no✓ow✓w and h✓ho✓ow✓w.
  569.  
  570.      Type  the _✓e_✓n_✓d  _✓o_✓f  _✓l_✓i_✓n_✓e command  <c✓ct✓tr✓rl✓l-E✓E>.   The cursor  has
  571. jumped to the  end of the line, and once  again is resting to the
  572. right of the period.
  573.  
  574.  
  575.                         F✓Fr✓ro✓om✓m l✓li✓in✓ne✓e t✓to✓o l✓li✓in✓ne✓e
  576.  
  577.      The  next  two commands  move  the cursor  up  and down  the
  578. screen.  Type the  _✓p_✓r_✓e_✓v_✓i_✓o_✓u_✓s _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-P✓P>.  Note that the
  579. cursor has jumped from its position to the right of the period on
  580. the last line of your text, to being under the second letter t✓t of
  581. the word t✓th✓ha✓at✓t in the previous line.
  582.  
  583.      Continue to  type <c✓ct✓tr✓rl✓l-P✓P> until the  cursor reaches the top
  584. of the screen.   Note that as you reached the  first line in your
  585. text, the cursor jumped from under the letter i✓i of the word i✓it✓t on
  586. the second  line, to being just  right of the colon  on the first
  587. line of text.   When you move your cursor up  or down the screen,
  588. MicroEMACS will  try to keep it at the  same position within each
  589. line.  If the line to which you are moving the cursor is not long
  590. enough to have a character at that position, MicroEMACS will move
  591. the cursor to the end of the line.
  592.  
  593.      Now, practice moving  the cursor back down the screen.  Type
  594. the _✓n_✓e_✓x_✓t _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-N✓N>.  Note that when the cursor jumped
  595. to the next  line, it returned  to under the letter i✓i of the word
  596. i✓it✓t.  MicroEMACS remembered the cursor's position on the line, and
  597. returned the cursor there when it jumped to a line long enough to
  598. have a character in that position.
  599.  
  600.      Continue pressing  <c✓ct✓tr✓rl✓l-N✓N>.  The cursor will  move down the
  601. screen, until it reaches the bottom of your text.
  602.  
  603.  
  604.             M✓Mo✓ov✓vi✓in✓ng✓g u✓up✓p a✓an✓nd✓d d✓do✓ow✓wn✓n b✓by✓y a✓a s✓sc✓cr✓re✓ee✓en✓nf✓fu✓ul✓l o✓of✓f t✓te✓ex✓xt✓t
  605.  
  606.  
  607.  
  608.  
  609.  
  610. MicroEMACS Screen Editor Tutorial                          Page 9
  611.  
  612.  
  613.      The next two cursor movement commands allow you to roll for-
  614. ward or backwards by one screenful of text.
  615.  
  616.      If you are editing a file with MicroEMACS that is too big to
  617. be displayed on your  screen all at once, MicroEMACS will display
  618. the file in screen-sized portions (on most terminals, 22 lines at
  619. a time).  The _✓v_✓i_✓e_✓w commands <c✓ct✓tr✓rl✓l-V✓V> and <e✓es✓sc✓c>V✓V allow you to roll
  620. up or down by one screenful of text at a time.
  621.  
  622.      Type <c✓ct✓tr✓rl✓l-V✓V>.   Note that your screen  becomes empty.  This
  623. is  because you  have  rolled forward  by the  equivalent of  one
  624. screenful of text, or 22 lines; however, because the text in this
  625. example  is only  16 lines  long, rolling  forward 22  lines just
  626. empties the screen.
  627.  
  628.      Now, type <e✓es✓sc✓c>V✓V.  Notice that your text rolls back onto the
  629. screen,  and your  cursor is  positioned  in the  upper left-hand
  630. corner of the screen, under the letter F✓F of the word F✓Fr✓ro✓om✓m.
  631.  
  632.  
  633.                 M✓Mo✓ov✓vi✓in✓ng✓g t✓to✓o b✓be✓eg✓gi✓in✓nn✓ni✓in✓ng✓g o✓or✓r e✓en✓nd✓d o✓of✓f t✓te✓ex✓xt✓t
  634.  
  635.      The last two cursor  movement commands allow you to jump im-
  636. mediately to the beginning or end of your text.
  637.  
  638.      The _✓e_✓n_✓d  _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c>> moves the  cursor to the end
  639. of your text.  Type <e✓es✓sc✓c>>.   Be sure to type a greater-than sym-
  640. bol '>'; this symbol may have been placed nearly anywhere on your
  641. keyboard, although  on IBM-style  keyboards it appears  above the
  642. period.   Note that  your cursor  has jumped to  the end  of your
  643. text.
  644.  
  645.      The _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g  _✓o_✓f _✓t_✓e_✓x_✓t command  <e✓es✓sc✓c>< will move  the cursor
  646. back to  the beginning  of your text.   Type <e✓es✓sc✓c><.  Be  sure to
  647. type a  less-than symbol '<';  on  IBM-style keyboards it appears
  648. above the comma.  Note that the cursor has jumped back to the up-
  649. per left-hand corner of your screen.
  650.  
  651.      These commands will move you immediately to the beginning or
  652. the end  of your text, regardless of whether the text is one page
  653. long or 20.
  654.  
  655.  
  656.                      C✓Cu✓ur✓rs✓so✓or✓r m✓mo✓ov✓ve✓em✓me✓en✓nt✓t s✓st✓tr✓ra✓at✓te✓eg✓gy✓y
  657.  
  658.      When you edit a large text, you will have to move the cursor
  659. often.  This can be very time-consuming.  Two rules will help you
  660. save time by moving the cursor efficiently.
  661.  
  662. 1.   Plan  your cursor  movements so that  you reach  your target
  663.      with the fewest keystrokes possible.
  664.  
  665.  
  666.  
  667.  
  668.  
  669. MicroEMACS Screen Editor Tutorial                         Page 10
  670.  
  671.  
  672.  
  673. 2.   If you are a good typist,  avoid using the <e✓es✓sc✓c> key if pos-
  674.      sible,  because using  the <e✓es✓sc✓c> key  usually forces  you to
  675.      lift your left hand from the home position.
  676.  
  677.      Try the following  exercises to sharpen your command of cur-
  678. sor  movement.  Each  exercise is followed  by its  solution.  Be
  679. sure not  to look  at the  solution until you  have at  least at-
  680. tempted to  solve the problem.   The exercises should  be done in
  681. order, because each one builds on the ones that come before.
  682.  
  683.      1✓1.  Your cursor  should be in the  upper left-hand corner of
  684. the screen.  If it is not,  type <e✓es✓sc✓c><.  Now, move the cursor to
  685. the space just before the  word c✓ch✓hi✓il✓ld✓dr✓re✓en✓n in line 8--you should be
  686. able to do it with ten commands.
  687.  
  688.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-N✓N> seven times, then type <e✓es✓sc✓c>F✓F three
  689. times.
  690.  
  691.      2✓2.  Move the cursor to under  the letter n✓n of the word k✓kn✓ni✓if✓fe✓e
  692. in line 10--you should be able to do it with four commands.
  693.  
  694.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-N✓N> twice, then <c✓ct✓tr✓rl✓l-F✓F> twice.
  695.  
  696.      3✓3.  Move the cursor to the  right of the period on line 16--
  697. you should be able to do it with two commands.
  698.  
  699.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <e✓es✓sc✓c>>, then type <c✓ct✓tr✓rl✓l-B✓B>.
  700.  
  701.      4✓4.  Move the cursor to the space after the word f✓fa✓al✓ll✓l on line
  702. 12--you should be able to do it with six commands.
  703.  
  704.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:   Type  <c✓ct✓tr✓rl✓l-P✓P>  four  times,  then  type  <e✓es✓sc✓c>F✓F
  705. twice.
  706.  
  707.      5✓5.  Move  the  cursor to  under  the letter  k✓k  of the  word
  708. k✓ki✓it✓tc✓ch✓he✓en✓n in  line 8--you should  be able to  do it with  five com-
  709. mands.
  710.  
  711.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-A✓A>, then type <c✓ct✓tr✓rl✓l-P✓P> four times.
  712.  
  713.      6✓6.  Finally, move  the cursor to  under the letter  M✓M of the
  714. word  M✓Mi✓is✓ss✓si✓is✓ss✓si✓ip✓pp✓pi✓i on  line 1--you  should be able  to do  it with
  715. three commands.
  716.  
  717.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <e✓es✓sc✓c><, type <c✓ct✓tr✓rl✓l-E✓E>, then type <e✓es✓sc✓c>B✓B.
  718.  
  719.  
  720.                      S✓Sa✓av✓vi✓in✓ng✓g t✓te✓ex✓xt✓t a✓an✓nd✓d q✓qu✓ui✓it✓tt✓ti✓in✓ng✓g
  721.  
  722.  
  723.  
  724.  
  725.  
  726. MicroEMACS Screen Editor Tutorial                         Page 11
  727.  
  728.  
  729.      If you  do not  wish to continue  working at this  time, you
  730. should _✓s_✓a_✓v_✓e your text, and then _✓q_✓u_✓i_✓t.
  731.  
  732.      It is  good practice to  save your text file  every so often
  733. while you are working on it; then, if an accident occurs, such as
  734. a power  failure, you will  not lose all  of your work.   You can
  735. save  your text  with  the _✓s_✓a_✓v_✓e  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>.   Type
  736. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>--that  is, first type <c✓ct✓tr✓rl✓l-X✓X>, then type <c✓ct✓tr✓rl✓l-
  737. S✓S>.  Note that at the bottom of your screen the following message
  738. has appeared:
  739.  
  740.      [Wrote 16 lines]
  741.  
  742. The text  file has  again been  saved to your  computer's memory.
  743. Note, too,  that MicroEMACS will  send you messages  from time to
  744. time; the  messages enclosed in  square brackets '['  ']' are for
  745. your information,  and do not  mean that something  is wrong.  To
  746. exit  from MicroEMACS,  type the  _✓q_✓u_✓i_✓t  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  747. This will return you to MS-DOS.
  748.  
  749.  
  750.  
  751.  
  752.  
  753. MicroEMACS Screen Editor Tutorial                         Page 12
  754.  
  755.  
  756. 4✓4.  K✓Ki✓il✓ll✓li✓in✓ng✓g a✓an✓nd✓d D✓De✓el✓le✓et✓ti✓in✓ng✓g
  757.  
  758.      Now that you  know how to move the cursor,  you are ready to
  759. edit your text.  To return to MicroEMACS, type the command:
  760.  
  761.         me text1
  762.  
  763. Within a moment, t✓te✓ex✓xt✓t1✓1 will have been restored to your screen.
  764.  
  765.      By now, you have  noticed that MicroEMACS is always ready to
  766. insert material  into your  text; unless  you type the  <c✓ct✓tr✓rl✓l> or
  767. <e✓es✓sc✓c>  keys, MicroEMACS  will assume  that  whatever you  type is
  768. meant to be  text and will insert it onto  your screen where your
  769. cursor is positioned.
  770.  
  771.      The simplest  way to  erase text  is simply to  position the
  772. cursor to the  right of the text you want  to erase and backspace
  773. over it.   MicroEMACS, however, has a set  of commands that allow
  774. you to  erase large amounts of text  easily.  These commands _✓k_✓i_✓l_✓l
  775. and _✓d_✓e_✓l_✓e_✓t_✓e;  the distinction is important,  and will be explained
  776. in a moment.  The following display summarizes these commands:
  777.  
  778.      <c✓ct✓tr✓rl✓l-D✓D>   Delete 1 character to the right
  779.      <e✓es✓sc✓c>D✓D     Kill 1 word to the right
  780.  
  781.      <d✓de✓el✓l>      Delete 1 character to the left
  782.      <e✓es✓sc✓c><d✓de✓el✓l> Kill 1 word to the left
  783.  
  784.      <c✓ct✓tr✓rl✓l-K✓K>   Kill rest of line
  785.      <c✓ct✓tr✓rl✓l-Y✓Y>   Yank back (restore) killed text
  786.  
  787.  
  788.  
  789.                      D✓De✓el✓le✓et✓ti✓in✓ng✓g v✓ve✓er✓rs✓su✓us✓s k✓ki✓il✓ll✓li✓in✓ng✓g
  790.  
  791.      It is important to distinguish between killing and deleting.
  792. When  text  is  _✓d_✓e_✓l_✓e_✓t_✓e_✓d, it  is  erased  completely from  memory;
  793. however,  when  text is  _✓k_✓i_✓l_✓l_✓e_✓d,  it is  moved  into a  temporary
  794. storage  area elsewhere  in the computer.   This storage  area is
  795. erased when  you move the  cursor and then  kill additional text.
  796. Until then,  however, the killed  text is saved.   This aspect of
  797. killing allows you  to restore text that you killed accidentally,
  798. and it also allows you to  move or copy portions of text from one
  799. position to another.
  800.  
  801.  
  802.                     E✓Er✓ra✓as✓si✓in✓ng✓g t✓te✓ex✓xt✓t t✓to✓o t✓th✓he✓e r✓ri✓ig✓gh✓ht✓t
  803.  
  804.      The first  two commands  to be  presented erase text  to the
  805. _✓r_✓i_✓g_✓h_✓t.
  806.  
  807.  
  808.  
  809.  
  810.  
  811. MicroEMACS Screen Editor Tutorial                         Page 13
  812.  
  813.  
  814.      Type the _✓d_✓e_✓l_✓e_✓t_✓e command <c✓ct✓tr✓rl✓l-D✓D>.  Note that the letter F✓F of
  815. the  word F✓Fr✓ro✓om✓m  has been  erased, and  the rest  of the  line has
  816. shifted one space to the left.
  817.  
  818.      Now,  type  <e✓es✓sc✓c>D✓D.  The  rest  of the  word  F✓Fr✓ro✓om✓m has  been
  819. erased, and the line has  shifted three spaces to the left.  Note
  820. that the  cursor is  positioned under  the _✓s_✓p_✓a_✓c_✓e before  the word
  821. L✓Li✓if✓fe✓e.  Type <e✓es✓sc✓c>D✓D again.   The word L✓Li✓if✓fe✓e has vanished along with
  822. the _✓s_✓p_✓a_✓c_✓e  that preceded it, and the line  has shifted _✓s_✓i_✓x spaces
  823. to the left.
  824.  
  825.      Note that <c✓ct✓tr✓rl✓l-D✓D> _✓d_✓e_✓l_✓e_✓t_✓e_✓s text, but <e✓es✓sc✓c>D✓D _✓k_✓i_✓l_✓l_✓s text.
  826.  
  827.      MicroEMACS is designed so  that when it erases text, it does
  828. so beginning  at a point  immediately to the _✓l_✓e_✓f_✓t  of the cursor.
  829. Therefore, if  you wish to  erase a word   but wish to  keep both
  830. spaces around it,   position your cursor directly under the first
  831. character of the word and strike  <e✓es✓sc✓c>D✓D.  If you wish to erase a
  832. word _✓a_✓n_✓d the space before it, position the cursor under the space
  833. before you strike <e✓es✓sc✓c>D✓D.
  834.  
  835.  
  836.                      E✓Er✓ra✓as✓si✓in✓ng✓g t✓te✓ex✓xt✓t t✓to✓o t✓th✓he✓e l✓le✓ef✓ft✓t
  837.  
  838.      You  can erase  text to  the  _✓l_✓e_✓f_✓t by  using the  delete key
  839. <D✓De✓el✓l>.   This key  is located  just below the  number pad  on the
  840. right side of your keyboard.
  841.  
  842. Be sure to note where it is, because it is most useful.
  843.  
  844.      If your  keyboard's <d✓de✓el✓l>  key does  not operate in  the way
  845. described below,  you can  also erase text  to the left  with the
  846. command <c✓ct✓tr✓rl✓l-H✓H>.
  847.  
  848.      To see how to erase text  to the left, first type the _✓e_✓n_✓d _✓o_✓f
  849. _✓l_✓i_✓n_✓e  command <c✓ct✓tr✓rl✓l-E✓E>  to move  the cursor to  the right  of the
  850. colon  on the  first line  of text.  Type  <d✓de✓el✓l>.  Note  that the
  851. colon has vanished.
  852.  
  853.      Type <e✓es✓sc✓c><d✓de✓el✓l>.  The  word M✓Mi✓is✓ss✓si✓is✓ss✓si✓ip✓pp✓pi✓i has disappeared, and
  854. the cursor has moved to the second space following the word t✓th✓he✓e.
  855.  
  856.      Move the cursor four spaces to the left, so that it is under
  857. the letter t✓t of the word  t✓th✓he✓e.  Type <e✓es✓sc✓c><d✓de✓el✓l>.  The word o✓on✓n has
  858. vanished, along with the  space that was immediately to the right
  859. of  it.  As  before,  these commands  erased  text beginning  im-
  860. mediately to the _✓l_✓e_✓f_✓t  of the cursor.  The <e✓es✓sc✓c><d✓de✓el✓l> command can
  861. be used to erase words throughout your text.
  862.  
  863.      If you  wish to erase a  word to the left  yet preserve both
  864. spaces that  are around it,  position the cursor  under the space
  865. immediately to  the right of the word  and strike <e✓es✓sc✓c><d✓de✓el✓l>.  If
  866. you wish  to erase  a word  to the left  plus the space  that im-
  867. mediately follows it,  position the cursor under the first letter
  868.  
  869.  
  870.  
  871.  
  872.  
  873. MicroEMACS Screen Editor Tutorial                         Page 14
  874.  
  875.  
  876. of the _✓n_✓e_✓x_✓t word and then strike <e✓es✓sc✓c><d✓de✓el✓l>.
  877.  
  878.      Note that  typing <d✓de✓el✓l> _✓d_✓e_✓l_✓e_✓t_✓e_✓s text,  but typing <e✓es✓sc✓c><d✓de✓el✓l>
  879. _✓k_✓i_✓l_✓l_✓s text.
  880.  
  881.  
  882.                       E✓Er✓ra✓as✓si✓in✓ng✓g l✓li✓in✓ne✓es✓s o✓of✓f t✓te✓ex✓xt✓t
  883.  
  884.      Finally, the following  command erases a lines of text:  the
  885. _✓k_✓i_✓l_✓l  command <c✓ct✓tr✓rl✓l-K✓K>.   This  command erases  a  line of  text,
  886. beginning from immediately to the left of the cursor.
  887.  
  888.      To see  how this works, move the cursor  to the beginning of
  889. line  2.  Now,  strike <c✓ct✓tr✓rl✓l-K✓K>.   Note  that all  of line  2 has
  890. vanished, and been replaced with an empty space.  Strike <c✓ct✓tr✓rl✓l-K✓K>
  891. again.  Note that the empty space has vanished, and the cursor is
  892. now positioned at the beginning of  what used to be line 3, under
  893. the letter i✓i of the word i✓it✓ts✓s.
  894.  
  895.      As its name implies,  the <c✓ct✓tr✓rl✓l-K✓K> command _✓k_✓i_✓l_✓l_✓s the line of
  896. text.
  897.  
  898.  
  899.                   Y✓Ya✓an✓nk✓ki✓in✓ng✓g b✓ba✓ac✓ck✓k (r✓re✓es✓st✓to✓or✓ri✓in✓ng✓g) t✓te✓ex✓xt✓t
  900.  
  901.      Remember that  when material is killed,  MicroEMACS has tem-
  902. porarily stored  it elsewhere.  Thus,  text that has  been killed
  903. can  be returned  to the  screen by using  the _✓y_✓a_✓n_✓k  _✓b_✓a_✓c_✓k command
  904. <c✓ct✓tr✓rl✓l-Y✓Y>.   Type  <c✓ct✓tr✓rl✓l-Y✓Y>.   Note that  all  of  line  2 is  now
  905. returned; the cursor, however,  remains under the letter i✓i of i✓it✓ts✓s
  906. in line 3.
  907.  
  908.  
  909.                  K✓Ki✓il✓ll✓li✓in✓ng✓g a✓an✓nd✓d d✓de✓el✓le✓et✓ti✓in✓ng✓g--e✓ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  910.  
  911.      To fix these distinctions in your mind, perform the next few
  912. exercises.  Work the  exercises in order, as each exercise builds
  913. on the ones that came before it, and try not to look at the solu-
  914. tion until you have at least tried to solve the problem.
  915.  
  916.      Before you  begin, move your cursor back  to the upper left-
  917. hand corner of your screen by typing <e✓es✓sc✓c><.
  918.  
  919.      1✓1.  Erase the  word s✓sh✓he✓el✓lt✓te✓er✓re✓ed✓d in  line 7 and  the space that
  920. follows it.
  921.  
  922.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move  the cursor to the correct position, type
  923. <c✓ct✓tr✓rl✓l-N✓N>  six times;  type <e✓es✓sc✓c>F✓F four  times; and  type <c✓ct✓tr✓rl✓l-F✓F>
  924. once.  Then type <e✓es✓sc✓c><d✓de✓el✓l>.
  925.  
  926.  
  927.  
  928.  
  929.  
  930. MicroEMACS Screen Editor Tutorial                         Page 15
  931.  
  932.  
  933.      2✓2.  Erase the  word c✓ch✓hi✓il✓ld✓dr✓re✓en✓n in  line 8, and  the space that
  934. precedes it.
  935.  
  936.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move  the cursor to the correct position, type
  937. <c✓ct✓tr✓rl✓l-N✓N>, then type <e✓es✓sc✓c>F✓F.  Type <e✓es✓sc✓c>D✓D.
  938.  
  939.      3✓3.  Erase line 4.
  940.  
  941.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To  move cursor,  type <c✓ct✓tr✓rl✓l-P✓P> four  times, then
  942. <c✓ct✓tr✓rl✓l-A✓A>.  Type <c✓ct✓tr✓rl✓l-K✓K>.
  943.  
  944.      4✓4.  Yank back line 4.
  945.  
  946.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-Y✓Y>.
  947.  
  948.  
  949.                              Q✓Qu✓ui✓it✓tt✓ti✓in✓ng✓g
  950.  
  951.      When you are finished, do not  save the text.  If you do so,
  952. the  undamaged copy  of the  text that you  made earlier  will be
  953. replaced  with the  present damaged copy.   Rather, use  the _✓q_✓u_✓i_✓t
  954. command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.  Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.  On the bottom
  955. of your screen, MicroEMACS will respond:
  956.  
  957.      Quit [y/n]?
  958.  
  959. Reply  by  typing  y✓y and  a  carriage  return.   If  you type  n✓n,
  960. MicroEMACS will simply return you  to where you were in the text.
  961. MicroEMACS will then return you to  MS-DOS.
  962.  
  963.  
  964.  
  965.  
  966.  
  967. MicroEMACS Screen Editor Tutorial                         Page 16
  968.  
  969.  
  970. 5✓5.  B✓Bl✓lo✓oc✓ck✓k K✓Ki✓il✓ll✓li✓in✓ng✓g a✓an✓nd✓d M✓Mo✓ov✓vi✓in✓ng✓g T✓Te✓ex✓xt✓t
  971.  
  972.      As noted  above, text that  is killed is  stored temporarily
  973. within  the  computer.  Killed text, however,  may be yanked back
  974. onto your  screen, and not  necessarily in the spot  where it was
  975. originally killed.  This feature allows you to move text from one
  976. position to another.
  977.  
  978.      The following  table summarizes the commands  used to kill a
  979. block of text and move it:
  980.  
  981.      <c✓ct✓tr✓rl✓l-K✓K>  Kill text to end of line
  982.  
  983.      <c✓ct✓tr✓rl✓l-@>  Set mark
  984.      <c✓ct✓tr✓rl✓l-W✓W>  Kill block of text
  985.  
  986.      <c✓ct✓tr✓rl✓l-Y✓Y>  Yank back text
  987.  
  988.  
  989.  
  990.                      M✓Mo✓ov✓vi✓in✓ng✓g o✓on✓ne✓e l✓li✓in✓ne✓e o✓of✓f t✓te✓ex✓xt✓t
  991.  
  992.      To test these commands, invoke MicroEMACS for the text t✓te✓ex✓xt✓t1✓1
  993. by typing the following command:
  994.  
  995.      me text1
  996.  
  997. When MicroEMACS appears, the cursor will be positioned in the up-
  998. per left-hand corner of the screen.
  999.  
  1000.      To move  the first  line of text,  begin by typing  the _✓k_✓i_✓l_✓l
  1001. command  <c✓ct✓tr✓rl✓l-K✓K>  twice.  Now, press <e✓es✓sc✓c>>,  to move the cursor
  1002. to the  bottom of  text.  Finally, yank  back the line  by typing
  1003. <c✓ct✓tr✓rl✓l-Y✓Y>.  The line that reads
  1004.  
  1005.      From "Life on the Mississippi":
  1006.  
  1007. is now at the bottom of your text.
  1008.  
  1009.      Note  that your  cursor has  moved to  the beginning  of the
  1010. blank line _✓a_✓f_✓t_✓e_✓r the line you yanked back.
  1011.  
  1012.  
  1013.                  M✓Mu✓ul✓lt✓ti✓ip✓pl✓le✓e c✓co✓op✓py✓yi✓in✓ng✓g o✓of✓f k✓ki✓il✓ll✓le✓ed✓d t✓te✓ex✓xt✓t
  1014.  
  1015.      When text is yanked back onto your screen, it is _✓n_✓o_✓t deleted
  1016. from the  computer.  Rather,  it is  simply _✓c_✓o_✓p_✓i_✓e_✓d back  onto the
  1017. screen.  This  means that killed text can  be reinserted into the
  1018. text more than once.  To see  how this is done, return to the top
  1019. of the text by typing  <e✓es✓sc✓c><.  Then type <c✓ct✓tr✓rl✓l-Y✓Y>.  The line you
  1020. just killed now appears twice on your screen.
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026. MicroEMACS Screen Editor Tutorial                         Page 17
  1027.  
  1028.  
  1029.      Note that  the killed text will not be  erased from its tem-
  1030. porary storage until you move the cursor and then kill additional
  1031. text.  If you  kill several lines or portions of  lines in a row,
  1032. all of the  killed text will be stored in  the buffer; if you are
  1033. not careful, you may yank back a jumble of accumulated text.
  1034.  
  1035.  
  1036.                   K✓Ki✓il✓ll✓l a✓an✓nd✓d m✓mo✓ov✓ve✓e a✓a b✓bl✓lo✓oc✓ck✓k o✓of✓f t✓te✓ex✓xt✓t
  1037.  
  1038.      If you wish to kill a block of text, you can either type the
  1039. _✓k_✓i_✓l_✓l command <c✓ct✓tr✓rl✓l-K✓K> repeatedly to  kill the block one line at a
  1040. time, or  you can  use the _✓b_✓l_✓o_✓c_✓k  _✓k_✓i_✓l_✓l command <c✓ct✓tr✓rl✓l-W✓W>.   To use
  1041. this command,  you must first  set  a _✓m_✓a_✓r_✓k on the  screen, an in-
  1042. visible character that acts  as a guidepost to the computer.  The
  1043. mark is set with the _✓m_✓a_✓r_✓k command <c✓ct✓tr✓rl✓l-@>.
  1044.  
  1045.      Once the mark is set, you must move your cursor to the other
  1046. end of the block of text you wish to kill, and then strike <c✓ct✓tr✓rl✓l-
  1047. W✓W>.  The  block of text will  be erased, and will  be ready to be
  1048. yanked back elsewhere.
  1049.  
  1050.      Try this  out on t✓te✓ex✓xt✓t1✓1.   Type <e✓es✓sc✓c>< to move  the cursor to
  1051. the upper left-hand corner of the screen.  Then type the _✓s_✓e_✓t _✓m_✓a_✓r_✓k
  1052. command <c✓ct✓tr✓rl✓l-@>.  By the way, be  sure to type a '@', not a '2'.
  1053. MicroEMACS will respond with the message
  1054.  
  1055.      [Mark set]
  1056.  
  1057. at the  bottom of  your screen.  Now,  move the cursor  down four
  1058. lines, and type <c✓ct✓tr✓rl✓l-W✓W>.  Note  how the block of text you marked
  1059. out has disappeared.
  1060.  
  1061.      Move the cursor to  the bottom of your text.  Type <c✓ct✓tr✓rl✓l-Y✓Y>.
  1062. The killed block of text has now been reinserted.
  1063.  
  1064.      When you  yank back text, be sure to  position the cursor at
  1065. the _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g  of the line  _✓b_✓e_✓l_✓o_✓w where you  want the text  to be
  1066. yanked back.  This will ensure  that the text will be yanked back
  1067. in the  proper place, and the  cursor will not be  moved when the
  1068. text reappears.
  1069.  
  1070.      To try this out, move your cursor up four lines.  Be careful
  1071. that  the cursor  is at  the  _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g of  the line.   Now, type
  1072. <c✓ct✓tr✓rl✓l-Y✓Y> again.   Note that the  text reappeared _✓a_✓b_✓o_✓v_✓e  where the
  1073. cursor was positioned, and that the cursor was not moved from its
  1074. position at  the beginning of  the line--which is  not what would
  1075. have happened had  you positioned it in the middle  or at the end
  1076. of a line.
  1077.  
  1078.      Although the  text you are  working with has  only 16 lines,
  1079. you can move much larger portions of text, using only these three
  1080. commands.   Remember, too,  that you  can  use this  technique to
  1081. duplicate large  portions of text  at several positions,  to save
  1082. yourself  considerable time  in typing and  reduce the  number of
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088. MicroEMACS Screen Editor Tutorial                         Page 18
  1089.  
  1090.  
  1091. possible  typographical errors.
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097. MicroEMACS Screen Editor Tutorial                         Page 19
  1098.  
  1099.  
  1100. 6✓6.  C✓Ca✓ap✓pi✓it✓ta✓al✓li✓iz✓za✓at✓ti✓io✓on✓n, T✓Tr✓ra✓an✓ns✓sp✓po✓os✓si✓in✓ng✓g, a✓an✓nd✓d S✓Sc✓cr✓re✓ee✓en✓n R✓Re✓ed✓dr✓ra✓aw✓w
  1101.  
  1102.      The next commands perform a number of useful tasks that will
  1103. help with your editing.  They are as follows:
  1104.  
  1105.      <e✓es✓sc✓c>C✓C    Capitalize a word
  1106.      <e✓es✓sc✓c>L✓L    Lowercase a word
  1107.      <e✓es✓sc✓c>U✓U    Uppercase a word
  1108.  
  1109.      <c✓ct✓tr✓rl✓l-T✓T>  Transpose characters
  1110.  
  1111.      <c✓ct✓tr✓rl✓l-L✓L>  Redraw screen
  1112.  
  1113. Before  you begin  this  section, destroy  the old  text on  your
  1114. screen  with the  _✓q_✓u_✓i_✓t  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>,  and read  into
  1115. MicroEMACS a fresh copy of the text, as you did earlier.
  1116.  
  1117.  
  1118.  
  1119.                     C✓Ca✓ap✓pi✓it✓ta✓al✓li✓iz✓za✓at✓ti✓io✓on✓n a✓an✓nd✓d l✓lo✓ow✓we✓er✓rc✓ca✓as✓si✓in✓ng✓g
  1120.  
  1121.      MicroEMACS has several commands that can automatically capi-
  1122. talize words or make them all upper case or lower case.
  1123.  
  1124.      Move the  cursor to the  letter w✓w of the  word w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n on
  1125. line 2.   Type the  _✓c_✓a_✓p_✓i_✓t_✓a_✓l_✓i_✓z_✓e command  <e✓es✓sc✓c>C✓C.  The word  is now
  1126. capitalized,  and the  cursor is now  positioned under  the space
  1127. after it.  Move the cursor back  so that it is under the letter m✓m
  1128. in W✓Wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n.   Press <e✓es✓sc✓c>C✓C again.   Note that the  word is now
  1129. spelled W✓Wa✓at✓te✓er✓rM✓Me✓el✓lo✓on✓n.  When you press <e✓es✓sc✓c>C✓C, MicroEMACS will capi-
  1130. talize the _✓f_✓i_✓r_✓s_✓t letter the cursor meets.
  1131.  
  1132.      MicroEMACS can  also change a word to all  upper case or all
  1133. lower case.   (There is very little need for  a command that will
  1134. change only  the first character  of an upper-case  word to lower
  1135. case, so it is not included.)
  1136.  
  1137.      Move the cursor so that it  is again to the left of the word
  1138. W✓Wa✓at✓te✓er✓rM✓Me✓el✓lo✓on✓n.  It does not matter if the cursor is directly under W✓W
  1139. or under the space to  its left; therefore, you can capitalize or
  1140. lowercase a number  of words in a row without  having to move the
  1141. cursor.
  1142.  
  1143.      Type the _✓u_✓p_✓p_✓e_✓r_✓c_✓a_✓s_✓e  command <e✓es✓sc✓c>U✓U.  The word is now spelled
  1144. W✓WA✓AT✓TE✓ER✓RM✓ME✓EL✓LO✓ON✓N,  and the  cursor has  jumped to  the space  after the
  1145. word.
  1146.  
  1147.      Again, move  the cursor to the left  of the word W✓WA✓AT✓TE✓ER✓RM✓ME✓EL✓LO✓ON✓N.
  1148. Type the _✓l_✓o_✓w_✓e_✓r_✓c_✓a_✓s_✓e command  <e✓es✓sc✓c>L✓L.  The word has changed back to
  1149. w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n.  Now, move the cursor to the left of the word L✓Li✓if✓fe✓e on
  1150. line 1.  Type <e✓es✓sc✓c>L✓L  once again.  Notice that the quotation mark
  1151. is not  affected by the  command, but the  letter L✓L is  now lower
  1152. case.  <e✓es✓sc✓c>L✓L  not only shifts a  word that is all  upper case to
  1153. lower case: it can also un-capitalize a word.
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159. MicroEMACS Screen Editor Tutorial                         Page 20
  1160.  
  1161.  
  1162.  
  1163.      Note that the  _✓u_✓p_✓p_✓e_✓r_✓c_✓a_✓s_✓e and _✓l_✓o_✓w_✓e_✓r_✓c_✓a_✓s_✓e commands will stop at
  1164. the  first point  of punctuation they  encounter after  the first
  1165. letter they find; therefore, if you  wish to change the case of a
  1166. word with an apostrophe in it, you must type the appropriate com-
  1167. mand twice.
  1168.  
  1169.  
  1170.                        T✓Tr✓ra✓an✓ns✓sp✓po✓os✓se✓e c✓ch✓ha✓ar✓ra✓ac✓ct✓te✓er✓rs✓s
  1171.  
  1172.      MicroEMACS allows you to reverse the position of two charac-
  1173. ters, or _✓t_✓r_✓a_✓n_✓s_✓p_✓o_✓s_✓e them, with the _✓t_✓r_✓a_✓n_✓s_✓p_✓o_✓s_✓e command <c✓ct✓tr✓rl✓l-T✓T>.
  1174.  
  1175.      Move the  cursor to the middle of a  line and type <c✓ct✓tr✓rl✓l-T✓T>.
  1176. Note that the character under which the cursor was positioned has
  1177. been transposed with the character immediately to its _✓l_✓e_✓f_✓t.  Type
  1178. <c✓ct✓tr✓rl✓l-T✓T>  again.   The  characters  are  now  returned  to  their
  1179. original order.
  1180.  
  1181.  
  1182.                           S✓Sc✓cr✓re✓ee✓en✓n r✓re✓ed✓dr✓ra✓aw✓w
  1183.  
  1184.      Occasionally,  while  you  are  editing  you  may  interrupt
  1185. MicroEMACS to invoke  another program, such as an electronic cal-
  1186. culator or  a clock.   When you exit  from that program,  you may
  1187. find that  it has left material on your  screen and scrambled it.
  1188. Although this extraneous  material will _✓n_✓o_✓t be recorded into your
  1189. text, you will need to redraw your screen in order to continue to
  1190. edit.
  1191.  
  1192.  
  1193.      The _✓r_✓e_✓d_✓r_✓a_✓w  _✓s_✓c_✓r_✓e_✓e_✓n command <c✓ct✓tr✓rl✓l-L✓L> will  redraw your screen
  1194. to the way it was before the extraneous material was written onto
  1195. it.
  1196.  
  1197.      Type <c✓ct✓tr✓rl✓l-L✓L>.  Notice  how the screen flickers and the text
  1198. is  rewritten.   Had  your  screen  been  spoiled  by  extraneous
  1199. material, that  material would have been  erased and the original
  1200. text rewritten.
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206. MicroEMACS Screen Editor Tutorial                         Page 21
  1207.  
  1208.  
  1209. 7✓7.  S✓Se✓ea✓ar✓rc✓ch✓h a✓an✓nd✓d R✓Re✓ev✓ve✓er✓rs✓se✓e S✓Se✓ea✓ar✓rc✓ch✓h
  1210.  
  1211.      When  you edit  a large  text, you may  wish to  change par-
  1212. ticular words  or phrases.  To do this, you  can roll through the
  1213. text and read each line to  find them; or you can have MicroEMACS
  1214. find  them  for   you.   The  following  display  summarizes  the
  1215. MicroEMACS search commands:
  1216.  
  1217.      <c✓ct✓tr✓rl✓l-S✓S>  Search forward
  1218.      <c✓ct✓tr✓rl✓l-R✓R>  Search backwards
  1219.      <c✓ct✓tr✓rl✓l-G✓G>  Cancel a search command
  1220.  
  1221.  
  1222.  
  1223.                           S✓Se✓ea✓ar✓rc✓ch✓h f✓fo✓or✓rw✓wa✓ar✓rd✓d
  1224.  
  1225.      To begin, type the  _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c>< to move
  1226. the cursor  to the upper  left-hand corner of  your screen.  Now,
  1227. type  the _✓s_✓e_✓a_✓r_✓c_✓h  command <c✓ct✓tr✓rl✓l-S✓S>.   MicroEMACS will  respond by
  1228. prompting with the message
  1229.  
  1230.      Search:
  1231.  
  1232. at the bottom of the screen.
  1233.  
  1234.      Type  in  the  words b✓be✓ee✓en✓n  t✓th✓he✓er✓re✓e,  then  press the  carriage
  1235. return.  Notice  that the cursor  has jumped to  the period after
  1236. the  word  t✓th✓he✓er✓re✓e  in the  last  line  of  your text.   MicroEMACS
  1237. searched for the words b✓be✓ee✓en✓n t✓th✓he✓er✓re✓e, found them, and moved the cur-
  1238. sor there.
  1239.  
  1240.      If the word you were searching  for was not in your text, or
  1241. at least was not in the portion that lies between your cursor and
  1242. the end of the text,  MicroEMACS would not have moved the cursor,
  1243. and would have displayed the message
  1244.  
  1245.      Not found
  1246.  
  1247. at the bottom of your screen.
  1248.  
  1249.  
  1250.                           R✓Re✓ev✓ve✓er✓rs✓se✓e s✓se✓ea✓ar✓rc✓ch✓h
  1251.  
  1252.      The  _✓s_✓e_✓a_✓r_✓c_✓h command  <c✓ct✓tr✓rl✓l-S✓S>,  useful as  it  is, can  only
  1253. search forward  through your text.  To  search backwards, use the
  1254. _✓r_✓e_✓v_✓e_✓r_✓s_✓e _✓s_✓e_✓a_✓r_✓c_✓h command <c✓ct✓tr✓rl✓l-R✓R>.  Type <c✓ct✓tr✓rl✓l-R✓R>.  MicroEMACS will
  1255. reply with the message
  1256.  
  1257.      Reverse search [been there]:
  1258.  
  1259. at the  bottom of your screen.  The words  in square brackets are
  1260. the words you  entered earlier for the _✓s_✓e_✓a_✓r_✓c_✓h command; MicroEMACS
  1261. remembered them.   If you wanted to search  for b✓be✓ee✓en✓n t✓th✓he✓er✓re✓e again,
  1262. you would just press the carriage return.  For now, however, type
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268. MicroEMACS Screen Editor Tutorial                         Page 22
  1269.  
  1270.  
  1271. the word w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n and press the carriage return.
  1272.  
  1273.      Notice that  the cursor has  jumped so that it  is under the
  1274. letter w✓w of the word w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n  in line 2.  When you search for-
  1275. ward, the  cursor will move to  the _✓s_✓p_✓a_✓c_✓e _✓a_✓f_✓t_✓e_✓r the  word you are
  1276. searching for, whereas when you reverse search the cursor will be
  1277. moved to the _✓f_✓i_✓r_✓s_✓t _✓l_✓e_✓t_✓t_✓e_✓r of the word you are searching for.
  1278.  
  1279.  
  1280.                    S✓Se✓ea✓ar✓rc✓ch✓h f✓fo✓or✓r p✓po✓or✓rt✓ti✓io✓on✓ns✓s o✓of✓f w✓wo✓or✓rd✓ds✓s
  1281.  
  1282.      You do not  have to search for an entire  word; if you wish,
  1283. you can search for a portion of a word or even a single letter of
  1284. the alphabet.  Note,  however, that the _✓s_✓e_✓a_✓r_✓c_✓h and _✓r_✓e_✓v_✓e_✓r_✓s_✓e _✓s_✓e_✓a_✓r_✓c_✓h
  1285. commands  do _✓n_✓o_✓t  distinguish between  upper-case  and lower-case
  1286. letters--if you  ask MicroEMACS to search for  the letter 'I', it
  1287. will stop at every occurrence of 'i' as well.
  1288.  
  1289.      Type <c✓ct✓tr✓rl✓l-S✓S>; when MicroEMACS asks what to search for, type
  1290. m✓me✓el✓lo✓on✓n.  Note that the cursor jumps  to the end of the word w✓wa✓at✓te✓er✓r-
  1291. m✓me✓el✓lo✓on✓n.  Type <c✓ct✓tr✓rl✓l-S✓S> again, then a carriage return.  Your cursor
  1292. now jumps  to the comma after the word  m✓me✓el✓lo✓on✓n in the next-to-last
  1293. line of the text.  Now  type <c✓ct✓tr✓rl✓l-R✓R>.  The prompt will appear as
  1294. follows:
  1295.  
  1296.      Reverse search [melon]:
  1297.  
  1298. Type a  carriage return.  The  cursor jumped to  the beginning of
  1299. the word m✓me✓el✓lo✓on✓n on line  15.  Type <c✓ct✓tr✓rl✓l-R✓R> again, then a carriage
  1300. return.  The cursor now has  jumped to the letter m✓m in w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n
  1301. on line 2.
  1302.  
  1303.      When  MicroEMACS searches, it  does not  distinguish between
  1304. whole words and portions of words;  when you ask it to search for
  1305. m✓me✓el✓lo✓on✓n,  it will  find m✓me✓el✓lo✓on✓n  whether it  is a  word by  itself or
  1306. simply part of another word.
  1307.  
  1308.  
  1309.                          C✓Ca✓an✓nc✓ce✓el✓l a✓a c✓co✓om✓mm✓ma✓an✓nd✓d
  1310.  
  1311.      The  commands presented  earlier to  move  the cursor  or to
  1312. delete  or  kill text  all  execute  immediately.  Although  this
  1313. speeds your editing, it also means  that if you type a command by
  1314. mistake, it executes before you can stop it.
  1315.  
  1316.      The _✓s_✓e_✓a_✓r_✓c_✓h  and _✓r_✓e_✓v_✓e_✓r_✓s_✓e  _✓s_✓e_✓a_✓r_✓c_✓h commands, however,  wait for
  1317. you to respond to their prompts before they execute.  If you type
  1318. <c✓ct✓tr✓rl✓l-S✓S> or <c✓ct✓tr✓rl✓l-R✓R>  by accident, MicroEMACS will interrupt your
  1319. editing and  wait patiently for you to initate  a search that you
  1320. do not  want to  perform.  You  can evade this  problem, however,
  1321. with the _✓c_✓a_✓n_✓c_✓e_✓l  command <c✓ct✓tr✓rl✓l-G✓G>.  This command tells MicroEMACS
  1322. to ignore the previous command.
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328. MicroEMACS Screen Editor Tutorial                         Page 23
  1329.  
  1330.  
  1331.      To  see how  this command  works,  type <c✓ct✓tr✓rl✓l-R✓R>.   When the
  1332. prompt  appears at  the  bottom of  your  screen, type  <c✓ct✓tr✓rl✓l-G✓G>.
  1333. Three things happen:   your terminal beeps, the characters ^G✓G ap-
  1334. pears at  the bottom  of your screen,  and the cursor  returns to
  1335. where it  in your text was before you  first typed <c✓ct✓tr✓rl✓l-R✓R>.  The
  1336. <c✓ct✓tr✓rl✓l-R✓R> command has been cancelled, and you are free to continue
  1337. editing.
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343. MicroEMACS Screen Editor Tutorial                         Page 24
  1344.  
  1345.  
  1346. 8✓8.  S✓Sa✓av✓vi✓in✓ng✓g T✓Te✓ex✓xt✓t a✓an✓nd✓d E✓Ex✓xi✓it✓ti✓in✓ng✓g
  1347.  
  1348.      The last  set of  basic editing  commands allow you  to save
  1349. your  text and  exit from  the MicroEMACS  program.  They  are as
  1350. follows:
  1351.  
  1352.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>  Save text
  1353.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>  Write text to a new file
  1354.  
  1355.      <c✓ct✓tr✓rl✓l-Z✓Z>          Save text and exit
  1356.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>  Exit without saving text
  1357.  
  1358. You have  used two of  these commands already:   the _✓s_✓a_✓v_✓e command
  1359. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>  and the  _✓q_✓u_✓i_✓t command   <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>, which
  1360. respectively allow  you to save  text or to  exit from MicroEMACS
  1361. without  saving text.   (Commands  that begin  with <c✓ct✓tr✓rl✓l-X✓X>  are
  1362. called  _✓e_✓x_✓t_✓e_✓n_✓d_✓e_✓d commands;  they are used  frequently in  the ad-
  1363. vanced  editing  to  be  covered  in  the  second  half  of  this
  1364. tutorial.)
  1365.  
  1366.  
  1367.                      W✓Wr✓ri✓it✓te✓e t✓te✓ex✓xt✓t t✓to✓o a✓a n✓ne✓ew✓w f✓fi✓il✓le✓e
  1368.  
  1369.      If you wish, you may copy the text you are currently editing
  1370. to a text file other than  the one from which you originally took
  1371. the text.  Do this with the _✓w_✓r_✓i_✓t_✓e command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>.
  1372.  
  1373.      To  test this  command,  type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>.   MicroEMACS
  1374. will display the following message on the bottom of your screen:
  1375.  
  1376.      Write file:
  1377.  
  1378. MicroEMACS is asking  for the name of the file  to which you want
  1379. to write the text.  Type t✓tw✓wa✓ai✓in✓n.  MicroEMACS will reply:
  1380.  
  1381.      [Wrote 16 lines]
  1382.  
  1383. The 16 lines of your text  have been copied to a new file, called
  1384. t✓tw✓wa✓ai✓in✓n.  Note  that the status  line at the bottom  of your screen
  1385. has changed to read as follows:
  1386.  
  1387.  
  1388. -- MicroEMACS -- text1 -- File: twain ---------------------------
  1389.  
  1390.  
  1391. The significance of the change  in file name will be discussed in
  1392. the second half of this tutorial.
  1393.  
  1394.      Before you  copy text to a  new file, be sure  that you have
  1395. not selected a file name that  is already being used.  If you do,
  1396. whatever is being stored under that file name will be erased, and
  1397. the text created with MicroEMACS will be stored in its place.
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404. MicroEMACS Screen Editor Tutorial                         Page 25
  1405.  
  1406.  
  1407.                         S✓Sa✓av✓ve✓e t✓te✓ex✓xt✓t a✓an✓nd✓d e✓ex✓xi✓it✓t
  1408.  
  1409.      Finally, the _✓s_✓t_✓o_✓r_✓e command  <c✓ct✓tr✓rl✓l-Z✓Z> will save your text _✓a_✓n_✓d
  1410. move you  out of the MicroEMACS program.  To  see how this works,
  1411. watch the bottom line  of your terminal carefully and type <c✓ct✓tr✓rl✓l-
  1412. Z✓Z>.  If you watched carefully,  you would have seen that the mes-
  1413. sage
  1414.  
  1415.      [Wrote 16 lines]
  1416.  
  1417. flickered  on  your screen,  then  the   MS-DOS prompt  appeared.
  1418. MicroEMACS has  saved your text,  and now you  can issue commands
  1419. directly to  MS-DOS.
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425. MicroEMACS Screen Editor Tutorial                         Page 26
  1426.  
  1427.  
  1428. 9✓9.  B✓Ba✓as✓si✓ic✓c E✓Ed✓di✓it✓ti✓in✓ng✓g--C✓Co✓on✓nc✓cl✓lu✓us✓si✓io✓on✓n a✓an✓nd✓d S✓Su✓um✓mm✓ma✓ar✓ry✓y
  1429.  
  1430.      This concludes  the presentation of  MicroEMACS's basic com-
  1431. mands.  The  second half of  this tutorial will  introduce you to
  1432. the  advanced  features  of  the  MicroEMACS  interactive  screen
  1433. editor.
  1434.  
  1435.      This section  introduced the basics of  using an interactive
  1436. screen editor,  and presented  the basic MicroEMACS  editing com-
  1437. mands.
  1438.  
  1439.      If  you have  mastered the  commands  and techniques  in the
  1440. first half  of this tutorial,  you may have  no need to  work any
  1441. further, because  you now can  create a file, edit  it, store it,
  1442. and recall it for further editing.
  1443.  
  1444.      The tutorial gives instructions on how to invoke MicroEMACS,
  1445. how to  name a text file,  and the meaning of  the information in
  1446. the MicroEMACS command line.
  1447.  
  1448.      An exercise  text is presented,  and instructions on  how to
  1449. type in the text and save it are given.
  1450.  
  1451.      A number  of commands can be used to  move the cursor around
  1452. the screen.   <c✓ct✓tr✓rl✓l-F✓F> and <e✓es✓sc✓c>F✓F move the  cursor forward on the
  1453. line.  <c✓ct✓tr✓rl✓l-B✓B> and <e✓es✓sc✓c>B✓B move the cursor backwards on the line.
  1454. <c✓ct✓tr✓rl✓l-P✓P> and  <c✓ct✓tr✓rl✓l-N✓N> move  the cursor  to the previous  or next
  1455. lines, respectively.   <c✓ct✓tr✓rl✓l-A✓A> and  <c✓ct✓tr✓rl✓l-E✓E> move the  cursor to
  1456. the beginning  or the end of the  line, respectively.  <e✓es✓sc✓c>< and
  1457. <e✓es✓sc✓c>>  move the  cursor to  the  beginning or  end of  the text,
  1458. respectively.  <c✓ct✓tr✓rl✓l-V✓V>  and <e✓es✓sc✓c>V✓V  roll the screen  forwards or
  1459. backwards, respectively.
  1460.  
  1461.      You can erase text in a number of ways.  <c✓ct✓tr✓rl✓l-D✓D> and <e✓es✓sc✓c>D✓D
  1462. erase text to the right.  <d✓de✓el✓l> and <e✓es✓sc✓c><d✓de✓el✓l>  erase text to the
  1463. left.  <c✓ct✓tr✓rl✓l-K✓K>  erases a line of  text (or a portion  of a line,
  1464. should the cursor be  positioned in the middle of line).  <c✓ct✓tr✓rl✓l-D✓D
  1465. and <d✓de✓el✓l>  _✓d_✓e_✓l_✓e_✓t_✓e text, whereas <e✓es✓sc✓c>D✓D,  <e✓es✓sc✓c><d✓de✓el✓l>, and <c✓ct✓tr✓rl✓l-K✓K>
  1466. _✓k_✓i_✓l_✓l text.  <c✓ct✓tr✓rl✓l-Y✓Y> yanks back killed text.
  1467.  
  1468.      Text can  be block  killed and moved  from one part  of your
  1469. text to another.  To mark a block of text for killing, first type
  1470. <c✓ct✓tr✓rl✓l-@>  at one  end, then  move  the cursor  to the  other end.
  1471. Typing  <c✓ct✓tr✓rl✓l-W✓W> kills  the marked  block  of text,  and <c✓ct✓tr✓rl✓l-Y✓Y>
  1472. yanks back killed text.
  1473.  
  1474.      The following commands allow the user to block-kill and move
  1475. text.  <c✓ct✓tr✓rl✓l-@>  sets a mark;  <c✓ct✓tr✓rl✓l-W✓W> deletes all  text between
  1476. the mark  and the cursor.   <c✓ct✓tr✓rl✓l-Y✓Y> yanks back  the block-killed
  1477. text wherever the cursor is positioned.
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483. MicroEMACS Screen Editor Tutorial                         Page 27
  1484.  
  1485.  
  1486.      Specific  commands   capitalize,  uppercase,  and  lowercase
  1487. words:  <e✓es✓sc✓c>C✓C capitalizes  a word; <e✓es✓sc✓c>L✓L lowercases a word; and
  1488. <e✓es✓sc✓c>U✓U  uppercases  a word.   <c✓ct✓tr✓rl✓l-T✓T>  allows  you to  transpose
  1489. characters  automatically,  and   <c✓ct✓tr✓rl✓l-L✓L>  redraws  a  scrambled
  1490. screen.
  1491.  
  1492.      Words or parts of  words can be searched for either forwards
  1493. or backwards  through the  text:  <c✓ct✓tr✓rl✓l-S✓S> searches  forward, and
  1494. <c✓ct✓tr✓rl✓l-R✓R> searches backwards.  <c✓ct✓tr✓rl✓l-G✓G> cancels these commands.
  1495.  
  1496.      Finally, <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>  saves text  to the file  named on
  1497. the command  line; <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C> allows the  user to exit from
  1498. MicroEMACS without saving text; and <c✓ct✓tr✓rl✓l-Z✓Z> saves text and moves
  1499. you back into  MS-DOS.
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505. MicroEMACS Screen Editor Tutorial                         Page 28
  1506.  
  1507.  
  1508. 1✓10✓0.  A✓Ad✓dv✓va✓an✓nc✓ce✓ed✓d E✓Ed✓di✓it✓ti✓in✓ng✓g
  1509.  
  1510.      The second half of  this tutorial will introduce you to  the
  1511. advanced features of the MicroEMACS interactive screen editor.
  1512.  
  1513.      The techniques described  here will help you execute complex
  1514. editing tasks  with minimal  trouble.  You  will be able  to edit
  1515. more than one text at a  time, display more than one text on your
  1516. screen at  a time, enter a long  or complicated phrase repeatedly
  1517. with only one keystroke, and give commands to the COHERENT system
  1518. without having to exit from MicroEMACS.
  1519.  
  1520.      Before beginning, however, you must prepare a new text file-
  1521. -you were  probably a little tired of  watermelon by now, anyway.
  1522. Type the following command to the COHERENT system:
  1523.  
  1524.         me text2
  1525.  
  1526. This text  has been included on the  diskettes that contained the
  1527. MWC86 compiler; there is no  need to retype it.  Within a moment,
  1528. t✓te✓ex✓xt✓t2✓2 will appear on your screen, as follows:
  1529.  
  1530.         From the "Devil's Dictionary":
  1531.         A penny saved is a penny to squander.
  1532.         A man is known by the company he organizes.
  1533.         A bird in the hand is worth what it will bring.
  1534.         Think twice before you speak to a friend in need.
  1535.         He laughs best who laughs least.
  1536.         Least said is soonest disavowed.
  1537.         Speak of the Devil and he will hear about it.
  1538.         Of two evils choose to be the least.
  1539.         Strike while your employer has a big contract.
  1540.         Where there's a will there's a won't.
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546. MicroEMACS Screen Editor Tutorial                         Page 29
  1547.  
  1548.  
  1549. 1✓11✓1.  A✓Ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s
  1550.  
  1551.      Most of  the commands  described in  the first part  of this
  1552. tutorial can be used with _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t_✓s.  An argument is a subcommand
  1553. that  tells MicroEMACS  to  execute a  command repeatedly.   With
  1554. MicroEMACS, arguments are introduced by striking <c✓ct✓tr✓rl✓l-U✓U>.
  1555.  
  1556.  
  1557.                     A✓Ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s--d✓de✓ef✓fa✓au✓ul✓lt✓t v✓va✓al✓lu✓ue✓es✓s
  1558.  
  1559.      By  itself, <c✓ct✓tr✓rl✓l-U✓U>  sets the  argument  at _✓f_✓o_✓u_✓r.   To test
  1560. this, first type the _✓n_✓e_✓x_✓t _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-N✓N>.  By itself, this
  1561. command moves the cursor down one line, from being under the F✓F in
  1562. the word F✓Fr✓ro✓om✓m on line 1, to being under the A✓A at the beginning of
  1563. line 2.
  1564.  
  1565.      Now, type  <c✓ct✓tr✓rl✓l-U✓U>.  Note that MicroEMACS  replies with the
  1566. message:
  1567.  
  1568.         Arg: 4
  1569.  
  1570. Now type  <c✓ct✓tr✓rl✓l-N✓N>.  The cursor  jumps down _✓f_✓o_✓u_✓r  lines, from the
  1571. letter A✓A in line 2 to  the  letter H✓H of the word H✓He✓e at the begin-
  1572. ning of line 6.
  1573.  
  1574.      Type <c✓ct✓tr✓rl✓l-U✓U>.   The line at the bottom  of the screen again
  1575. shows that the value of  the argument is 4.  Type <c✓ct✓tr✓rl✓l-U✓U> again.
  1576. Now the line at the bottom of the screen reads:
  1577.  
  1578.         Arg: 16
  1579.  
  1580. Type <c✓ct✓tr✓rl✓l-U✓U>  once more.  The  line at the bottom  of the screen
  1581. now reads:
  1582.  
  1583.         Arg: 64
  1584.  
  1585. Each time  you type <c✓ct✓tr✓rl✓l-U✓U>,  the value of the  argument is _✓m_✓u_✓l-
  1586. _✓t_✓i_✓p_✓l_✓i_✓e_✓d by four.   Type the _✓f_✓o_✓r_✓w_✓a_✓r_✓d command <c✓ct✓tr✓rl✓l-F✓F>.  The cursor
  1587. has jumped  ahead 64 characters,  and is now under  the period at
  1588. the end of line 7.
  1589.  
  1590.  
  1591.                          S✓Se✓el✓le✓ec✓ct✓ti✓in✓ng✓g v✓va✓al✓lu✓ue✓es✓s
  1592.  
  1593.      Naturally, arguments do not  have to be powers of four.  You
  1594. can  set the  argument  to whatever  number you  wish, simply  by
  1595. typing <c✓ct✓tr✓rl✓l-U✓U> and then typing in the number you want.
  1596.  
  1597.      For example,  type <c✓ct✓tr✓rl✓l-U✓U>, and  then type 3✓3.   The line at
  1598. the bottom of the screen now reads:
  1599.  
  1600.         Arg: 3
  1601.  
  1602. Type the _✓d_✓e_✓l_✓e_✓t_✓e command <e✓es✓sc✓c><d✓de✓el✓l>.  MicroEMACS has deleted three
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608. MicroEMACS Screen Editor Tutorial                         Page 30
  1609.  
  1610.  
  1611. words to the left.
  1612.  
  1613.      Arguments can  be used to  increase the power  of any _✓c_✓u_✓r_✓s_✓o_✓r
  1614. _✓m_✓o_✓v_✓e_✓m_✓e_✓n_✓t command,  or any _✓k_✓i_✓l_✓l  or _✓d_✓e_✓l_✓e_✓t_✓e command  (with the sole
  1615. exception of <c✓ct✓tr✓rl✓l-W✓W>, the _✓b_✓l_✓o_✓c_✓k _✓k_✓i_✓l_✓l command).
  1616.  
  1617.  
  1618.               D✓De✓el✓le✓et✓ti✓in✓ng✓g w✓wi✓it✓th✓h a✓ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s--a✓an✓n e✓ex✓xc✓ce✓ep✓pt✓ti✓io✓on✓n
  1619.  
  1620.      _✓K_✓i_✓l_✓l_✓i_✓n_✓g  and _✓d_✓e_✓l_✓e_✓t_✓i_✓n_✓g  were described in  the first  part of
  1621. this tutorial.   They were said  to differ in that  text that was
  1622. killed was stored in a special  area of the computer and could be
  1623. yanked back,  whereas text that was  deleted was erased outright.
  1624. However, there  is one exception  to this rule: any  text that is
  1625. deleted using an argument can also be yanked back.
  1626.  
  1627.      Move the cursor to  the upper left-hand corner of the screen
  1628. by  typing the  _✓b_✓e_✓g_✓i_✓n  _✓t_✓e_✓x_✓t command  <e✓es✓sc✓c><.   Then, type  <c✓ct✓tr✓rl✓l-
  1629. U✓U><c✓ct✓tr✓rl✓l-D✓D>.  Note  that the word F✓Fr✓ro✓om✓m  has disappeared.  Move the
  1630. cursor to  the right  until it is  between the words  D✓De✓ev✓vi✓il✓l's✓s and
  1631. D✓Di✓ic✓ct✓ti✓io✓on✓na✓ar✓ry✓y,  then type  <c✓ct✓tr✓rl✓l-Y✓Y>.  The word  F✓Fr✓ro✓om✓m has  been moved
  1632. within  the line  (although the  spaces around  it have  not been
  1633. moved).   This routine  is very handy,  and should  greatly speed
  1634. your editing.
  1635.  
  1636.      Remember, too,  that unless you move  the cursor between one
  1637. set of  deletions and another,  the computer's storage  area will
  1638. not be erased, and you may yank back a jumble of text.
  1639.  
  1640.  
  1641.                        A✓Ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s--e✓ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  1642.  
  1643.      The next  few exercises  show how  arguments can be  used to
  1644. make your  editing commands more powerful  and efficient.  Before
  1645. beginning, type <e✓es✓sc✓c>< to  move the cursor to the upper left-hand
  1646. corner of your screen.
  1647.  
  1648.      1✓1.  Lowercase the  word D✓De✓ev✓vi✓il✓l in  line 8.  Use  no more than
  1649. three commands.   (<ctrl-U> plus a  number and command  counts as
  1650. one command.)
  1651.  
  1652.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move the  cursor, type <c✓ct✓tr✓rl✓l-U✓U>7✓7<c✓ct✓tr✓rl✓l-N✓N>, then
  1653. <c✓ct✓tr✓rl✓l-U✓U>3✓3 <e✓es✓sc✓c>F✓F.  Then type <e✓es✓sc✓c>L✓L.
  1654.  
  1655.      2✓2.  Kill the last four lines  of the text.  Use no more than
  1656. two commands.
  1657.  
  1658.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To  move the  cursor, type  <c✓ct✓tr✓rl✓l-A✓A>.   Then type
  1659. <c✓ct✓tr✓rl✓l-U✓U><c✓ct✓tr✓rl✓l-K✓K>.
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665. MicroEMACS Screen Editor Tutorial                         Page 31
  1666.  
  1667.  
  1668.      3✓3.  Make two  copies of the killed lines at  the top of your
  1669. text.  Use no more than two commands.
  1670.  
  1671.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To  move  the  cursor,  type <e✓es✓sc✓c><.   Then  type
  1672. <c✓ct✓tr✓rl✓l-U✓U>2✓2<c✓ct✓tr✓rl✓l-Y✓Y>.
  1673.  
  1674.      4✓4.  Finally,  delete the  last 23  characters of  the second
  1675. line of text.  Use no more than four commands.
  1676.  
  1677.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move the cursor, type <e✓es✓sc✓c><, <c✓ct✓tr✓rl✓l-N✓N>, <c✓ct✓tr✓rl✓l-
  1678. E✓E>, and then <c✓ct✓tr✓rl✓l-U✓U>2✓23✓3<d✓de✓el✓l>.
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684. MicroEMACS Screen Editor Tutorial                         Page 32
  1685.  
  1686.  
  1687. 1✓12✓2.  B✓Bu✓uf✓ff✓fe✓er✓rs✓s a✓an✓nd✓d F✓Fi✓il✓le✓es✓s
  1688.  
  1689.      Before beginning  this section, replace the  mangled copy of
  1690. the text on your screen with a fresh copy.  Type the _✓q_✓u_✓i_✓t command
  1691. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C> to exit from MicroEMACS without saving the text;
  1692. once the MS-DOS prompt appears, return to MicroEMACS by typing:
  1693.  
  1694.         me text2
  1695.  
  1696. Now look  at the status  line at the  bottom of your  screen.  It
  1697. should appear as follows:
  1698.  
  1699.  
  1700. -- MicroEMACS -- text2 -- File: text2 ---------------------------
  1701.  
  1702.  
  1703. As noted  in the first  half of this  tutorial,  the name  on the
  1704. left of the command line is that of the program.  The name in the
  1705. middle is the name of the  _✓b_✓u_✓f_✓f_✓e_✓r with which you are now working,
  1706. and the name to the right  is the name of the _✓f_✓i_✓l_✓e from which you
  1707. read the text.
  1708.  
  1709.  
  1710.                            D✓De✓ef✓fi✓in✓ni✓it✓ti✓io✓on✓ns✓s
  1711.  
  1712.      A _✓f_✓i_✓l_✓e  is a text  that has been  given a name  and has been
  1713. permanently stored  in your computer.   A _✓b_✓u_✓f_✓f_✓e_✓r is  a portion of
  1714. the computer's  memory that  has been set  aside for you  to use,
  1715. that may  be given a name,  and into which you  can put text tem-
  1716. porarily.  You can put text into  the buffer by typing it in from
  1717. your keyboard or by _✓c_✓o_✓p_✓y_✓i_✓n_✓g it from a file.
  1718.  
  1719.      Unlike a file, a  buffer is not permanent:  if your computer
  1720. were to  stop working (because you turned the  power off, for ex-
  1721. ample),   a file  would not  be affected, but  a buffer  would be
  1722. erased.
  1723.  
  1724.      You must  _✓n_✓a_✓m_✓e your  files because  you work with  many dif-
  1725. ferent  files, and  you must  have some way  to tell  them apart.
  1726. Likewise, MicroEMACS allows you to _✓n_✓a_✓m_✓e your buffer, because with
  1727. MicroEMACS you can work with more than one buffer at a time.
  1728.  
  1729.  
  1730.                      F✓Fi✓il✓le✓e a✓an✓nd✓d b✓bu✓uf✓ff✓fe✓er✓r c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  1731.  
  1732.      MicroEMACS gives you a number of commands for handling files
  1733. and buffers.  The following display summarizes them.
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739. MicroEMACS Screen Editor Tutorial                         Page 33
  1740.  
  1741.  
  1742.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>   Write text to file
  1743.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>   Rename file
  1744.  
  1745.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>   Replace buffer with named file
  1746.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>   Switch buffer or create a new buffer
  1747.  
  1748.      <c✓ct✓tr✓rl✓l-X✓X>K✓K          Delete a buffer
  1749.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>   Display the status of each buffer
  1750.  
  1751.  
  1752.  
  1753.                     W✓Wr✓ri✓it✓te✓e a✓an✓nd✓d r✓re✓en✓na✓am✓me✓e c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  1754.  
  1755.      The  _✓w_✓r_✓i_✓t_✓e command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>  was reviewed  earlier,
  1756. when the commands for saving text and exiting were discussed.  To
  1757. review, <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W> changes  the name of the file into which
  1758. the text is  saved, and then writes a copy  of the text into that
  1759. file.
  1760.  
  1761.      Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>.  MicroEMACS responds by printing
  1762.  
  1763.      Write file:
  1764.  
  1765. on the last line of your screen.
  1766.  
  1767.      Type j✓ju✓un✓nk✓kf✓fi✓il✓le✓e,  then a carriage return.   Two things happen:
  1768. First, MicroEMACS writes the message
  1769.  
  1770.      [Wrote 11 lines]
  1771.  
  1772. at the bottom of your screen.  Second, the name of the file shown
  1773. on  the   status  line  has  changed   from  t✓te✓ex✓xt✓t2✓2  to  j✓ju✓un✓nk✓kf✓fi✓il✓le✓e.
  1774. MicroEMACS is reminding you that your text will be saved from now
  1775. on to  the file  j✓ju✓un✓nk✓kf✓fi✓il✓le✓e, unless you  change the file  name once
  1776. again.
  1777.  
  1778.      The _✓f_✓i_✓l_✓e  _✓r_✓e_✓n_✓a_✓m_✓e command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>  allows you rename
  1779. the  file to  which you  are  saving text,  _✓w_✓i_✓t_✓h_✓o_✓u_✓t automatically
  1780. writing the text  to it.  Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>.  MicroEMACS will
  1781. reply with the prompt:
  1782.  
  1783.      Name:
  1784.  
  1785. Now type t✓te✓ex✓xt✓t2✓2.  Note that MicroEMACS does _✓n_✓o_✓t send you a message
  1786. that lines  were written  to the file;  however, the name  of the
  1787. file shown  on the status line has changed  from j✓ju✓un✓nk✓kf✓fi✓il✓le✓e back to
  1788. t✓te✓ex✓xt✓t2✓2.  Until  you change the name of the  file again, every time
  1789. you save  the text from this  buffer, it will be  copied into the
  1790. file t✓te✓ex✓xt✓t2✓2.
  1791.  
  1792.  
  1793.                      R✓Re✓ep✓pl✓la✓ac✓ce✓e t✓te✓ex✓xt✓t i✓in✓n a✓a b✓bu✓uf✓ff✓fe✓er✓r
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799. MicroEMACS Screen Editor Tutorial                         Page 34
  1800.  
  1801.  
  1802.      The _✓r_✓e_✓p_✓l_✓a_✓c_✓e  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R> allows  you to replace
  1803. the text in your buffer with the text taken from file.
  1804.  
  1805.      Suppose, for  example, that you  had edited t✓te✓ex✓xt✓t2✓2  and saved
  1806. it,  and  now  wished   to  edit  t✓te✓ex✓xt✓t1✓1.   You  could  exit  from
  1807. MicroEMACS,  then re-invoke  MicroEMACS for  the file  t✓te✓ex✓xt✓t2✓2, but
  1808. this is  cumbersome.  A more  efficient way is  to simply replace
  1809. the t✓te✓ex✓xt✓t2✓2 in your buffer with t✓te✓ex✓xt✓t1✓1.
  1810.  
  1811.      Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>.  MicroEMACS replies with the prompt:
  1812.  
  1813.      Read file:
  1814.  
  1815. Type t✓te✓ex✓xt✓t1✓1.  Notice that  t✓te✓ex✓xt✓t2✓2 has rolled away and been replaced
  1816. with t✓te✓ex✓xt✓t1✓1.   Now, check the  status line.  Notice  that although
  1817. the name of  the _✓b_✓u_✓f_✓f_✓e_✓r is still t✓te✓ex✓xt✓t2✓2, the  name of the _✓f_✓i_✓l_✓e has
  1818. changed  to t✓te✓ex✓xt✓t1✓1.   You can  now edit t✓te✓ex✓xt✓t1✓1;  when you  save the
  1819. edited text,  MicroEMACS will copy it back  into the file t✓te✓ex✓xt✓t1✓1--
  1820. unless,  of course, you choose to rename the file.
  1821.  
  1822.  
  1823.                      V✓Vi✓is✓si✓it✓ti✓in✓ng✓g a✓an✓no✓ot✓th✓he✓er✓r b✓bu✓uf✓ff✓fe✓er✓r
  1824.  
  1825.      The  last command  of this  set,  the _✓v_✓i_✓s_✓i_✓t  command  <c✓ct✓tr✓rl✓l-
  1826. X✓X><c✓ct✓tr✓rl✓l-V✓V>, allows you to create  more than one buffer at a time,
  1827. to jump  from one buffer to another, and  move text between buff-
  1828. ers.  This powerful command has numerous features.
  1829.  
  1830.      Before  beginning,  however, straighten  up  your buffer  by
  1831. replacing  t✓te✓ex✓xt✓t1✓1 with  t✓te✓ex✓xt✓t2✓2.  Type  the _✓r_✓e_✓p_✓l_✓a_✓c_✓e  command  <c✓ct✓tr✓rl✓l-
  1832. X✓X><c✓ct✓tr✓rl✓l-R✓R>; when MicroEMACS replies by asking
  1833.  
  1834.      Read file:
  1835.  
  1836. at the bottom of your screen, type t✓te✓ex✓xt✓t2✓2.
  1837.  
  1838.      You  should now  have the  file t✓te✓ex✓xt✓t2✓2  read into  the buffer
  1839. named t✓te✓ex✓xt✓t2✓2.
  1840.  
  1841.      Now,  type the  _✓v_✓i_✓s_✓i_✓t command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>.  MicroEMACS
  1842. replies with the prompt
  1843.  
  1844.      Visit file:
  1845.  
  1846. at the  bottom of  the screen.   Now type t✓te✓ex✓xt✓t1✓1.   Several things
  1847. will now happen.  t✓te✓ex✓xt✓t2✓2 rolls off the screen and is replaced with
  1848. t✓te✓ex✓xt✓t1✓1; the status line changes  to show that both the buffer name
  1849. and the file name are now t✓te✓ex✓xt✓t1✓1; and the message
  1850.  
  1851.      [Read 16 lines]
  1852.  
  1853. appears at the bottom of the screen.
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859. MicroEMACS Screen Editor Tutorial                         Page 35
  1860.  
  1861.  
  1862.      This  does  _✓n_✓o_✓t  mean that  your  previous  buffer has  been
  1863. erased, as  it would have  been had you used  the _✓r_✓e_✓p_✓l_✓a_✓c_✓e command
  1864. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>.  t✓te✓ex✓xt✓t2✓2  is still being  kept alive in  a buffer
  1865. and is  available for editing; however, it is  not being shown on
  1866. your screen at the present moment.
  1867.  
  1868.      Type  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V> again, and  when the  prompt appears,
  1869. type t✓te✓ex✓xt✓t2✓2.   t✓te✓ex✓xt✓t1✓1 scrolls  off your  screen and is  replaced by
  1870. t✓te✓ex✓xt✓t2✓2, and the message
  1871.  
  1872.      [Old buffer]
  1873.  
  1874. appears at the bottom of  your screen.  You have just jumped from
  1875. one buffer to another.
  1876.  
  1877.  
  1878.                M✓Mo✓ov✓ve✓e t✓te✓ex✓xt✓t f✓fr✓ro✓om✓m o✓on✓ne✓e b✓bu✓uf✓ff✓fe✓er✓r t✓to✓o a✓an✓no✓ot✓th✓he✓er✓r
  1879.  
  1880.      The _✓v_✓i_✓s_✓i_✓t command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V> not only allows you jump
  1881. from one buffer to another:  it  allows you to _✓m_✓o_✓v_✓e _✓t_✓e_✓x_✓t from one
  1882. buffer to  another as well.  The following  example shows how you
  1883. can do this.
  1884.  
  1885.      First, kill the first line  of t✓te✓ex✓xt✓t2✓2 by typing the _✓k_✓i_✓l_✓l com-
  1886. mand <c✓ct✓tr✓rl✓l-K✓K> twice.  This removes  both the line of text _✓a_✓n_✓d the
  1887. space that it  occupied; if you did not remove  the space as well
  1888. the line  itself, no new line  will be created for  the text when
  1889. you yank it back.  Next, type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>; when the prompt
  1890.  
  1891.      Visit file:
  1892.  
  1893. appears at the bottom of your screen, type t✓te✓ex✓xt✓t1✓1.  When t✓te✓ex✓xt✓t1✓1 has
  1894. rolled onto  your screen, type  the _✓y_✓a_✓n_✓k _✓b_✓a_✓c_✓k  command  <c✓ct✓tr✓rl✓l-Y✓Y>.
  1895. The line you killed in t✓te✓ex✓xt✓t2✓2 has now been moved into t✓te✓ex✓xt✓t1✓1.
  1896.  
  1897.  
  1898.                       C✓Ch✓he✓ec✓ck✓ki✓in✓ng✓g b✓bu✓uf✓ff✓fe✓er✓r s✓st✓ta✓at✓tu✓us✓s
  1899.  
  1900.      The number of buffers you can use at any one time is limited
  1901. only by  the size  of your computer.   You should create  only as
  1902. many buffers  as you need to use immediately;  this will help the
  1903. computer run efficiently.
  1904.  
  1905.      To help  you keep track of your  buffers, MicroEMACS has the
  1906. _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>.   Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>.
  1907. Note that  the status line has  moved up to the  middle of the of
  1908. the screen, and the bottom  half of your screen has been replaced
  1909. with the following display:
  1910.  
  1911.      C   Size Buffer           File
  1912.      -   ---- ------           ----
  1913.      *    913 text1            text1
  1914.      *    423 text2            text2
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920. MicroEMACS Screen Editor Tutorial                         Page 36
  1921.  
  1922.  
  1923. This display is called the _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s _✓w_✓i_✓n_✓d_✓o_✓w.  The use of win-
  1924. dows will be discussed more fully in the following section.
  1925.  
  1926.      The letter  C✓C over the  leftmost column stands  for C✓Ch✓ha✓an✓ng✓ge✓ed✓d.
  1927. An asterisk on a line indicates that the buffer has been changed,
  1928. while a  space means that the buffer has  not been changed.  S✓Si✓iz✓ze✓e
  1929. indicates  the buffer's  size,  in number  of characters;  B✓Bu✓uf✓ff✓fe✓er✓r
  1930. lists the buffer name, and F✓Fi✓il✓le✓e lists the file name.
  1931.  
  1932.      Now, kill  the second line of t✓te✓ex✓xt✓t1✓1 by  typing the _✓k_✓i_✓l_✓l com-
  1933. mand  <c✓ct✓tr✓rl✓l-K✓K>, then type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B> once again.  Note that
  1934. size of  the buffer t✓te✓ex✓xt✓t1✓1 has been reduced  from 913 character to
  1935. 881, to reflect the decrease in the size of the buffer.
  1936.  
  1937.      To make this  display disappear, type the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command
  1938. <c✓ct✓tr✓rl✓l-X✓X>1✓1.  This  command will be  discussed in full  in the next
  1939. section.
  1940.  
  1941.  
  1942.                         R✓Re✓en✓na✓am✓mi✓in✓ng✓g a✓a b✓bu✓uf✓ff✓fe✓er✓r
  1943.  
  1944.      One more point must  be covered with the _✓v_✓i_✓s_✓i_✓t command.  MS-
  1945. DOS will not  allow you to have more than  one file with the same
  1946. name,  in  order   to  avoid  confusion;  for  the  same  reason,
  1947. MicroEMACS will  not allow you to have more  than one _✓b_✓u_✓f_✓f_✓e_✓r with
  1948. the same name.
  1949.  
  1950.      Ordinarily, when  you visit a file that is  not already in a
  1951. buffer, MicroEMACS will create a  new buffer and give it the same
  1952. name that  the file you  are visiting has.  However,  if for some
  1953. reason you already  have a buffer with the same  name as the file
  1954. you wish  to visit, MicroEMACS  will stop and  ask you to  give a
  1955. new, different name to the buffer it is creating.
  1956.  
  1957.      For example,  suppose that  you wanted  to visit a  new _✓f_✓i_✓l_✓e
  1958. called s✓sa✓am✓mp✓pl✓le✓e,  perhaps from  another directory, but  you already
  1959. had a  _✓b_✓u_✓f_✓f_✓e_✓r named s✓sa✓am✓mp✓pl✓le✓e.   MicroEMACS would stop  and give you
  1960. this prompt at the bottom of the screen:
  1961.  
  1962.      Buffer name:
  1963.  
  1964. When you named this  new buffer, MicroEMACS would proceed to read
  1965. t✓te✓ex✓xt✓t2✓2 into it.
  1966.  
  1967.  
  1968.                          D✓De✓el✓le✓et✓te✓e a✓a b✓bu✓uf✓ff✓fe✓er✓r
  1969.  
  1970.      If you wish to delete a buffer, simply type the _✓d_✓e_✓l_✓e_✓t_✓e _✓b_✓u_✓f_✓f-
  1971. _✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>K✓K.  This command will allow you only to delete
  1972. a buffer that is hidden, not one that is being displayed.
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978. MicroEMACS Screen Editor Tutorial                         Page 37
  1979.  
  1980.  
  1981.      Type <c✓ct✓tr✓rl✓l-X✓X>K✓K.  MicroEMACS will give you the prompt:
  1982.  
  1983.      Kill buffer:
  1984.  
  1985. Type  t✓te✓ex✓xt✓t2✓2.  Because  you  have changed  the buffer,  MicroEMACS
  1986. asks:
  1987.  
  1988.      Discard changes [y/n]?
  1989.  
  1990. Type y✓y, and then type the _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>;
  1991. the buffer  status window will  no longer show  the buffer t✓te✓ex✓xt✓t2✓2.
  1992. Note that  although the  prompt refers  to _✓k_✓i_✓l_✓l_✓i_✓n_✓g a  buffer, the
  1993. buffer is in fact _✓d_✓e_✓l_✓e_✓t_✓e_✓d and cannot be yanked back.
  1994.  
  1995.  
  1996.                              S✓Su✓um✓mm✓ma✓ar✓ry✓y
  1997.  
  1998.      These buffer  and file commands allow you  to edit more than
  1999. one text at once, and  move text between buffers and files.  Just
  2000. how useful  these commands  are will be  seen when you  cover the
  2001. next topic, _✓w_✓i_✓n_✓d_✓o_✓w_✓s.
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007. MicroEMACS Screen Editor Tutorial                         Page 38
  2008.  
  2009.  
  2010. 1✓13✓3.  W✓Wi✓in✓nd✓do✓ow✓ws✓s
  2011.  
  2012.      Before  beginning  this section,  it  will  be necessary  to
  2013. create a new text file.   Exit from MicroEMACS by typing the _✓q_✓u_✓i_✓t
  2014. command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>; then  reinvoke MicroEMACS for the text
  2015. file t✓te✓ex✓xt✓t1✓1 with the command:
  2016.  
  2017.         me text1
  2018.  
  2019. Now, copy t✓te✓ex✓xt✓t2✓2 into a  buffer by typing the v✓vi✓is✓si✓it✓t command <c✓ct✓tr✓rl✓l-
  2020. X✓X><c✓ct✓tr✓rl✓l-V✓V>.  When the message
  2021.  
  2022.         Visit file:
  2023.  
  2024. appears  at the  bottom of your  screen, type  t✓te✓ex✓xt✓t2✓2.  MicroEMACS
  2025. will read t✓te✓ex✓xt✓t2✓2 into a buffer, and show the message
  2026.  
  2027.         [Read 11 lines]
  2028.  
  2029. at the bottom of your screen.
  2030.  
  2031.      Finally, copy a new text, called t✓te✓ex✓xt✓t3✓3, into a buffer.  Type
  2032. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>  again.   When  MicroEMACS  asks which  file  to
  2033. visit, type t✓te✓ex✓xt✓t3✓3.  The message
  2034.  
  2035.         [Read 92 lines]
  2036.  
  2037. will appear at the bottom of your screen.
  2038.  
  2039.      The first screenful of text will appear as follows:
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045. MicroEMACS Screen Editor Tutorial                         Page 39
  2046.  
  2047.  
  2048.         From "Gulliver's Travels":
  2049.             I said there was a society of men among us,
  2050.         bred up from their youth in the art of proving
  2051.         by words multiplied for the purpose, that
  2052.         white is black, and black is white, according
  2053.         as they are paid.  To this society all the rest
  2054.         of the people are slaves.
  2055.             "For example.  If my neighbor hath a mind to my
  2056.         cow, he hires a lawyer to prove that he ought to
  2057.         have my cow from me.  I must then hire another to
  2058.         defend my right; it being against all rules of law
  2059.         that any man should be allowed to speak for himself.
  2060.         Now in this case, I who am the true owner lie under
  2061.         two great disadvantages.  First, my lawyer being
  2062.         practiced almost from his cradle in defending
  2063.         falsehood is quite out of his element when he would
  2064.         be an advocate for justice, which as an office
  2065.         unnatural, he always attempts with great awkwardness,
  2066.         if not ill-will.  The second disadvantage is that my
  2067.         lawyer must proceed with great caution, or else he
  2068.         will be reprimanded by the judges, and abhorred by
  2069.         his brethren, as one who would lessen the practice
  2070.         -- MicroEMACS -- text3 -- File: text3 -------------------
  2071.  
  2072.  
  2073.      At this point, t✓te✓ex✓xt✓t3✓3 is  on your screen, and t✓te✓ex✓xt✓t1✓1 and t✓te✓ex✓xt✓t2✓2
  2074. are hidden.
  2075.  
  2076.      You could edit first one text and then another, while remem-
  2077. bering just how things stood with the texts that were hidden; but
  2078. it would be  much easier if you could display  all three texts on
  2079. your  screen simultaneously.   MicroEMACS allows  you to  do just
  2080. that, by using _✓w_✓i_✓n_✓d_✓o_✓w_✓s.
  2081.  
  2082.  
  2083.                          W✓Wi✓in✓nd✓do✓ow✓w c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  2084.  
  2085.      A _✓w_✓i_✓n_✓d_✓o_✓w is  a portion of your screen that  is set aside and
  2086. can  be manipulated  independently from the  rest of  the screen.
  2087. MicroEMACS's commands for  manipulating windows are summarized in
  2088. the following display.
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094. MicroEMACS Screen Editor Tutorial                         Page 40
  2095.  
  2096.  
  2097.      <c✓ct✓tr✓rl✓l-X✓X>2✓2         Create a window
  2098.      <c✓ct✓tr✓rl✓l-X✓X>1✓1         Delete extra windows
  2099.  
  2100.      <c✓ct✓tr✓rl✓l-X✓X>N✓N         Move to next window
  2101.      <c✓ct✓tr✓rl✓l-X✓X>P✓P         Move to previous window
  2102.  
  2103.      <c✓ct✓tr✓rl✓l-X✓X>Z✓Z         Enlarge window
  2104.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>  Shrink window
  2105.  
  2106.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>  Scroll down
  2107.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>  Scroll up
  2108.  
  2109.      <e✓es✓sc✓c>!            Move within window
  2110.      <c✓ct✓tr✓rl✓l-X✓X>B✓B         Switch buffer
  2111.  
  2112.  
  2113.  
  2114.              C✓Cr✓re✓ea✓at✓ti✓in✓ng✓g w✓wi✓in✓nd✓do✓ow✓ws✓s a✓an✓nd✓d m✓mo✓ov✓vi✓in✓ng✓g b✓be✓et✓tw✓we✓ee✓en✓n t✓th✓he✓em✓m
  2115.  
  2116.      The best  way to grasp how  a window works is  to create one
  2117. and work with it.  Type the _✓c_✓r_✓e_✓a_✓t_✓e _✓a _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>2✓2.
  2118.  
  2119.      Your screen  is now divided  into two parts, an  upper and a
  2120. lower.  The same text is in each part, and the command lines give
  2121. t✓te✓ex✓xt✓t3✓3 for  the buffer and file names.  Also,  note that you still
  2122. have only  one cursor, which is in the  upper left-hand corner of
  2123. the screen.
  2124.  
  2125.      The next step is to move from one window to another.
  2126.  
  2127.      Type the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>N✓N.  Your cursor has now
  2128. jumped to the upper left-hand corner of the _✓l_✓o_✓w_✓e_✓r window.
  2129.  
  2130.      Type the _✓p_✓r_✓e_✓v_✓i_✓o_✓u_✓s _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>P✓P.  Your cursor has
  2131. returned to the upper left-hand corner of the top window.
  2132.  
  2133.      Now, type  <c✓ct✓tr✓rl✓l-X✓X>2✓2 again.  The  window on the  top of your
  2134. screen is now  divided into two windows, for a  total of three on
  2135. your screen.   Type <c✓ct✓tr✓rl✓l-X✓X>2✓2  again.  The  window at the  top of
  2136. your screen  has again divided  into two windows, for  a total of
  2137. four.
  2138.  
  2139.      It is possible to have as  many as 11 windows on your screen
  2140. at one time, although each window will show only the control line
  2141. and one  or two lines  of text.  Note that  neither <c✓ct✓tr✓rl✓l-X✓X>2✓2 nor
  2142. <c✓ct✓tr✓rl✓l-X✓X>1✓1 can be used with arguments.
  2143.  
  2144.      Now, type  the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command  <c✓ct✓tr✓rl✓l-X✓X>1✓1.  Note that all
  2145. extra windows have been eliminated, or _✓c_✓l_✓o_✓s_✓e_✓d.
  2146.  
  2147.  
  2148.                  E✓En✓nl✓la✓ar✓rg✓gi✓in✓ng✓g a✓an✓nd✓d s✓sh✓hr✓ri✓in✓nk✓ki✓in✓ng✓g w✓wi✓in✓nd✓do✓ow✓ws✓s
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154. MicroEMACS Screen Editor Tutorial                         Page 41
  2155.  
  2156.  
  2157.      When MicroEMACS  creates a window, it  divides the window in
  2158. which the  cursor is  positioned into half.   You do not  have to
  2159. leave the  windows at the size  MicroEMACS creates them, however.
  2160. If you wish,  you may adjust the relative size  of each window on
  2161. your screen, using the _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w and _✓s_✓h_✓r_✓i_✓n_✓k _✓w_✓i_✓n_✓d_✓o_✓w commands.
  2162.  
  2163.      Type <c✓ct✓tr✓rl✓l-X✓X>2✓2 twice.  Your screen is now divided into three
  2164. windows:  two  in the top half  of your screen, and  the third in
  2165. the bottom half.
  2166.  
  2167.      Now, type the  _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z.  The window
  2168. at the top of your screen  is now one line bigger, because it has
  2169. borrowed a line from  the window below it.  Type <c✓ct✓tr✓rl✓l-X✓X>Z✓Z again.
  2170. Once again,  the top window  has borrowed a line  from the middle
  2171. window.
  2172.  
  2173.      Now, type  the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command   <c✓ct✓tr✓rl✓l-X✓X>N✓N, to move your
  2174. cursor into  the middle window.   Again, type the  _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w
  2175. command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z.   The middle window  has borrowed a  line from
  2176. the bottom window, and is now one line larger.
  2177.  
  2178.      The _✓e_✓n_✓l_✓a_✓r_✓g_✓e  _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z allows  you to enlarge
  2179. the window your cursor is in by borrowing lines from another win-
  2180. dow, provided that you do _✓n_✓o_✓t shrink that other window out of ex-
  2181. istence.  Every  window must have  at least two lines  in it, one
  2182. command line and one line of text.
  2183.  
  2184.      The  _✓s_✓h_✓r_✓i_✓n_✓k _✓w_✓i_✓n_✓d_✓o_✓w command   <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z> allows  you to
  2185. decrease the size of a  window.  Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>.  The mid-
  2186. dle window is now one line  smaller, and the bottom window is one
  2187. line  larger,  because   the  line   borrowed  earlier  has  been
  2188. returned.
  2189.  
  2190.      The _✓e_✓n_✓l_✓a_✓r_✓g_✓e  _✓w_✓i_✓n_✓d_✓o_✓w and _✓s_✓h_✓r_✓i_✓n_✓k  _✓w_✓i_✓n_✓d_✓o_✓w commands can  also be
  2191. used with arguments  introduced with <c✓ct✓tr✓rl✓l-U✓U>.  However, remember
  2192. that MicroEMACS  will not accept   an argument that  would shrink
  2193. another window out of existence.
  2194.  
  2195.  
  2196.                  D✓Di✓is✓sp✓pl✓la✓ay✓yi✓in✓ng✓g t✓te✓ex✓xt✓t w✓wi✓it✓th✓hi✓in✓n a✓a w✓wi✓in✓nd✓do✓ow✓w
  2197.  
  2198.      Displaying  text within  the limited  area  of a  window can
  2199. present special problems.   The _✓v_✓i_✓e_✓w commands <c✓ct✓tr✓rl✓l-V✓V> and <e✓es✓sc✓c>V✓V
  2200. will roll  window-sized portions of text up or  down, but you may
  2201. become disoriented when a window shows only four or five lines of
  2202. text at a  time.  Therefore, three special commands are available
  2203. for displaying text within a window.
  2204.  
  2205.      Two commands  allow you to move  your text by one  line at a
  2206. time, or _✓s_✓c_✓r_✓o_✓l_✓l  it:  the _✓s_✓c_✓r_✓o_✓l_✓l _✓u_✓p command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>, and
  2207. the _✓s_✓c_✓r_✓o_✓l_✓l _✓d_✓o_✓w_✓n command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>.
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213. MicroEMACS Screen Editor Tutorial                         Page 42
  2214.  
  2215.  
  2216.      Type  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>.  Note  that the line  at the  top of
  2217. your window  has vanished, a new line has  appeared at the bottom
  2218. of your  window, and the cursor  is now at the  beginning of what
  2219. had been the second line of your window.
  2220.  
  2221.      Now  type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>.   The line at  the top  that had
  2222. vanished earlier has now returned, the cursor is at the beginning
  2223. of it,  and  the line at  the bottom of the  window has vanished.
  2224. These commands allow you to  move forward in your text slowly, so
  2225. that you do not become disoriented.
  2226.  
  2227.      Both of these commands can be used with arguments introduced
  2228. by <c✓ct✓tr✓rl✓l-U✓U>.
  2229.  
  2230.      The third special movement command is the _✓m_✓o_✓v_✓e _✓w_✓i_✓t_✓h_✓i_✓n _✓w_✓i_✓n_✓d_✓o_✓w
  2231. command <e✓es✓sc✓c>!.  This command moves the line your cursor is on to
  2232. the top of the window.
  2233.  
  2234.      To try this out, move  the cursor down three lines by typing
  2235. <c✓ct✓tr✓rl✓l-U✓U>3✓3<c✓ct✓tr✓rl✓l-N✓N>,  then type  <e✓es✓sc✓c>!.  (Be sure  to type  an ex-
  2236. clamation point '!', not a  numeral one '1', or nothing will hap-
  2237. pen.)   Note that  the line to which you had  moved the cursor is
  2238. now  the first  line  in the  window,  and three  new lines  have
  2239. scrolled up  from the bottom  of the window.  You  will find this
  2240. command to be very useful as you become more experienced at using
  2241. windows.
  2242.  
  2243.      All three  special movement commands  can also be  used when
  2244. your screen has no extra windows, although you will not need them
  2245. as much.
  2246.  
  2247.  
  2248.                             O✓On✓ne✓e b✓bu✓uf✓ff✓fe✓er✓r
  2249.  
  2250.      Now  that  you  have been  introduced  to  the commands  for
  2251. manipulating windows, you can begin  to use windows to speed your
  2252. editing.
  2253.  
  2254.      To begin  with, scroll  up the window  you are in  until you
  2255. reach  the top  line of  your text.   You can  do this  either by
  2256. typing the _✓s_✓c_✓r_✓o_✓l_✓l  _✓u_✓p command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P> several times, or
  2257. by typing <e✓es✓sc✓c><.
  2258.  
  2259.      Kill the first line  of text with the _✓k_✓i_✓l_✓l command <c✓ct✓tr✓rl✓l-K✓K>.
  2260. Note that the first line of text has vanished from all three win-
  2261. dows.  Now, type <c✓ct✓tr✓rl✓l-Y✓Y> to  yank back the text you just killed.
  2262. The line has reappeared in all three windows.
  2263.  
  2264.      The main  advantage to displaying one  buffer with more than
  2265. one window is that each window can display a different portion of
  2266. the text.  This can be quite helpful if you are editing or moving
  2267. a large text.
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273. MicroEMACS Screen Editor Tutorial                         Page 43
  2274.  
  2275.  
  2276.      To demonstrate this, kill the  last four lines at the end of
  2277. the text,  and move  them to the  beginning of the  text.  First,
  2278. move to the end of the  text in your present window by typing the
  2279. _✓e_✓n_✓d _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c>>.  Kill the last four lines.
  2280.  
  2281.      You could  move the  killed lines  to the beginning  of your
  2282. text by typing the  _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c><; however, it
  2283. is more convenient simply  to type the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-
  2284. X✓X>N✓N, which  will move you  to the beginning  of the text  as dis-
  2285. played in the next window.  Note that MicroEMACS remembers a dif-
  2286. fernt cursor position for each window.
  2287.  
  2288.      Now yank back the four killed lines by typing <c✓ct✓tr✓rl✓l-Y✓Y>.  You
  2289. can observe simultaneously  that the lines have been removed from
  2290. the end  of your text  and that they  have been  restored  at the
  2291. beginning.
  2292.  
  2293.  
  2294.                          M✓Mu✓ul✓lt✓ti✓ip✓pl✓le✓e b✓bu✓uf✓ff✓fe✓er✓rs✓s
  2295.  
  2296.      Windows are  especially helpful when they  display more than
  2297. one text.   Remember that at  present you are  working with _✓t_✓h_✓r_✓e_✓e
  2298. texts,  t✓te✓ex✓xt✓t1✓1, t✓te✓ex✓xt✓t2✓2,  and t✓te✓ex✓xt✓t3✓3,  although  your screen  is dis-
  2299. playing only t✓te✓ex✓xt✓t3✓3.  To display a different text in a window, use
  2300. the  _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2301.  
  2302.      Type <c✓ct✓tr✓rl✓l-X✓X>B✓B.  When MicroEMACS asks
  2303.  
  2304.      Use buffer:
  2305.  
  2306. at  the bottom  of  the screen,  type  t✓te✓ex✓xt✓t1✓1.  The  text in  your
  2307. present window  will be replaced with t✓te✓ex✓xt✓t1✓1.   Note that the com-
  2308. mand line  in that window  has changed, too, to  reflect the fact
  2309. that the buffer  and the file names are now t✓te✓ex✓xt✓t1✓1.
  2310.  
  2311.  
  2312.               M✓Mo✓ov✓vi✓in✓ng✓g a✓an✓nd✓d c✓co✓op✓py✓yi✓in✓ng✓g t✓te✓ex✓xt✓t a✓am✓mo✓on✓ng✓g b✓bu✓uf✓ff✓fe✓er✓rs✓s
  2313.  
  2314.      Copying text  among buffers is  now quite easy.   To see how
  2315. this is done, kill the first line of t✓te✓ex✓xt✓t1✓1 by typing the <c✓ct✓tr✓rl✓l-K✓K>
  2316. command twice.   Yank back the line  immediately by typing <c✓ct✓tr✓rl✓l-
  2317. Y✓Y>.  Remember,  the line you killed has _✓n_✓o_✓t  been erased from its
  2318. special storage area, and may be yanked back any number of times.
  2319.  
  2320.      Now, move  to the previous window  by typing <c✓ct✓tr✓rl✓l-X✓X>P✓P, then
  2321. yank  back the  killed line by  typing <c✓ct✓tr✓rl✓l-Y✓Y>.   This technique
  2322. allows you to _✓c_✓o_✓p_✓y text from  one window to another as well as to
  2323. _✓m_✓o_✓v_✓e it within a window.
  2324.  
  2325.  
  2326.                       C✓Ch✓he✓ec✓ck✓ki✓in✓ng✓g b✓bu✓uf✓ff✓fe✓er✓r s✓st✓ta✓at✓tu✓us✓s
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332. MicroEMACS Screen Editor Tutorial                         Page 44
  2333.  
  2334.  
  2335.      The _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s  _✓c_✓o_✓m_✓m_✓a_✓n_✓d <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B> can be used when
  2336. you are already displaying more than one window on your screen.
  2337.  
  2338.      When you want to remove the buffer status window, use either
  2339. the _✓o_✓n_✓e  _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1,  or move your  cursor into the
  2340. buffer status window  using the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>N✓N and
  2341. replace it  with another buffer by typing  the _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r com-
  2342. mand <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2343.  
  2344.  
  2345.                      S✓Sa✓av✓vi✓in✓ng✓g t✓te✓ex✓xt✓t f✓fr✓ro✓om✓m w✓wi✓in✓nd✓do✓ow✓ws✓s
  2346.  
  2347.      The final  step is  to save the  text from your  windows and
  2348. buffers.  Close the lower two windows with the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command
  2349. <c✓ct✓tr✓rl✓l-X✓X>1✓1.  Remember,  when you close a window,  the text that it
  2350. displayed  is still  kept in  a buffer that  is _✓h_✓i_✓d_✓d_✓e_✓n  from your
  2351. screen.
  2352.  
  2353.      When you  use the  _✓s_✓a_✓v_✓e command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>,   only the
  2354. text in the window in which  the cursor is position will be writ-
  2355. ten to its file.  If only  one window is displayed on the screen,
  2356. the _✓s_✓a_✓v_✓e command will save only its text.
  2357.  
  2358.  
  2359.                             E✓Ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  2360.  
  2361.      The following exercises will help you master the use of win-
  2362. dows  and buffers.   Before you  begin,  exit from  MicroEMACS by
  2363. typing the _✓q_✓u_✓i_✓t command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  2364.  
  2365.      1✓1.  Invoke  MicroEMACS to  edit t✓te✓ex✓xt✓t1✓1.   Display t✓te✓ex✓xt✓t2✓2  in a
  2366. separate window.   Copy the first  four lines of  t✓te✓ex✓xt✓t1✓1 to t✓te✓ex✓xt✓t2✓2.
  2367. Destroy t✓te✓ex✓xt✓t1✓1's buffer.   Exit from MicroEMACS without saving the
  2368. text.
  2369.  
  2370.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To invoke MicroEMACS for t✓te✓ex✓xt✓t1✓1 type:
  2371.  
  2372.      me text1
  2373.  
  2374. Before t✓te✓ex✓xt✓t2✓2  can be displayed  on a separate window,  it must be
  2375. copied into  a buffer; type the   _✓v_✓i_✓s_✓i_✓t command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>.
  2376. When MicroEMACS asks
  2377.  
  2378.      Visit file:
  2379.  
  2380. type t✓te✓ex✓xt✓t2✓2.
  2381.  
  2382.      When t✓te✓ex✓xt✓t2✓2 has been copied into its buffer, type  the _✓c_✓r_✓e_✓a_✓t_✓e
  2383. _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>2✓2, and read t✓te✓ex✓xt✓t1✓1 into the window with the
  2384. _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390.  
  2391. MicroEMACS Screen Editor Tutorial                         Page 45
  2392.  
  2393.  
  2394.      To copy  the top four lines from t✓te✓ex✓xt✓t1✓1  to t✓te✓ex✓xt✓t2✓2, first kill
  2395. the  first four  lines by typing  <c✓ct✓tr✓rl✓l-U✓U>4✓4 <c✓ct✓tr✓rl✓l-K✓K>.   Then yank
  2396. them back immediately by typing <c✓ct✓tr✓rl✓l-Y✓Y>; jump  to t✓te✓ex✓xt✓t2✓2's window
  2397. by  typing the  _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command  <c✓ct✓tr✓rl✓l-X✓X>N✓N, and  finally yank
  2398. back the four killed lines again by typing <c✓ct✓tr✓rl✓l-Y✓Y>.
  2399.  
  2400.      To destroy  the buffer holding  the copy of  t✓te✓ex✓xt✓t1✓1, type the
  2401. _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1, then type the _✓d_✓e_✓l_✓e_✓t_✓e _✓b_✓u_✓f_✓f_✓e_✓r command
  2402. <c✓ct✓tr✓rl✓l-X✓X>K✓K.  When MicroEMACS asks
  2403.  
  2404.      Kill buffer:
  2405.  
  2406. type t✓te✓ex✓xt✓t1✓1.  When MicroEMACS asks
  2407.  
  2408.      Discard changes [y/n]?
  2409.  
  2410. type y✓y.
  2411.  
  2412.      Finally, to exit  without saving text, type the _✓q_✓u_✓i_✓t command
  2413. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  2414.  
  2415.      2✓2.  Display t✓te✓ex✓xt✓t1✓1,  t✓te✓ex✓xt✓t2✓2, and t✓te✓ex✓xt✓t3✓3 in  three equally sized
  2416. windows.  Scroll through each  text in turn.  Check the status of
  2417. the buffers to see if any were altered, then exit from MicroEMACS
  2418. without saving the texts.
  2419.  
  2420.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Invoke MicroEMACS to edit t✓te✓ex✓xt✓t1✓1 by typing
  2421.  
  2422.      me text1
  2423.  
  2424. and then  copy t✓te✓ex✓xt✓t2✓2  and t✓te✓ex✓xt✓t3✓3 into  buffers by using  the _✓v_✓i_✓s_✓i_✓t
  2425. command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V> twice.
  2426.  
  2427.      Create three  windows on your screen by  typing the _✓c_✓r_✓e_✓a_✓t_✓e _✓a
  2428. _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>2✓2 twice.
  2429.  
  2430.      Move  among the  windows by  using  the _✓n_✓e_✓x_✓t  _✓w_✓i_✓n_✓d_✓o_✓w command
  2431. <c✓ct✓tr✓rl✓l-X✓X>N✓N and  the _✓p_✓r_✓e_✓v_✓i_✓o_✓u_✓s  _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>P✓P;  then make
  2432. sure the  windows are  of even size  by using the  _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w
  2433. command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z  and the _✓s_✓h_✓r_✓i_✓n_✓k  _✓w_✓i_✓n_✓d_✓o_✓w command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-
  2434. Z✓Z>.
  2435.  
  2436.      Read t✓te✓ex✓xt✓t1✓1  and t✓te✓ex✓xt✓t2✓2 into  your extra windows  by using the
  2437. _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2438.  
  2439.      To  scroll through  the texts, use  the _✓s_✓c_✓r_✓o_✓l_✓l  _✓d_✓o_✓w_✓n command
  2440. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N> and the _✓s_✓c_✓r_✓o_✓l_✓l _✓u_✓p command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>.
  2441.  
  2442.      When you are  done scrolling, check the buffers' status with
  2443. the  _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>.   Close  the buffer
  2444. status window by typing the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1.
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450. MicroEMACS Screen Editor Tutorial                         Page 46
  2451.  
  2452.  
  2453.      Exit  from  MicroEMACS by  typing  the  _✓q_✓u_✓i_✓t command  <c✓ct✓tr✓rl✓l-
  2454. X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460. MicroEMACS Screen Editor Tutorial                         Page 47
  2461.  
  2462.  
  2463. 1✓14✓4.  K✓Ke✓ey✓yb✓bo✓oa✓ar✓rd✓d M✓Ma✓ac✓cr✓ro✓os✓s
  2464.  
  2465.      Another helpful feature  of MicroEMACS is that it allows you
  2466. to create a _✓k_✓e_✓y_✓b_✓o_✓a_✓r_✓d _✓m_✓a_✓c_✓r_✓o.
  2467.  
  2468.      Before beginning  this section, reinvoke  MicroEMACS to edit
  2469. t✓te✓ex✓xt✓t3✓3 by typing the command
  2470.  
  2471.         me text3
  2472.  
  2473.  
  2474.      The term _✓m_✓a_✓c_✓r_✓o means a number of commands or characters that
  2475. are bundled  together.  Although MicroEMACS allows  you to create
  2476. only one macro at a time, this macro can consist of the most com-
  2477. mon _✓p_✓h_✓r_✓a_✓s_✓e or the most common  _✓c_✓o_✓m_✓m_✓a_✓n_✓d or _✓s_✓e_✓r_✓i_✓e_✓s _✓o_✓f _✓c_✓o_✓m_✓m_✓a_✓n_✓d_✓s that
  2478. you use while editing your file.
  2479.  
  2480.  
  2481.                      K✓Ke✓ey✓yb✓bo✓oa✓ar✓rd✓d m✓ma✓ac✓cr✓ro✓o c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  2482.  
  2483.      The keyboard macro commands are as follows:
  2484.  
  2485.      <c✓ct✓tr✓rl✓l-X✓X>(  Begin macro collection
  2486.      <c✓ct✓tr✓rl✓l-X✓X>)  End macro collection
  2487.      <c✓ct✓tr✓rl✓l-X✓X>E✓E  Execute macro
  2488.  
  2489. To begin  to create a macro, type the  _✓b_✓e_✓g_✓i_✓n _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-
  2490. X✓X>(.  Be sure to type an open parenthesis '(', not a numeral '9'.
  2491. MicroEMACS will reply with the message
  2492.  
  2493.      [Start macro]
  2494.  
  2495. Type the following phrase:
  2496.  
  2497.       interactive screen editor
  2498.  
  2499. Then type  the _✓e_✓n_✓d _✓m_✓a_✓c_✓r_✓o  command <c✓ct✓tr✓rl✓l-X✓X>).  Be sure  you type a
  2500. close parenthesis ')',  not a numeral '0'.  MicroEMACS will reply
  2501. with the message
  2502.  
  2503.      [End macro]
  2504.  
  2505. Move your  cursor down two lines and execute  the macro by typing
  2506. the _✓e_✓x_✓e_✓c_✓u_✓t_✓e  _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-X✓X>E✓E.  The  phrase you typed into
  2507. the macro has been inserted into your text.
  2508.  
  2509.  
  2510.                         R✓Re✓ep✓pl✓la✓ac✓ci✓in✓ng✓g a✓a m✓ma✓ac✓cr✓ro✓o
  2511.  
  2512.      To  replace this  macro with  another,  go through  the same
  2513. process.   Type <c✓ct✓tr✓rl✓l-X✓X>(.  Then type  the _✓b_✓u_✓f_✓f_✓e_✓r  _✓s_✓t_✓a_✓t_✓u_✓s command
  2514. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>, and  type <c✓ct✓tr✓rl✓l-X✓X>).  Remove  the buffer status
  2515. window by typing the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1.
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521. MicroEMACS Screen Editor Tutorial                         Page 48
  2522.  
  2523.  
  2524.      Now execute your  keyboard macro by typing the e✓ex✓xe✓ec✓cu✓ut✓te✓e m✓ma✓ac✓cr✓ro✓o
  2525. command <c✓ct✓tr✓rl✓l-X✓X>E✓E.   The _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s command  has executed once
  2526. more.
  2527.  
  2528.      Note that  whenever you exit from  MicroEMACS, your keyboard
  2529. macro is erased, and must be retyped when you return.
  2530.  
  2531.  
  2532.                         S✓Se✓ea✓ar✓rc✓ch✓h a✓an✓nd✓d r✓re✓ep✓pl✓la✓ac✓ce✓e
  2533.  
  2534.      You can  create a _✓s_✓e_✓a_✓r_✓c_✓h  _✓a_✓n_✓d _✓r_✓e_✓p_✓l_✓a_✓c_✓e routine  by bundling a
  2535. number of commands together under a keyboard macro.
  2536.  
  2537.      Suppose, for  example, that you  wished to replace  the word
  2538. l✓la✓aw✓wy✓ye✓er✓r throughout  t✓te✓ex✓xt✓t3✓3 with the  word d✓do✓oc✓ct✓to✓or✓r.  First,  type the
  2539. _✓b_✓e_✓g_✓i_✓n  _✓m_✓a_✓c_✓r_✓o  command   <c✓ct✓tr✓rl✓l-X✓X>(.   Then,  type  <c✓ct✓tr✓rl✓l-S✓S>;  when
  2540. MicroEMACS gives you the prompt
  2541.  
  2542.      Search:
  2543.  
  2544. type l✓la✓aw✓wy✓ye✓er✓r.   This command will execute, and  move the cursor to
  2545. the  space immediately  after the  first  occurrence of  the word
  2546. l✓la✓aw✓wy✓ye✓er✓r.
  2547.  
  2548.      Use the  <d✓de✓el✓l> key to erase the word  l✓la✓aw✓wy✓ye✓er✓r.  Type the word
  2549. d✓do✓oc✓ct✓to✓or✓r in its place.
  2550.  
  2551.      Now that the search and replace routine is set, type the _✓e_✓n_✓d
  2552. _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-X✓X>).   To execute the macro, first install an
  2553. argument by  typing <c✓ct✓tr✓rl✓l-U✓U> three  times; then type  the _✓e_✓x_✓e_✓c_✓u_✓t_✓e
  2554. _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-X✓X>E✓E.  Although the word l✓la✓aw✓wy✓ye✓er✓r does not occur
  2555. 64 times  in this text, you must make  your argument large enough
  2556. so that your search  and replace macro will find every occurrence
  2557. of the word you want to change.
  2558.  
  2559.      MicroEMACS  will  search  through  your  file for  the  word
  2560. l✓la✓aw✓wy✓ye✓er✓r, and  replace it with d✓do✓oc✓ct✓to✓or✓r.  The  cursor will stop after
  2561. the last occurrence of l✓la✓aw✓wy✓ye✓er✓r, and the message
  2562.  
  2563.      Not found
  2564.  
  2565. will appear  at the  bottom of  your screen.  This  message means
  2566. that although  MicroEMACS continued to search  for l✓la✓aw✓wy✓ye✓er✓r through
  2567. the end of your file, it could not find it again.
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573. MicroEMACS Screen Editor Tutorial                         Page 49
  2574.  
  2575.  
  2576. 1✓15✓5.  S✓Se✓en✓nd✓di✓in✓ng✓g C✓Co✓om✓mm✓ma✓an✓nd✓ds✓s t✓to✓o M✓MS✓S-D✓DO✓OS✓S
  2577.  
  2578.  
  2579.      The last   command you need to learn   is the _✓p_✓r_✓o_✓g_✓r_✓a_✓m _✓i_✓n_✓t_✓e_✓r-
  2580. _✓r_✓u_✓p_✓t command <c✓ct✓tr✓rl✓l-X✓X>!.  T✓Th✓hi✓is✓s c✓co✓om✓mm✓ma✓an✓nd✓d
  2581.  
  2582. a✓al✓ll✓lo✓ow✓ws✓s y✓yo✓ou✓u t✓to✓o i✓in✓nt✓te✓er✓rr✓ru✓up✓pt✓t  y✓yo✓ou✓ur✓r e✓ed✓di✓it✓ti✓in✓ng✓g, g✓gi✓iv✓ve✓e a✓a c✓co✓om✓mm✓ma✓an✓nd✓d d✓di✓ir✓re✓ec✓ct✓tl✓ly✓y t✓to✓o
  2583. M✓MS✓S-D✓DO✓OS✓S, a✓an✓nd✓d  t✓th✓he✓en✓n r✓re✓es✓su✓um✓me✓e e✓ed✓di✓it✓ti✓in✓ng✓g  w✓wi✓it✓th✓ho✓ou✓ut✓t a✓af✓ff✓fe✓ec✓ct✓ti✓in✓ng✓g y✓yo✓ou✓ur✓r  t✓te✓ex✓xt✓t i✓in✓n
  2584. a✓an✓ny✓y w✓wa✓ay✓y.
  2585.  
  2586.      The command <c✓ct✓tr✓rl✓l-X✓X>! allows  you to send _✓o_✓n_✓e command to the
  2587. operating system.   To see how this  command works, type <c✓ct✓tr✓rl✓l>!.
  2588. Note that the prompt M✓MS✓S-D✓DO✓OS✓S c✓co✓om✓mm✓ma✓an✓nd✓d:
  2589.  
  2590. has appeared  at the bottom  of your screen.   Type d✓di✓ir✓r.  Observe
  2591. that  the  directory's  table  of  contents scrolls  across  your
  2592. screen.   To  return  to your  editing,  simply  type a  carriage
  2593. return.   The  _✓i_✓n_✓t_✓e_✓r_✓r_✓u_✓p_✓t command  <c✓ct✓tr✓rl✓l-C✓C>  suspends editing  in-
  2594. definitely, and  allows you to  send an unlimited  number of com-
  2595. mands to the operating system.
  2596.  
  2597.      If you were to type <c✓ct✓tr✓rl✓l-C✓C>, MS-DOS would reply by  seeking
  2598. the file c✓co✓om✓mm✓ma✓an✓nd✓d.c✓co✓om✓m in your root directory.
  2599.  
  2600.      Once you  know this information and  wish to experiment with
  2601. the _✓i_✓n_✓t_✓e_✓r_✓r_✓u_✓p_✓t command, type <c✓ct✓tr✓rl✓l-C✓C>.  W✓Wh✓he✓en✓n t✓th✓he✓e M✓MS✓S-D✓DO✓OS✓S p✓pr✓ro✓om✓mp✓pt✓t a✓ap✓p-
  2602. p✓pe✓ea✓ar✓rs✓s, t✓ty✓yp✓pe✓e  t✓ti✓im✓me✓e.  MS-DOS will  print the time and  day, and ask
  2603. you if  you want to change  them.  If you do  not, exit from this
  2604. routine by  simply typing a carriage return,  then return to your
  2605. MicroEMACS program by typing e✓ex✓xi✓it✓t.
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611. MicroEMACS Screen Editor Tutorial                         Page 50
  2612.  
  2613.  
  2614. 16. Advanced Editing--Conclusion and Summary
  2615.  
  2616.         This concludes the tutorial for the MicroEMACS interactive
  2617. screen editor. Congratulations on your diligence in working
  2618. through it! MicroEMACS and its related EMACS -based screen 
  2619. editors are now at your command, and you have acquired a skill
  2620. that will serve you well for the rest of your life.
  2621.  
  2622.         This section introduced the advanced editing techniques
  2623. available with MicroEMACS.
  2624.  
  2625.         Arguments can be used with most cursor movement commands and
  2626. all text deletion commands to set the number of times they ex-
  2627. ecute. The command <ctrl-U> introduces arguments. The default
  2628. for <ctrl-U> is 4, with each subsequent entry of <ctrl-U> mul-
  2629. tiplying the argument by 4. The value of an argument can be
  2630. changed by typing <ctrl-U>, followed by an integer.
  2631.  
  2632.         Text is edited in a buffer, and is copied into a file when
  2633. the user issues the save commands <ctrl-X><ctrl-S> or the write
  2634. command <ctrl-X><ctrl-W>. <ctrl-X> <ctrl-F> will rename the file;
  2635. and <ctrl-X> <ctrl-W> renames the file and automatically copies 
  2636. text to it.
  2637.  
  2638.         MicroEMACS can handle more than one buffer at a time
  2639. <ctrl-X><ctrl-V> moves you from one buffer to another, and allows
  2640. you to create a buffer should the buffer you requested not al-
  2641. ready exist.
  2642.  
  2643.         <ctrl-X><ctrl-R> replaces the text in a buffer with the text
  2644. drawn from a specified file. <ctrl-X>K deletes a buffer.
  2645.  
  2646.         <ctrl-X><ctrl-B> displays information on the status of each
  2647. buffer.
  2648.  
  2649.         The screen can be divided into windows, which can display
  2650. the same buffer or different buffers. <ctrl-X>2 creates a
  2651. window by dividing the present window in half, whereas the com-
  2652. mand <ctrl-X>1 erases all extra windows.
  2653.  
  2654.         <ctrl_X>Z and <ctrl-X><ctrl-Z> enlarge and shrink windows,
  2655. respectively. <ctrl-X>N moves the cursor to the next, or lower,
  2656. window, whereas <ctrl-X>P moves the cursor to the previous win-
  2657. dow.
  2658.  
  2659.         <ctrl-X><ctrl-N>, <ctrl-X><ctrl-P>, and <esc>! respectively
  2660. scroll the window up, scroll it down, and move the line on which
  2661. the cursor rests to the top of the window. <ctrl-X>B displays a
  2662. different buffer within a window.
  2663.  
  2664.         MicroEMACS allows you to create a keyboard macro that ex-
  2665. ecutes a set of commands or inserts text. <ctrl-X>( opens the
  2666. macro, <ctrl-X>) closes it, and <ctrl-X>E executes it.
  2667.  
  2668.  
  2669.  
  2670.  
  2671. MicroEMACS Screen Editor Tutorial                         Page 51
  2672.  
  2673.  
  2674.         <ctrl-C> interrupts the operation of MicroEMACS, so that the
  2675. user can send commands directly to the COHERENT system. You can
  2676. resume working with MicroEMACS by typing <ctrl-D>.
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682. MicroEMACS Screen Editor Tutorial                         Page 52
  2683.  
  2684.  
  2685. 1✓17✓7.  S✓Su✓um✓mm✓ma✓ar✓ry✓y o✓of✓f C✓Co✓om✓mm✓ma✓an✓nd✓ds✓s
  2686.  
  2687. <c✓ct✓tr✓rl✓l-@>    Set mark at current position.
  2688.  
  2689. <c✓ct✓tr✓rl✓l-A✓A>    Move to start of line.
  2690.  
  2691. <c✓ct✓tr✓rl✓l-B✓B>    (B✓Back) Move backward by characters.
  2692.  
  2693. <c✓ct✓tr✓rl✓l-C✓C>    Suspend MicroEMACS and move temporarily to MS-DOS.
  2694.  
  2695. <c✓ct✓tr✓rl✓l-D✓D>    (D✓Delete) Delete next character.
  2696.  
  2697. <c✓ct✓tr✓rl✓l-E✓E>    (E✓End) Move to end of line.
  2698.  
  2699. <c✓ct✓tr✓rl✓l-F✓F>    (F✓Forward) Move forward by characters.
  2700.  
  2701. <c✓ct✓tr✓rl✓l-G✓G>    Abort from a command.
  2702.  
  2703. <c✓ct✓tr✓rl✓l-K✓K>    (K✓Kill) With  no argument, kill  from current position
  2704.             to  end of  line; if  at the  end, kill  the newline.
  2705.             With argument 0,  kill from beginning of line to cur-
  2706.             rent position.   Otherwise, kill _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t  lines for-
  2707.             ward (if positive) or backward (if negative).
  2708.  
  2709. <c✓ct✓tr✓rl✓l-L✓L>    Redraw the screen.
  2710.  
  2711. <c✓ct✓tr✓rl✓l-N✓N>    (N✓Next) Move to next line.
  2712.  
  2713. <c✓ct✓tr✓rl✓l-P✓P>    (P✓Previous) Move to previous line.
  2714.  
  2715. <c✓ct✓tr✓rl✓l-R✓R>    (R✓Reverse) Prompt  for search string  and search back-
  2716.             ward.
  2717.  
  2718. <c✓ct✓tr✓rl✓l-S✓S>    (S✓Search)   Prompt for search  string and  search for-
  2719.             ward.
  2720.  
  2721. <c✓ct✓tr✓rl✓l-T✓T>    (T✓Transpose) Transpose the characters before and after
  2722.             the current position.
  2723.  
  2724. <c✓ct✓tr✓rl✓l-U✓U>    Specify an argument, as described above.
  2725.  
  2726. <c✓ct✓tr✓rl✓l-V✓V>    Move forward by pages.
  2727.  
  2728. <c✓ct✓tr✓rl✓l-W✓W>    Kill text from current position to mark.
  2729.  
  2730. <c✓ct✓tr✓rl✓l-X✓X>(   Begin a macro definition.  MicroEMACS collects every-
  2731.             thing typed until  the end of the definition for sub-
  2732.             sequent repeated execution.
  2733.  
  2734. <c✓ct✓tr✓rl✓l-X✓X>)   End a macro definition.
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740. MicroEMACS Screen Editor Tutorial                         Page 53
  2741.  
  2742.  
  2743.  
  2744. <c✓ct✓tr✓rl✓l-X✓X>1✓1   Display only the current window.
  2745.  
  2746. <c✓ct✓tr✓rl✓l-X✓X>2✓2   Split the current  window; usually followed by <c✓ct✓tr✓rl✓l-
  2747.             X✓X>B✓B or <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>.
  2748.  
  2749. <c✓ct✓tr✓rl✓l-X✓X>B✓B   (B✓Buffer)  Prompt for  a buffer  name and  display the
  2750.             buffer in the current window.
  2751.  
  2752. <c✓ct✓tr✓rl✓l-X✓X>E✓E   (E✓Execute) Execute macro.
  2753.  
  2754. <c✓ct✓tr✓rl✓l-X✓X>K✓K   (K✓Kill) Prompt for a buffer name and delete it.
  2755.  
  2756. <c✓ct✓tr✓rl✓l-X✓X>N✓N   (N✓Next) Move to next window.
  2757.  
  2758. <c✓ct✓tr✓rl✓l-X✓X>P✓P   (P✓Previous) Move to previous window.
  2759.  
  2760. <c✓ct✓tr✓rl✓l-X✓X>Z✓Z   Enlarge the current window by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2761.  
  2762. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>
  2763.             Create a window that shows the size, buffer name, and
  2764.             file name  for each buffer, and  also shows whether a
  2765.             buffer has been changed.  IP <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>
  2766.             Prompt, and exit unconditionally if 'Y' given.
  2767.  
  2768. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>
  2769.             (F✓File name) Prompt  for a file name for current buff-
  2770.             er.
  2771.  
  2772. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>
  2773.             Move current window down by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2774.  
  2775. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>
  2776.             Move current window up by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2777.  
  2778. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>
  2779.             (R✓Read) Prompt for a file name, delete current buffer,
  2780.             and read the file.
  2781.  
  2782. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>
  2783.             (S✓Save) Save current buffer to the associated file.
  2784.  
  2785. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>
  2786.             (V✓Visit) Prompt  for a file name  and display the file
  2787.             in the current window.
  2788.  
  2789. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>
  2790.             (W✓Write) Prompt for  a file name and write the current
  2791.             buffer to it.
  2792.  
  2793. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>
  2794.             Shrink current window by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800. MicroEMACS Screen Editor Tutorial                         Page 54
  2801.  
  2802.  
  2803.  
  2804. <c✓ct✓tr✓rl✓l-Y✓Y>    (Y✓Yank) Copy the  kill buffer into text at the current
  2805.             position; set current  position to the end of the new
  2806.             text.
  2807.  
  2808. <c✓ct✓tr✓rl✓l-Z✓Z>    Save current buffer to associated file and exit.
  2809.  
  2810. <D✓De✓el✓l>       If  no  argument,   delete  the  previous  character.
  2811.             Otherwise, kill _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t previous characters.
  2812.  
  2813. <e✓es✓sc✓c>!      Move current  line to a position  in the window given
  2814.             by _✓A_✓r_✓g_✓u_✓m_✓e_✓n_✓t; the position is in lines from the top if
  2815.             positive, in  lines from the bottom  if negative, and
  2816.             the center of the window if 0.
  2817.  
  2818. <e✓es✓sc✓c>>      Move to end of buffer.
  2819.  
  2820. <e✓es✓sc✓c><      Move to beginning of buffer.
  2821.  
  2822. <e✓es✓sc✓c>B✓B      (B✓Back) Move backward by words.
  2823.  
  2824. <e✓es✓sc✓c>C✓C      (C✓Capitalize) Capitalize the next word.
  2825.  
  2826. <e✓es✓sc✓c>D✓D      (D✓Delete) Kill the next word.
  2827.  
  2828. <e✓es✓sc✓c><D✓De✓el✓l>  Kill the previous word.
  2829.  
  2830. <e✓es✓sc✓c>F✓F      (F✓Forward) Move forward by words.
  2831.  
  2832. <e✓es✓sc✓c>L✓L      (L✓Lower) Convert the next word to lower case.
  2833.  
  2834. <e✓es✓sc✓c>U✓U      (U✓Upper) Convert the next word to upper case.
  2835.  
  2836. <e✓es✓sc✓c>V✓V      Move backward by pages.
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842. MicroEMACS Screen Editor Tutorial                         Page 55
  2843.  
  2844.  
  2845.                               I✓In✓nd✓de✓ex✓x
  2846.  
  2847.         <c✓ct✓tr✓rl✓l-@>: 17
  2848.         <c✓ct✓tr✓rl✓l-A✓A>: 7
  2849.         <c✓ct✓tr✓rl✓l-B✓B>: 7
  2850.         <c✓ct✓tr✓rl✓l-C✓C>: 49
  2851.         <c✓ct✓tr✓rl✓l-D✓D>: 12, 49
  2852.         <c✓ct✓tr✓rl✓l-E✓E>: 8
  2853.         <c✓ct✓tr✓rl✓l-F✓F>: 8
  2854.         <c✓ct✓tr✓rl✓l-G✓G>: 22
  2855.         <c✓ct✓tr✓rl✓l-H✓H>: 13
  2856.         <c✓ct✓tr✓rl✓l-L✓L>: 20
  2857.         <c✓ct✓tr✓rl✓l-N✓N>: 8
  2858.         <c✓ct✓tr✓rl✓l-P✓P>: 8
  2859.         <c✓ct✓tr✓rl✓l-R✓R>: 21
  2860.         <c✓ct✓tr✓rl✓l-S✓S>: 21
  2861.         <c✓ct✓tr✓rl✓l-T✓T>: 20
  2862.         <c✓ct✓tr✓rl✓l-U✓U>: 29
  2863.         <c✓ct✓tr✓rl✓l-V✓V>: 9
  2864.         <c✓ct✓tr✓rl✓l-W✓W>: 17
  2865.         <c✓ct✓tr✓rl✓l-X✓X>: 24
  2866.         <c✓ct✓tr✓rl✓l-X✓X>(: 47
  2867.         <c✓ct✓tr✓rl✓l-X✓X>): 47
  2868.         <c✓ct✓tr✓rl✓l-X✓X>1✓1: 36, 40
  2869.         <c✓ct✓tr✓rl✓l-X✓X>2✓2: 40
  2870.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>: 35
  2871.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>: 11, 15
  2872.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>: 33
  2873.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>: 41
  2874.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>: 41
  2875.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>: 34
  2876.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>: 11
  2877.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>: 34
  2878.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>: 24, 33
  2879.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>: 41
  2880.         <c✓ct✓tr✓rl✓l-X✓X>B✓B: 42
  2881.         <c✓ct✓tr✓rl✓l-X✓X>E✓E: 47
  2882.         <c✓ct✓tr✓rl✓l-X✓X>K✓K: 36
  2883.         <c✓ct✓tr✓rl✓l-X✓X>N✓N: 40
  2884.         <c✓ct✓tr✓rl✓l-X✓X>P✓P: 40
  2885.         <c✓ct✓tr✓rl✓l-X✓X>Z✓Z: 41
  2886.         <c✓ct✓tr✓rl✓l-Y✓Y>: 14
  2887.         <c✓ct✓tr✓rl✓l-Z✓Z>: 25
  2888.         <c✓ct✓tr✓rl✓l>: 2
  2889.         <d✓de✓el✓l>: 13
  2890.         <e✓es✓sc✓c>: 2
  2891.         <e✓es✓sc✓c>!: 42
  2892.         <e✓es✓sc✓c><: 9
  2893.         <e✓es✓sc✓c><d✓de✓el✓l>: 13
  2894.         <e✓es✓sc✓c>>: 9
  2895.         <e✓es✓sc✓c>B✓B: 7
  2896.         <e✓es✓sc✓c>C✓C: 19
  2897.         <e✓es✓sc✓c>D✓D: 13
  2898.         <e✓es✓sc✓c>F✓F: 8
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904. MicroEMACS Screen Editor Tutorial                         Page 56
  2905.  
  2906.  
  2907.         <e✓es✓sc✓c>L✓L: 19
  2908.         <e✓es✓sc✓c>U✓U: 19
  2909.         <e✓es✓sc✓c>V✓V: 9
  2910.         <N✓Nu✓um✓m L✓Lo✓oc✓ck✓k>: 7
  2911.         <return>: 7, 21
  2912.         me command: 5
  2913.         MicroEMACS:
  2914.             advanced editing with: 28
  2915.             basic editing with: 2
  2916.             beginning to use: 3
  2917.             exiting from: 24
  2918.             file size: 4
  2919.             invoking: 5
  2920.             quit without saving text: 15
  2921.             saving text: 11
  2922.         advanced editing--summary: 50
  2923.         arguments: 29
  2924.             cannot be used with create window commands: 40
  2925.             default value: 29
  2926.             deleting: 30
  2927.             exercises: 30
  2928.             increasing or decreasing: 29
  2929.             selecting values: 29
  2930.             with enlarge window command: 41
  2931.             with scrolling commands: 42
  2932.             with shrink window command: 41
  2933.         arrow keys: 7
  2934.         ascii table: 2
  2935.         backspace key: 7
  2936.         backwards:
  2937.             end of line: 7
  2938.             one space: 7
  2939.             one word: 7
  2940.         basic editing--summary: 26
  2941.         begin macro command: 47
  2942.         beginning of text command: 9
  2943.         block kill command: 17
  2944.         buffer:
  2945.             definition: 32
  2946.             delete: 36
  2947.             exercises: 44
  2948.             for killed text: 16
  2949.             how differs from file: 32
  2950.             move text from one b. to another: 35
  2951.             name on command line: 6
  2952.             naming: 32
  2953.             need unique names: 36
  2954.             number allowed at one time: 35
  2955.             prompting for new name: 36
  2956.             replace with named file: 34
  2957.             status command: 35
  2958.             status window: 35
  2959.             switch b.: 34
  2960.             with windows: 42
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966. MicroEMACS Screen Editor Tutorial                         Page 57
  2967.  
  2968.  
  2969.         buffer status command: 35
  2970.             use with windows: 44
  2971.         buffer status window: 35
  2972.         cancel a command: 22
  2973.         capitalization: 19
  2974.         command line:
  2975.             buffer name: 6
  2976.             changed file name: 24
  2977.             file name: 6
  2978.             file name changed: 33
  2979.             interpretation: 5
  2980.         commands:
  2981.             arguments: 29
  2982.             block kill text: 16
  2983.             buffer status: 35
  2984.             cancel: 22
  2985.             capitalization: 19
  2986.             cursor movement display: 7
  2987.             exiting from MicroEMACS: 24
  2988.             file and buffer: 32
  2989.             giving c. to MS-DOS: 49
  2990.             increase power: 29
  2991.             keyboard macros: 47
  2992.             lowercase: 19
  2993.             me: 5
  2994.             move text: 16
  2995.             program interrupt: 49
  2996.             redraw screen: 20
  2997.             saving text: 24
  2998.             searching: 21
  2999.             switch buffers: 34
  3000.             uppercase: 19
  3001.             window manipulation: 39
  3002.         control characters: 2
  3003.         control key: 2
  3004.             location: 2
  3005.         copying sample texts: 4
  3006.         copying text: 43
  3007.         cursor movement:
  3008.             arrow keys: 7
  3009.             back: 7
  3010.             beginning of text: 9
  3011.             end of text: 9
  3012.             exercises: 10
  3013.             forwards: 8
  3014.             left: 7
  3015.             line position: 8
  3016.             move within window: 42
  3017.             next line: 8
  3018.             previous line: 8
  3019.             right: 8
  3020.             screen down: 9
  3021.             screen up: 9
  3022.             scroll down: 41
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028. MicroEMACS Screen Editor Tutorial                         Page 58
  3029.  
  3030.  
  3031.             scroll up: 41
  3032.             strategy: 9
  3033.         delete buffer command: 36
  3034.         delete key: 13
  3035.         delete text:
  3036.             exercises: 14
  3037.             versus killing: 12
  3038.         deleting with arguments: 30
  3039.         display:
  3040.             capitalization, transpose, and redraw: 19
  3041.             commands: 21
  3042.             file and buffer commands: 32
  3043.             keyboard macro commands: 47
  3044.             kill and move commands: 16
  3045.             killing and deleting: 12
  3046.             movement commands: 7
  3047.             text and exiting: 24
  3048.             window commands: 39
  3049.         document:
  3050.             beginning a new d.: 5
  3051.         e✓ed✓d:
  3052.             to break down files: 4
  3053.             to cement files together: 4
  3054.         end macro command: 47
  3055.         end of text command: 9
  3056.         enlarge window command: 41
  3057.             with arguments: 41
  3058.         erase text: 12
  3059.             by line: 14
  3060.             deletion of spaces: 13
  3061.             erasing spaces: 13
  3062.             to the left: 13
  3063.             to the right: 12
  3064.         escape key: 2
  3065.             location: 2
  3066.         execute macro command: 47
  3067.         exercises:
  3068.             arguments: 30
  3069.             buffers: 44
  3070.             cursor movement: 10
  3071.             delete text: 14
  3072.             kill text: 14
  3073.             windows: 44
  3074.             yank back text: 14
  3075.         exiting from MicroEMACS: 24
  3076.         extended commands: 24
  3077.         file:
  3078.             definition: 32
  3079.             how differs from buffer: 32
  3080.             name on command line: 6
  3081.             naming: 32
  3082.             rename: 33
  3083.             replace buffer with named f.: 34
  3084.             size: 4
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090. MicroEMACS Screen Editor Tutorial                         Page 59
  3091.  
  3092.  
  3093.             with windows: 42
  3094.             write to new f.: 33
  3095.         forwards:
  3096.             end of line: 8
  3097.             one space: 8
  3098.             one word: 8
  3099.         interactive editor:
  3100.             definition: 2
  3101.         keyboard macros: 47
  3102.         kill text:
  3103.             block: 17
  3104.             exercises: 14
  3105.             versus deleting: 12
  3106.         lowercase text: 19
  3107.         macros: 47
  3108.         message:
  3109.             [End macro]: 47
  3110.             [Mark set]: 17
  3111.             [New file]: 5
  3112.             [Old buffer]: 35
  3113.             [Read XX lines]: 5, 34, 38
  3114.             [Start macro]: 47
  3115.             [Wrote XX lines]: 11, 24-25, 33
  3116.             Arg: X: 29
  3117.             Buffer name:: 36
  3118.             Cannot allocate XX bytes: 4
  3119.             Discard changes [y/n]?: 37, 45
  3120.             Kill buffer:: 37
  3121.             MS-DOS command: 49
  3122.             Name:: 33
  3123.             Not found: 21, 48
  3124.             Quit [y/n]?: 15
  3125.             Read file:: 34
  3126.             Reverse search [xxxxx]:: 21-22
  3127.             Search:: 21
  3128.             Use buffer:: 43
  3129.             Visit file:: 34-35, 38
  3130.             Write file:: 24, 33
  3131.         meta characters: 2
  3132.         MicroEMACS:
  3133.             does support arrow keys: 7
  3134.         move:
  3135.             cursor: 7
  3136.             text: 16
  3137.             text from one buffer to another: 35
  3138.             within window command: 42
  3139.         multiple copying of killed text: 16
  3140.         next line command: 8
  3141.         number lock key: 7
  3142.         number of buffers allowed: 35
  3143.         previous line command: 8
  3144.         program interrupt command: 49
  3145.         quit without saving text: 11
  3146.         quitting MicroEMACS: 11
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153. MicroEMACS Screen Editor Tutorial                         Page 60
  3154.  
  3155.  
  3156.         redraw screen: 20
  3157.         rename file: 33
  3158.         replace buffer with named file: 34
  3159.         restore (yank back) killed text: 14
  3160.         reverse search: 21
  3161.         sample texts:
  3162.             copying: 4
  3163.         saving text: 11, 24
  3164.         screen backwards movement: 9
  3165.         screen down command: 9
  3166.         screen editor:
  3167.             definition: 2
  3168.         screen forward movement: 9
  3169.         screen redraw: 20
  3170.         screen up command: 9
  3171.         scroll down command: 41
  3172.             with arguments: 42
  3173.         scroll up command: 41
  3174.             with arguments: 42
  3175.         search:
  3176.             forward: 21
  3177.             reverse: 21
  3178.         shrink window command: 41
  3179.             with arguments: 41
  3180.         store command: 25
  3181.         summary:
  3182.             advanced editing: 50
  3183.             basic editing: 26
  3184.         switch buffer command: 42
  3185.         tab key: 2
  3186.         text:
  3187.             block kill: 17
  3188.             capitalize: 19
  3189.             erase: 12
  3190.             erase to left: 13
  3191.             erase to right: 12
  3192.             kill by lines: 14
  3193.             lowercase: 19
  3194.             move: 16
  3195.             move from one buffer to another: 35
  3196.             multiple copying of killed t.: 16
  3197.             restore (yank back): 14
  3198.             saving: 24
  3199.             saving t.: 11
  3200.             uppercase: 19
  3201.             write to new file: 24
  3202.             yank back (restore): 14
  3203.         transpose characters: 20
  3204.         uppercase text: 19
  3205.         visit command: 34
  3206.             creating new file: 38
  3207.             moving text from one buffer to another: 35
  3208.             prompting for buffer name: 36
  3209.         window:
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215. MicroEMACS Screen Editor Tutorial                         Page 61
  3216.  
  3217.  
  3218.             buffer status: 35
  3219.             buffer status command use: 44
  3220.             commands, table 7: 39
  3221.             copying text among: 43
  3222.             definition: 39
  3223.             enlarge: 41
  3224.             exercises: 44
  3225.             move within: 42
  3226.             moving text among: 43
  3227.             multiple w.: 40
  3228.             number possible: 40
  3229.             one w.: 40
  3230.             saving text: 44
  3231.             scroll down: 41
  3232.             scroll up: 41
  3233.             shifting between: 40
  3234.             shrink: 41
  3235.             use with editing: 42
  3236.             using multiple buffers: 42
  3237.         write text to new file: 24, 33
  3238.         yank back text: 14, 30
  3239.             exercises: 14
  3240.         |<c✓ct✓tr✓rl✓l-X✓X>!: 49
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246. MicroEMACS Screen Editor Tutorial                         Page 62
  3247.  
  3248.  
  3249.                        U✓Us✓se✓er✓r R✓Re✓ea✓ac✓ct✓ti✓io✓on✓n R✓Re✓ep✓po✓or✓rt✓t
  3250.  
  3251.  
  3252. To keep  this manual free of errors and  to facilitate future im-
  3253. provements, we will  appreciate receiving your reactions.  Please
  3254. fill in  the appropriate sections below, detach,  and mail to us.
  3255. Thank you.
  3256.  
  3257.  
  3258.                       Mark Williams Company
  3259.                     1430 W. Wrightwood Avenue
  3260.                         Chicago, IL  60614
  3261.  
  3262.  
  3263. _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _
  3264.  
  3265.  
  3266. Name:
  3267.  
  3268. Company:
  3269.  
  3270. Address:
  3271.  
  3272.  
  3273.  
  3274. Phone:
  3275.  
  3276. Date:
  3277.  
  3278. Version and hardware used:
  3279.  
  3280. Did you find any errors in the manual?
  3281.  
  3282.  
  3283.  
  3284.  
  3285. Can you suggest any improvements to the manual?
  3286.  
  3287.  
  3288.  
  3289.  
  3290. Did you find any bugs in the software?
  3291.  
  3292.  
  3293.  
  3294.  
  3295. Can you suggest improvements or enhancements to the software?
  3296.  
  3297.  
  3298.  
  3299.  
  3300. Additional comments:
  3301.  
  3302. ə