home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume1 / 8711 / 15 < prev    next >
Internet Message Format  |  1990-07-13  |  50KB

  1. Path: uunet!husc6!uwvax!rutgers!ames!necntc!ncoast!allbery
  2. From: nwd@j.cc.purdue.edu (Daniel Lawrence)
  3. Newsgroups: comp.sources.misc
  4. Subject: MicroEmacs 3.9 Manual (4 of 6)
  5. Message-ID: <5817@ncoast.UUCP>
  6. Date: 26 Nov 87 04:16:09 GMT
  7. Sender: allbery@ncoast.UUCP
  8. Lines: 1398
  9. Approved: allbery@ncoast.UUCP
  10. X-Archive: comp.sources.misc/8711/15
  11.  
  12. X          called  a  destructive  backspace--it  removes  text  immediately
  13. X          before the current cursor position from the buffer.  Now  type ^H
  14. X
  15. X
  16. X
  17. X                                                                          8
  18. X
  19. X
  20. X
  21. X
  22. X
  23. X
  24. X          Basic Editing--Simple Insertions and Deletions         MicroEMACS
  25. X                                                           Reference Manual
  26. X
  27. X
  28. X          delete-previous-character.  Notice that the cursor moves back and
  29. X          obliterates the "r"--either command will backspace the cursor.
  30. X
  31. X                  Type in the two letters you erased to  restore  your text
  32. X          and move the cursor to the beginning of the buffer M-> beginning-
  33. X          of-file.  Move the cursor down  one  line to the beginning of the
  34. X          first paragraph.
  35. X
  36. X                  To  delete  the  forward  character, type ^D delete-next-
  37. X          character.  The "F" of "Fang" disappears.  Continue  to  type  ^D
  38. X          until the whole word is erased EMACS also permits the deletion of
  39. X          larger elements of text.  Move the cursor to the word "center" in
  40. X          the first line of text.  Pressing  M-<backspace> delete-previous-
  41. X          word kills the word immediately before the cursor.  M-^H  has the
  42. X          same effect.
  43. X
  44. X                  Notice that  the commands are very similar to the control
  45. X          commands you used to  delete  individual  letters.   As a general
  46. X          rule in EMACS, control sequences affect small areas of text, META
  47. X          sequences larger areas.  The  word forward of the cursor position
  48. X          can therefore be deleted by  typing  M-D  delete-next-word.   Now
  49. X          let's take out the remainder of the first line by typing ^K kill-
  50. X          to-end-of-line.  You now have a blank line  at  the  top  of your
  51. X          screen.   Typing ^K again or ^X-^O delete-blank-lines deletes the
  52. X          blank  line  and  flushes the second line to the top of the text.
  53. X          Now exit EMACS by typing ^X-^C exit-emacs .  Notice EMACS reminds
  54. X          you that you have not saved your buffer.  Ignore the  warning and
  55. X          exit.  This  way  you  can  exit  EMACS without saving any of the
  56. X          changes you just made.
  57. X
  58. X
  59. X
  60. X
  61. X                                  Chapter 2 Summary
  62. X
  63. X
  64. X                  In Chapter  2,  you  learned  about  the  basic 'building
  65. X          blocks' of an EMACS text file--buffers, windows, and files.
  66. X
  67. X          Key binding             Keystroke       Effect
  68. X          delete-previous-character
  69. X                                  ^H              deletes character immediately
  70. X                                                  before
  71. X                                                  the current cursor position
  72. X
  73. X          delete-next-character   ^D              deletes character immediately after
  74. X                                                  current cursor position
  75. X
  76. X          delete-previous-word    M-^H            deletes word immediately before
  77. X                                                  current cursor position
  78. X
  79. X          delete-next-word        M-D             deletes word immediately after
  80. X                                                  current cursor position
  81. X
  82. X
  83. X          9
  84. X
  85. X
  86. X
  87. X
  88. X
  89. X
  90. X          MicroEMACS Reference Manual  Basic Editing--Simple Insertions and
  91. X                                                                  Deletions
  92. X
  93. X
  94. X          kill-to-end-of-line     ^K              deletes from current cursor
  95. X                                                  position to end of line
  96. X
  97. X          insert-space            ^C              inserts a space to right of cursor
  98. X
  99. X          open-line               ^O              inserts blank line
  100. X
  101. X          delete-blank-lines      ^X-^O           removes blank line
  102. X
  103. X          exit-emacs              ^X-^C           exits emacs
  104. X
  105. X
  106. X
  107. X
  108. X
  109. X
  110. X
  111. X
  112. X
  113. X
  114. X
  115. X
  116. X
  117. X
  118. X
  119. X
  120. X
  121. X
  122. X
  123. X
  124. X
  125. X
  126. X
  127. X
  128. X
  129. X
  130. X
  131. X
  132. X
  133. X
  134. X
  135. X
  136. X
  137. X
  138. X
  139. X
  140. X
  141. X
  142. X
  143. X
  144. X
  145. X
  146. X
  147. X
  148. X
  149. X                                                                         10
  150. X
  151. X
  152. X
  153. X
  154. X
  155. X
  156. X          Using Regions                         MicroEMACS Reference Manual
  157. X
  158. X
  159. X
  160. X
  161. X
  162. X
  163. X
  164. X
  165. X                                      Chapter 3
  166. X
  167. X                                    Using Regions
  168. X
  169. X
  170. X          3.1  Defining and Deleting a Region
  171. X
  172. X
  173. X                  At this  point its time to familiarize ourselves with two
  174. X          more EMACS terms--the point  and  the mark.  The point is located
  175. X          directly behind the current  cursor  position.    The mark (as we
  176. X          shall see shortly) is user  defined.  These two elements together
  177. X          are called the  current  region  and  limit the region of text on
  178. X          which EMACS performs many of its editing functions.
  179. X
  180. X                  Let's begin by entering some new text.   Don't  forget to
  181. X          add wrap  mode  if  its  not set on this buffer.  Start EMACS and
  182. X          open a file called PUBLISH.TXT.  Type in the following text:
  183. X
  184. X               One of the largest growth areas  in  personal computing
  185. X               is electronic publishing.  There are packages available
  186. X               for practically  every  machine  from  elegantly simple
  187. X               programs  for the humble Commodore 64 to  sophisticated
  188. X               professional packages for PC and Macintosh computers.
  189. X
  190. X               Electronic publishing is as revolutionary in its way as
  191. X               the  Gutenburg  press.    Whereas  the  printing  press
  192. X               allowed  the  mass  production  and distribution of the
  193. X               written  word, electronic publishing puts the means  of
  194. X               production  in  the  hands  of nearly every individual.
  195. X               From  the  class  magazine  to  the  corporate  report,
  196. X               electronic publishing is changing  the  way  we produce
  197. X               and disseminate information.
  198. X
  199. X               Personal  publishing  greatly  increases the utility of
  200. X               practically every computer.   Thousands  of  people who
  201. X               joined the computer revolution of this  decade  only to
  202. X               hide their machines unused in closets have discovered a
  203. X               new use for them as dedicated publishing workstations.
  204. X
  205. X                  Now  let's  do  some editing.  The last paragraph seems a
  206. X          little out of place.  To see what the document looks like without
  207. X          it we can  cut  it  from  the  text  by  moving the cursor to the
  208. X          beginning of the paragraph.   Enter  M-<space>  set-mark.   EMACS
  209. X          will respond with "[Mark set]".   Now  move the cursor to the end
  210. X          of the paragraph.  You have  just  defined  a region of text.  To
  211. X          remove  this  text  from  the  screen, type ^W kill-region.   The
  212. X          paragraph disappears from the screen.
  213. X
  214. X
  215. X          11
  216. X
  217. X
  218. X
  219. X
  220. X
  221. X
  222. X          MicroEMACS Reference Manual                         Using Regions
  223. X
  224. X
  225. X                  On further consideration, however, perhaps  the paragraph
  226. X          we cut wasn't so bad after all.  The problem may have been one of
  227. X          placement.  If  we  could  tack  it  on  to  the end of the first
  228. X          paragraph it might work quite  well to support and strengthen the
  229. X          argument.  Move the cursor to the end of the first  paragraph and
  230. X          enter ^Y yank.  Your text should now look like this:
  231. X
  232. X               One of the largest growth areas  in  personal computing
  233. X               is electronic publishing.  There are packages available
  234. X               for practically  every  machine  from  elegantly simple
  235. X               programs  for the humble Commodore 64 to  sophisticated
  236. X               professional  packages for PC and Macintosh  computers.
  237. X               Personal  publishing  greatly  increases the utility of
  238. X               practically every computer.   Thousands  of  people who
  239. X               joined the computer revolution of this  decade  only to
  240. X               hide their machines unused in closets have discovered a
  241. X               new use for them as dedicated publishing workstations.
  242. X
  243. X               Electronic publishing is as revolutionary in its way as
  244. X               the  Gutenburg  press.    Whereas  the  printing  press
  245. X               allowed  the  mass  production  and distribution of the
  246. X               written  word, electronic publishing puts the means  of
  247. X               production  in  the  hands  of nearly every individual.
  248. X               From  the  class  magazine  to  the  corporate  report,
  249. X               electronic publishing is changing  the  way  we produce
  250. X               and disseminate information.
  251. X
  252. X
  253. X          3.2  Yanking a Region
  254. X
  255. X
  256. X                  The text you cut initially didn't simply  just disappear,
  257. X          it  was  cut  into  a  buffer  that  retains  the  'killed'  text
  258. X          appropriately called the kill buffer.  ^Y "yanks"  the  text back
  259. X          from this buffer into the current buffer. If you have a long line
  260. X          (indicated,  remember,  by  the  "$"  sign),  simply  hit M-Q  to
  261. X          reformat the paragraph.
  262. X
  263. X                  There are other uses to which the kill buffer can be put.
  264. X          Using the method we've already learned, define the last paragraph
  265. X          as  a  region.   Now type M-W copy-region.  Nothing seems to have
  266. X          happened; the cursor stays  blinking  at  the  point.  But things
  267. X          have  changed,  even  though you may  not  be  able  to  see  any
  268. X          alteration.
  269. X
  270. X                  To  see what has happened to the  contents  of  the  kill
  271. X          buffer, move the  cursor  down  a  couple of lines and "yank" the
  272. X          contents  of  the kill buffer back with  ^Y.    Notice  the  last
  273. X          paragraph is now repeated.  The region you defined is "tacked on"
  274. X          to the end of your file because M-W copies a  region  to the kill
  275. X          buffer while leaving the  original  text  in your working buffer.
  276. X          Some caution is needed however,  because the contents of the kill
  277. X          buffer are updated when you delete any regions,  lines  or words.
  278. X          If  you  are  moving  large  quantities  of  text,  complete  the
  279. X
  280. X
  281. X                                                                         12
  282. X
  283. X
  284. X
  285. X
  286. X
  287. X
  288. X          Using Regions                         MicroEMACS Reference Manual
  289. X
  290. X
  291. X          operation before you do any more deletions or you could find that
  292. X          the  text  you  want to move has been replaced by the most recent
  293. X          deletion.  Remember--a buffer is  a  temporary  area  of computer
  294. X          memory that is lost when the machine is powered down  or switched
  295. X          off.  In order to make your changes permanent, they must be saved
  296. X          to  a  file  before you leave EMACS.  Let's delete the section of
  297. X          text we just added and save the file to disk.
  298. X
  299. X
  300. X
  301. X
  302. X                                  Chapter 3 Summary
  303. X
  304. X
  305. X                  In  Chapter  3,  you  learned  how   to   achieve  longer
  306. X          insertions  and  deletions.   The EMACS terms point and mark were
  307. X          introduced and you learned how to manipulate text  with  the kill
  308. X          buffer.
  309. X
  310. X          Key Binding     Keystroke       Effect
  311. X
  312. X          Delete-Region   ^W              Deletes region between point and mark and
  313. X                                          places it in KILL buffer
  314. X
  315. X          Copy-Region     M-W             Copies text between point and mark into
  316. X                                          KILL buffer
  317. X
  318. X          Yank-Text       ^Y              Inserts a copy of the KILL buffer into
  319. X                                          current buffer at point
  320. X
  321. X
  322. X
  323. X
  324. X
  325. X
  326. X
  327. X
  328. X
  329. X
  330. X
  331. X
  332. X
  333. X
  334. X
  335. X
  336. X
  337. X
  338. X
  339. X
  340. X
  341. X
  342. X
  343. X
  344. X
  345. X
  346. X
  347. X          13
  348. X
  349. X
  350. X
  351. X
  352. X
  353. X
  354. X          MicroEMACS Reference Manual                    Search and Replace
  355. X
  356. X
  357. X
  358. X
  359. X
  360. X
  361. X
  362. X
  363. X                                      Chapter 4
  364. X
  365. X                                 Search and Replace
  366. X
  367. X
  368. X          4.1  Forward Search
  369. X
  370. X
  371. X                  Load EMACS and bring in the file you just  saved.    Your
  372. X          file should look like the one below.
  373. X
  374. X               One of the largest growth areas  in  personal computing
  375. X               is electronic publishing.  There are packages available
  376. X               for practically  every  machine  from  elegantly simple
  377. X               programs  for the humble Commodore 64 to  sophisticated
  378. X               professional  packages for PC and Macintosh  computers.
  379. X               Personal  publishing  greatly  increases the utility of
  380. X               practically every computer.   Thousands  of  people who
  381. X               joined the computer revolution of this  decade  only to
  382. X               hide their machines unused in closets have discovered a
  383. X               new use for them as dedicated publishing workstations.
  384. X
  385. X               Electronic publishing is as revolutionary in its way as
  386. X               the  Gutenburg  press.    Whereas  the  printing  press
  387. X               allowed  the  mass  production  and distribution of the
  388. X               written  word, electronic publishing puts the means  of
  389. X               production  in  the  hands  of nearly every individual.
  390. X               From  the  class  magazine  to  the  corporate  report,
  391. X               electronic publishing is changing  the  way  we produce
  392. X               and disseminate information.
  393. X
  394. X                  Let's use EMACS to search for the word "revolutionary" in
  395. X          the second paragraph.   Because  EMACS  searches from the current
  396. X          cursor  position  toward  the  end  of buffers, and we intend  to
  397. X          search forward, move the  cursor  to  the  beginning of the text.
  398. X          Enter ^S search-forward.  Note that the command line now reads
  399. X
  400. X                  "Search [] <META>:"
  401. X
  402. X                  EMACS is prompting you to  enter the search string -- the
  403. X          text you want to find.  Enter the word revolutionary and  hit the
  404. X          META  key.     The   cursor   moves   to  the  end  of  the  word
  405. X          "revolutionary."
  406. X
  407. X                  Notice  that  you  must enter the <META> key to start the
  408. X          search.  If you simply press <NL> the command line  responds with
  409. X          "<NL>".  Although this may seem infuriating to users who are used
  410. X          to pressing the return key to execute any command, EMACS'  use of
  411. X
  412. X
  413. X                                                                         14
  414. X
  415. X
  416. X
  417. X
  418. X
  419. X
  420. X          Search and Replace                    MicroEMACS Reference Manual
  421. X
  422. X
  423. X          <META>  to  begin  searches allows it to pinpoint text with great
  424. X          accuracy.  After every line wrap or carriage return, EMACS 'sees'
  425. X          a new line character (<NL>).  If you need to search for a word at
  426. X          the end of a line, you can specify this word uniquely in EMACS.
  427. X
  428. X                  In our sample text for example, the word  "and"  occurs a
  429. X          number  of times, but only once at the end of a line.  To  search
  430. X          for this particular occurence of the word, move the cursor to the
  431. X          beginning of the buffer and type ^S.  Notice  that  EMACS  stores
  432. X          the last specified search  string  as the default string.  If you
  433. X          press  <META>  now,  EMACS will search for the default string, in
  434. X          this case, "revolutionary."
  435. X
  436. X                  To change this string so  we can search for our specified
  437. X          "and" simply enter the word and followed by <NL>.    The  command
  438. X          line now shows:
  439. X
  440. X                  "search [and<NL>]<META>:"
  441. X
  442. X                  Press <META> and the cursor moves to "and" at the  end of
  443. X          the second last line.
  444. X
  445. X
  446. X          4.2  Exact Searches
  447. X
  448. X
  449. X                  If the mode EXACT is  active in the current buffer, EMACS
  450. X          searches on a case sensitive basis.  Thus, for example  you could
  451. X          search for Publishing as distinct from publishing.
  452. X
  453. X
  454. X          4.3  Backward Search
  455. X
  456. X
  457. X                  Backward  searching is very similar to forward  searching
  458. X          except  that  it  is  implemented  in the reverse direction.   To
  459. X          implement a reverse  search,  type  ^R  search-reverse.   Because
  460. X          EMACS makes no distinction between  forward  and  backward stored
  461. X          search strings, the last search item you entered  appears  as the
  462. X          default string.   Try  searching  back  for  any  word  that lies
  463. X          between the cursor and the beginning of the buffer.   Notice that
  464. X          when the item is found, the  point  moves to the beginning of the
  465. X          found string (i.e., the cursor  appears under the first letter of
  466. X          the search item).
  467. X
  468. X                  Practice searching for other words in your text.
  469. X
  470. X
  471. X          4.4  Searching and Replacing
  472. X
  473. X
  474. X                  Searching and replacing is  a  powerful  and quick way of
  475. X          making changes to your text.  Our sample text is about electronic
  476. X          publishing, but the correct term  is  'desktop'  publishing.   To
  477. X
  478. X
  479. X          15
  480. X
  481. X
  482. X
  483. X
  484. X
  485. X
  486. X          MicroEMACS Reference Manual                    Search and Replace
  487. X
  488. X
  489. X          make the necessary changes we need to replace  all  occurences of
  490. X          the word "electronic"  with  "desktop." First, move the cursor to
  491. X          the top of the current buffer with the M-< command.  Then type M-
  492. X          R replace-string.  The command line responds:
  493. X
  494. X                  "Replace []<META>:"
  495. X
  496. X                  where  the  square  brackets  enclose the default string.
  497. X          Type the word  electronic  and  hit  <META>.    The  command line
  498. X          responds:
  499. X
  500. X                  "with []<META>"
  501. X
  502. X                  type desktop<META>.  EMACS replaces all instances  of the
  503. X          original word with your revision.  Of course, you  will  have  to
  504. X          capitalize the first letter of "desktop" where it  occurs  at the
  505. X          beginning of a sentence.
  506. X
  507. X                  You have just completed  an  unconditional  replace.   In
  508. X          this operation, EMACS replaces every instance of the found string
  509. X          with the replacement string.
  510. X
  511. X
  512. X          4.5  Query-Replace
  513. X
  514. X
  515. X                  You may also replace text on  a  case by case basis.  The
  516. X          M-^R query-replace-string command causes EMACS to  pause  at each
  517. X          instance of the found string.
  518. X
  519. X                  For example,  assume we want to replace some instances of
  520. X          the  word  "desktop"  with  the  word "personal." Go back to  the
  521. X          beginning of  the current buffer and enter the M-^R query-replace
  522. X          command.    The  procedure is very  similar  to  that  which  you
  523. X          followed in the unconditional search/replace  option.    When the
  524. X          search begins however, you will  notice that EMACS pauses at each
  525. X          instance of "publishing" and asks  whether you wish to replace it
  526. X          with the replacement  string.    You  have  a  number  of options
  527. X          available for response:
  528. X
  529. X                  Response        Effect
  530. X                  Y(es)   Make the current replacement and skip to the next
  531. X                          occurence of the search string
  532. X
  533. X                  N(o)    Do not make this replacement but continue
  534. X
  535. X                  !       Do the rest of the replacements with no more queries
  536. X
  537. X                  U(ndo)  Undo just the last replacement and query for it
  538. X                          again (This can only go back ONE time)
  539. X
  540. X                  ^G      Abort the replacement command (This action does not
  541. X                          undo previously-authorized replacements
  542. X
  543. X
  544. X
  545. X                                                                         16
  546. X
  547. X
  548. X
  549. X
  550. X
  551. X
  552. X          Search and Replace                    MicroEMACS Reference Manual
  553. X
  554. X
  555. X                  .       Same effect as ^G, but cursor returns to the point at
  556. X                          which the replacement command was given
  557. X
  558. X                  ?       This lists help for the query replacement command
  559. X
  560. X                  Practice searching and  searching and replacing until you
  561. X          feel comfortable with the commands and their effects.
  562. X
  563. X
  564. X
  565. X
  566. X                                  Chapter 4 Summary
  567. X
  568. X
  569. X                  In this  chapter, you learned how to search for specified
  570. X          strings of text in EMACS.  The chapter also dealt  with searching
  571. X          for and replacing elements within a buffer.
  572. X
  573. X          Key Binding             Keystroke                        Effect
  574. X
  575. X          Search-Forward          ^S      Searches from point to end of buffer.
  576. X                                          Point is moved from current location to
  577. X                                          the end of the found string
  578. X
  579. X          Search-Backward         ^R      Searches from point to beginning of buffer.
  580. X                                          Point is moved from current location to
  581. X                                          beginning of found string
  582. X
  583. X          Replace                 M-R Replace ALL ocurrences of search string with
  584. X                                          specified (null) string from point to the
  585. X                                          end of the current buffer
  586. X
  587. X          Query-Replace          M-^R     As above, but pause at each found string
  588. X                                          and query for action
  589. X
  590. X
  591. X
  592. X
  593. X
  594. X
  595. X
  596. X
  597. X
  598. X
  599. X
  600. X
  601. X
  602. X
  603. X
  604. X
  605. X
  606. X
  607. X
  608. X
  609. X
  610. X
  611. X          17
  612. X
  613. X
  614. X
  615. X
  616. X
  617. X
  618. X          MicroEMACS Reference Manual                               Windows
  619. X
  620. X
  621. X
  622. X
  623. X
  624. X
  625. X
  626. X
  627. X                                      Chapter 5
  628. X
  629. X                                       Windows
  630. X
  631. X
  632. X          5.1  Creating Windows
  633. X
  634. X
  635. X                  We  have  already  met windows in an earlier chapter.  In
  636. X          this  chapter,  we  will  explore  one  of  EMACS' more  powerful
  637. X          features   --  text  manipulation  through  multiple   windowing.
  638. X          Windows  offer  you  a powerful and easy way to edit  text.    By
  639. X          manipulating  a  number  of  windows  and buffers on  the  screen
  640. X          simultaneously, you can perform complete edits  and  revisions on
  641. X          the computer screen while having your draft text or original data
  642. X          available for reference in another window.
  643. X
  644. X                  You will recall that windows  are  areas  of  buffer text
  645. X          that  you  can see on the screen.    Because  EMACS  can  support
  646. X          several screen windows simultaneously  you  can  use them to look
  647. X          into different places in the same buffer.  You can also  use them
  648. X          to  look  at  text in different buffers.  In effect, you can edit
  649. X          several files at the same time.
  650. X
  651. X                  Let's  invoke EMACS and pull back  our  file  on  desktop
  652. X          publishing by typing
  653. X
  654. X               emacs publish.txt
  655. X
  656. X                  When  the  text   appears,  type  the  ^X-2  split-window
  657. X          command.  The window  splits  into two windows.  The window where
  658. X          the cursor resides is  called  the current window -- in this case
  659. X          the bottom window.  Notice that each window has a text area and a
  660. X          mode line.  The command line is however, common to all windows on
  661. X          the screen.
  662. X
  663. X                  The two  windows  on  your  screen  are  virtually mirror
  664. X          images of each other because the new window is  opened  into  the
  665. X          same buffer as the one you are in when you issue  the open-window
  666. X          command.  All  commands  issued  to  EMACS  are  executed  on the
  667. X          current buffer in the current window.
  668. X
  669. X                  To move the cursor  to  the  upper  window (i.e., to make
  670. X          that  window  the  current  window,  type  ^X-P  previous-window.
  671. X          Notice  the  cursor  moves  to  the  upper  or  previous  window.
  672. X          Entering ^X-O next-window moves to  the  next  window.   Practice
  673. X          moving between windows.   You  will notice that you can also move
  674. X          into the Function Key menu by entering these commands.
  675. X
  676. X
  677. X                                                                         18
  678. X
  679. X
  680. X
  681. X
  682. X
  683. X
  684. X          Windows                               MicroEMACS Reference Manual
  685. X
  686. X
  687. X                  Now move to the upper window.  Let's open a new file.  On
  688. X          the  EMACS disk is a tutorial file.  Let's call it into the upper
  689. X          window by typing:
  690. X
  691. X               ^X-^F
  692. X
  693. X                  and press return.
  694. X
  695. X                  Enter the filename emacs.tut.
  696. X
  697. X                  In a short time,  the  tutorial  file  will appear in the
  698. X          window.  We now have two windows on the screen, each looking into
  699. X          different buffers.  We have just used the ^X-^F find-file command
  700. X          to find a file and bring it into our current window.
  701. X
  702. X                  You can scroll any  window  up  and  down with the cursor
  703. X          keys, or with the commands we've learned so far. However, because
  704. X          the area of visible text in each window is relatively  small, you
  705. X          can scroll the current window a line at a time.
  706. X
  707. X                  Type ^X-^N move-window-down
  708. X
  709. X                  The  current  window  scrolls down by one line -- the top
  710. X          line of  text  scrolls  out  of  view,  and the bottom line moves
  711. X          towards the top of the screen.  You can imagine, if you like, the
  712. X          whole window  slowly  moving  down  to  the  end of the buffer in
  713. X          increments of one line.  The command ^X-^P move-window-up scrolls
  714. X          the window in the opposite direction.
  715. X
  716. X                  As we have  seen,  EMACS editing commands are executed in
  717. X          the current window, but the program does support a useful feature
  718. X          that allows you to scroll the next window.    M-^Z scroll-next-up
  719. X          scrolls the next  window  up,  M-^V  scroll-next-down  scrolls it
  720. X          downward.   From  the  tutorial  window,  practice  scrolling the
  721. X          window with the desktop publishing text in it up and down.
  722. X
  723. X                  When you're  finished,  exit  EMACS  without  saving  any
  724. X          changes in your files.
  725. X
  726. X
  727. X                  Experiment  with  splitting  the  windows on your screen.
  728. X          Open windows into different buffers and experiment with any other
  729. X          files you may have.  Try editing the  text  in  each  window, but
  730. X          don't  forget  to  save any changes you want to keep -- you still
  731. X          have to save each buffer separately.
  732. X
  733. X
  734. X          5.2  Deleting Windows
  735. X
  736. X
  737. X          Windows allow you to perform  complex  editing  tasks  with ease.
  738. X          However,  they  become  an  inconvenience  when  your  screen  is
  739. X          cluttered  with  open  windows  you  have  finished  using.   The
  740. X          simplest solution is to delete  unneeded  windows.    The command
  741. X
  742. X
  743. X          19
  744. X
  745. X
  746. X
  747. X
  748. X
  749. X
  750. X          MicroEMACS Reference Manual                               Windows
  751. X
  752. X
  753. X          ^X-0 delete-window  will  delete  the  window  you  are currently
  754. X          working in and move you to the next window.
  755. X
  756. X                  If you have a number of windows open, you can  delete all
  757. X          but the current window by entering ^X-1 delete-other-windows.
  758. X
  759. X
  760. X          5.3  Resizing Windows
  761. X
  762. X
  763. X                  During complex editing tasks, you will  probably  find it
  764. X          convenient  to  have  a  number   of   windows   on   the  screen
  765. X          simultaneously.       However   this   situation   may    present
  766. X          inconveniences because the more  windows  you  have on the screen
  767. X          the smaller they are; in some cases, a  window  may  show  only a
  768. X          couple of lines of text.  To increase the flexibility and utility
  769. X          of the window environment, EMACS  allows you to resize the window
  770. X          you  are  working  in  (called,  as you will recall, the  current
  771. X          window) to a convenient size  for easier editing, and then shrink
  772. X          it when you no longer need it to be so large.
  773. X
  774. X                  Let's try an example.  Load in any EMACS  text  file  and
  775. X          split the current window into two.  Now type ^X-^(Shift-6), grow-
  776. X          window.   Your  current  window  should  be  the lower one on the
  777. X          screen.  Notice that it increases in size upwards  by  one  line.
  778. X          If  you  are  in  the  upper  window,  it increases in size in  a
  779. X          downward   direction.      The   command   ^X-^Z,   shrink-window
  780. X          correspondingly decreases window size by one line at a time.
  781. X
  782. X                  EMACS also allows  you  to resize a window more precisely
  783. X          by entering a numeric argument  specifying the size of the window
  784. X          in  lines.  To resize the window this way, press the META key and
  785. X          enter  a  numeric  argument (remember to keep it smaller than the
  786. X          number of lines on your screen display) then  press  ^X-W resize-
  787. X          window.  The  current  window  will  be enlarged or shrunk to the
  788. X          number of lines specified in the numeric argument.    For example
  789. X          entering:
  790. X
  791. X               M-8 ^X-W
  792. X
  793. X          will resize the current window to 8 lines.
  794. X
  795. X
  796. X          5.4  Repositioning within a Window
  797. X
  798. X
  799. X                  The cursor may be  centered  within  a window by entering
  800. X          M-! or M-^L redraw-display.  This command is especially useful in
  801. X          allowing  you  to  quickly  locate  the cursor if you are  moving
  802. X          frequently from window to window.  You can also use  this command
  803. X          to move the line containing the cursor to any position within the
  804. X          current window.  This is done by using a numeric  argument before
  805. X          the command. Type M-<n> M-^L where <n> is the number of  the line
  806. X          within the window that you wish the current line to be displayed.
  807. X
  808. X
  809. X                                                                         20
  810. X
  811. X
  812. X
  813. X
  814. X
  815. X
  816. X          MicroEMACS Reference Manual                               Windows
  817. X
  818. X
  819. X                  The ^L Refresh-screen command is useful for 'cleaning up'
  820. X          a 'messy' screen that can result of using EMACS  on  a  mainframe
  821. X          system and being interupted by a system message.
  822. X
  823. X
  824. X
  825. X
  826. X
  827. X
  828. X
  829. X
  830. X
  831. X
  832. X
  833. X
  834. X
  835. X
  836. X
  837. X
  838. X
  839. X
  840. X
  841. X
  842. X
  843. X
  844. X
  845. X
  846. X
  847. X
  848. X
  849. X
  850. X
  851. X
  852. X
  853. X
  854. X
  855. X
  856. X
  857. X
  858. X
  859. X
  860. X
  861. X
  862. X
  863. X
  864. X
  865. X
  866. X
  867. X
  868. X
  869. X
  870. X
  871. X
  872. X
  873. X
  874. X
  875. X                                                                         22
  876. X
  877. X
  878. X
  879. X
  880. X
  881. X
  882. X          Windows                               MicroEMACS Reference Manual
  883. X
  884. X
  885. X          Chapter 5 summary
  886. X
  887. X                  In Chapter 5 you  learned  how  to manipulate windows and
  888. X          the editing flexibility they offer.
  889. X
  890. X          Key Binding     Keystroke       Effect
  891. X
  892. X          Open-Window     ^X-2            Splits current window into two windows if
  893. X                                          space available
  894. X
  895. X          Close-Windows   ^X-1            Closes all windows except current window
  896. X
  897. X          Next-Window     ^X-O[oh]        Moves point into next (i.e. downward)
  898. X                                          window
  899. X
  900. X          Previous-Window ^XP             Moves point to previous (i.e. upward)
  901. X                                          window
  902. X
  903. X          Move-Window-Down ^X-^N          Scrolls current window down one line
  904. X
  905. X          Move-Window-Up  ^X-^P           Scrolls current window up one line
  906. X
  907. X          Redraw-display  M ! or          Window is moved so line with point
  908. X                          M ^L            (with cursor) is at center of window
  909. X
  910. X          Grow-Window     M-X ^ or        Current window is enlarged by one
  911. X                          M ^L            line and nearest window is shrunk by
  912. X                                          one line
  913. X
  914. X          Shrink-Window   ^X-^Z           Current window is shrunk by one line
  915. X                                          and nearest window is enlarged by one line
  916. X
  917. X          Clear-and-redraw ^L             Screen is blanked and redrawn.  Keeps
  918. X                                          screen updates in sync with your commands
  919. X
  920. X          Scroll-Next-Up  M-^Z            Scrolls next window up by one line
  921. X
  922. X          Scroll-Next-Down M-^V           Scrolls next window down by one line
  923. X
  924. X          Delete-Window   ^X-0            Deletes current window
  925. X
  926. X          Delete-Other-Windows ^X-1       Deletes all but current window
  927. X
  928. X          Resize-Window   ^X-^W           Resizes window to a given numeric argument
  929. X
  930. X
  931. X
  932. X
  933. X
  934. X
  935. X
  936. X
  937. X
  938. X
  939. X
  940. X
  941. X          23
  942. X
  943. X
  944. X
  945. X
  946. X
  947. X
  948. X          MicroEMACS Reference Manual                               Buffers
  949. X
  950. X
  951. X
  952. X
  953. X
  954. X
  955. X
  956. X
  957. X                                      Chapter 6
  958. X
  959. X                                       Buffers
  960. X
  961. X
  962. X                    We  have  already  learned  a  number  of things  about
  963. X          buffers.    As  you will recall,  they  are  the  major  internal
  964. X          entities  in  EMACS  --  the  place  where  editing commands  are
  965. X          executed.  They are  characterized  by  their names, their modes,
  966. X          and by the file with which they are associated.  Each buffer also
  967. X          "remembers" its mark  and  point.  This convenient feature allows
  968. X          you to go to other buffers and return to the original location in
  969. X          the "current" buffer.
  970. X
  971. X                  Advanced users  of  EMACS  frequently  have  a  number of
  972. X          buffers in the computer's memory  simultaneously.    In  the last
  973. X          chapter, for example, you opened at least two buffers -- one into
  974. X          the text you were  editing,  and the other into the EMACS on-line
  975. X          tutorial.  If you deal with complex text files --  say, sectioned
  976. X          chapters  of  a  book, you may have five or six  buffers  in  the
  977. X          computer's memory.   You could select different buffers by simply
  978. X          calling up the file  with  ^X-^F find-file, and let EMACS open or
  979. X          reopen the  buffer.  However, EMACS offers fast and sophisticated
  980. X          buffering techniques that you will find easy to  master  and much
  981. X          more convenient to use.
  982. X
  983. X                  Let's begin by opening three buffers.  You  can  open any
  984. X          three  you  choose,  for example call the  following  files  into
  985. X          memory: fang.txt, publish.txt, and emacs.tut in the  order listed
  986. X          here.  When you've finished this process, you'll be looking  at a
  987. X          screen showing the EMACS tutorial.  Let's assume that you want to
  988. X          move to the fang.txt buffer.  Enter:
  989. X
  990. X                  ^X-X next-buffer
  991. X
  992. X                  This command moves you to the next buffer.  Because EMACS
  993. X          cycles through the  buffer  list, which is alphabetized, you will
  994. X          now be in the fang.txt buffer. Using ^X-X again places you in the
  995. X          publish.txt  buffer.  If  you  are  on  a  machine that  supports
  996. X          function keys, using ^X-X again places you in  the  Function Keys
  997. X          buffer. Using ^X-X one last time cycles you back to the beginning
  998. X          of the list.
  999. X
  1000. X                  If you have a large number of buffers to deal  with, this
  1001. X          cycling process may be slow and inconvenient.   The  command ^X-B
  1002. X          select-buffer allows you to  specify  the  buffer  you wish to be
  1003. X          switched  to.    When the command is entered, EMACS prompts, "Use
  1004. X
  1005. X
  1006. X
  1007. X                                                                         24
  1008. X
  1009. X
  1010. X
  1011. X
  1012. X
  1013. X
  1014. X          Buffers                               MicroEMACS Reference Manual
  1015. X
  1016. X
  1017. X          buffer:".  Simply enter the buffer name (NOT the file  name), and
  1018. X          that buffer will then become the current buffer.
  1019. X
  1020. X                  Multiple  buffer  manipulation  and  editing is a complex
  1021. X          activity, and you will probably  find it very inconvenient to re-
  1022. X          save each  buffer  as  you  modify  it.   The command ^X-^B list-
  1023. X          buffers creates a new  window  that  gives  details about all the
  1024. X          buffers  currently  known  to  EMACS.    Buffers  that have  been
  1025. X          modified are identified by  the  "buffer  changed"  indicator (an
  1026. X          asterisk in the second column).  You can thus quickly  and easily
  1027. X          identify buffers that need  to  be saved to files before you exit
  1028. X          EMACS.   The buffer window also  provides  other  information  --
  1029. X          buffer  specific modes, buffer size, and  buffer  name  are  also
  1030. X          listed.   To close this window,  simply  type  the  close-windows
  1031. X          command, ^X-1.
  1032. X
  1033. X                  To delete any buffer,  type  ^X-K  delete-buffer.   EMACS
  1034. X          prompts you "Kill buffer:".  Enter the buffer name  you  want  to
  1035. X          delete.    As  this  is  destructive command, EMACS will ask  for
  1036. X          confirmation if the buffer  was  changed  and  not saved.  Answer
  1037. X          Y(es) or N(o).  As usual ^G cancels the command.
  1038. X
  1039. X
  1040. X
  1041. X
  1042. X
  1043. X
  1044. X
  1045. X
  1046. X
  1047. X
  1048. X
  1049. X
  1050. X
  1051. X
  1052. X
  1053. X
  1054. X
  1055. X
  1056. X
  1057. X
  1058. X
  1059. X
  1060. X
  1061. X
  1062. X
  1063. X
  1064. X
  1065. X
  1066. X
  1067. X
  1068. X
  1069. X
  1070. X
  1071. X
  1072. X
  1073. X          25
  1074. X
  1075. X
  1076. X
  1077. X
  1078. X
  1079. X
  1080. X          MicroEMACS Reference Manual                               Buffers
  1081. X
  1082. X
  1083. X
  1084. X
  1085. X
  1086. X
  1087. X                                  Chapter 6 Summary
  1088. X
  1089. X
  1090. X                  In Chapter 6 you learned how to manipulate buffers.
  1091. X
  1092. X          Key Binding             Keystroke                      Effect
  1093. X          Next-Buffer             ^X-^X           Switch to the next buffer in the
  1094. X                                                  buffer list
  1095. X
  1096. X          Select-Buffer           ^X-B            Switch to a particular buffer
  1097. X
  1098. X          List-Buffers            ^X-^B           List all buffers
  1099. X
  1100. X          Delete-Buffer           ^X-K            delete a particular buffer if it
  1101. X                                                  is off-screen
  1102. X
  1103. X
  1104. X
  1105. X
  1106. X
  1107. X
  1108. X
  1109. X
  1110. X
  1111. X
  1112. X
  1113. X
  1114. X
  1115. X
  1116. X
  1117. X
  1118. X
  1119. X
  1120. X
  1121. X
  1122. X
  1123. X
  1124. X
  1125. X
  1126. X
  1127. X
  1128. X
  1129. X
  1130. X
  1131. X
  1132. X
  1133. X
  1134. X
  1135. X
  1136. X
  1137. X
  1138. X
  1139. X                                                                         26
  1140. X
  1141. X
  1142. X
  1143. X
  1144. X
  1145. X
  1146. X          Modes                                 MicroEMACS Reference Manual
  1147. X
  1148. X
  1149. X
  1150. X
  1151. X
  1152. X
  1153. X
  1154. X
  1155. X                                      Chapter 7
  1156. X
  1157. X                                        Modes
  1158. X
  1159. X
  1160. X                  EMACS allows you to  change  the way it works in order to
  1161. X          customized it to the style of editing you  are  using.    It does
  1162. X          this by providing a number of different modes .  These  modes can
  1163. X          effect either a single buffer, or any new buffer that is created.
  1164. X          To add a mode to the  current  buffer, type ^X-M add-mode.  EMACS
  1165. X          will then prompt you for the name of  a  mode  to  add.  When you
  1166. X          type in a legal mode name,  and  type  a <NL>, EMACS will add the
  1167. X          mode  name  to  the list of current mode names in the modeline of
  1168. X          the current buffer.
  1169. X
  1170. X                  To remove an existing mode, typing the  ^X-^M delete-mode
  1171. X          will cause EMACS to prompt you for the name of  a  mode to delete
  1172. X          from the current  buffer.    This  will remove that mode from the
  1173. X          mode list on the current modeline.
  1174. X
  1175. X                  Global modes are the modes which are inherited by any new
  1176. X          buffers which are created.  For example, if you wish to always do
  1177. X          string searching with character case being significant, you would
  1178. X          want global mode EXACT to be  set  so  that any new files read in
  1179. X          inherent the EXACT mode.  Global modes are set with the  M-M add-
  1180. X          global-mode  command, and unset with the M-^M  delete-global-mode
  1181. X          command.  Also, the  current  global  modes  are displayed in the
  1182. X          first line of a ^X-^B list-buffers command.
  1183. X
  1184. X                  On machines which are capable of  displaying  colors, the
  1185. X          mode  commands  can  also  set  the  background   and  foreground
  1186. X          character colors.  Using add-mode or delete-mode with a lowercase
  1187. X          color will set the background color in the current  window.    An
  1188. X          uppercase  color will set the foreground  color  in  the  current
  1189. X          window.  Colors that EMACS knows about are: white, cyan, magenta,
  1190. X          yellow, blue, red,  green,  and  black.   If the computer you are
  1191. X          running on does not have eight colors, EMACS will attempt to make
  1192. X          some intelligent guess at what color to use when you ask  for one
  1193. X          which is not there.
  1194. X
  1195. X
  1196. X          7.1  ASAVE mode
  1197. X
  1198. X
  1199. X                  Automatic Save mode tells  EMACS  to  automatically write
  1200. X          out the current buffer to its associated file on a regular basis.
  1201. X          Normally this will be every 256 characters typed  into  the file.
  1202. X          The environment variable $ACOUNT  counts  down  to the next auto-
  1203. X
  1204. X
  1205. X          27
  1206. X
  1207. X
  1208. X
  1209. X
  1210. X
  1211. X
  1212. X          MicroEMACS Reference Manual                                 Modes
  1213. X
  1214. X
  1215. X          save, and $ASAVE is the value used to reset $ACOUNT after  a save
  1216. X          occurs.
  1217. X
  1218. X
  1219. X          7.2  CMODE mode
  1220. X
  1221. X
  1222. X                  CMODE is useful to C  programmers.  When CMODE is active,
  1223. X          EMACS will try to assist the user in a number of ways.  This mode
  1224. X          is set automatically with files that have a .c or .h extension.
  1225. X
  1226. X                  The <NL> key will normally  attempt to return the user to
  1227. X          the next line  at  the  same  level of indentation as the current
  1228. X          line, unless the current line ends with a open brace ({) in which
  1229. X          case the new line will be further indented by one tab position.
  1230. X
  1231. X                  A close brace (}) will delete one tab position preceeding
  1232. X          itself  as it is typed.  This should line up the close brace with
  1233. X          its matching IF, FOR or WHILE statement.
  1234. X
  1235. X                  A pound sign (#) with only leading whitespace will delete
  1236. X          all the whitespace  preceeding  itself.  This  will  always bring
  1237. X          preprocessor directives flush to the left margin.
  1238. X
  1239. X                  Whenever  any  close  fence  is  typed, ie )]>},  if  the
  1240. X          matching  open  fence  is  on  screen in the current window,  the
  1241. X          cursor will briefly  flash  to  it,  and  then  back.  This makes
  1242. X          balancing expressions, and matching blocks much easier.
  1243. X
  1244. X
  1245. X          7.3  CRYPT mode
  1246. X
  1247. X
  1248. X                  When a buffer is in  CRYPT mode, it is encrypted whenever
  1249. X          it is written to a file, and decrypted when it  is  read from the
  1250. X          file.  The encryption key can be specified on  the  command  line
  1251. X          with the -k  switch,  or with the M-E set-encryption-key command.
  1252. X          If you attempt to read or  write  a  buffer in crypt mode and now
  1253. X          key has  not  been  set,  EMACS  will  execute set-encryption-key
  1254. X          automatically, prompting  you for the needed key.  Whenever EMACS
  1255. X          prompts you for a key, it will not echo the key to your screen as
  1256. X          you type it  (ie  make  SURE  you  get  it  right when you set it
  1257. X          originally).
  1258. X
  1259. X                  The encryption algorithm used changes all characters into
  1260. X          normal printing characters, thus the resulting  file  is suitable
  1261. X          for  sending  via  electronic mail.  All  version  of  MicroEMACS
  1262. X          should  be able decrypt the resulting  file  regardless  of  what
  1263. X          machine encrypted it.   Also  available  with  EMACS is the stand
  1264. X          alone  program,  MicroCRYPT,   which  can  en/decrypt  the  files
  1265. X          produced by CRYPT mode in EMACS.
  1266. X
  1267. X
  1268. X
  1269. X
  1270. X
  1271. X                                                                         28
  1272. X
  1273. X
  1274. X
  1275. X
  1276. X
  1277. X
  1278. X          Modes                                 MicroEMACS Reference Manual
  1279. X
  1280. X
  1281. X          7.4  EXACT mode
  1282. X
  1283. X
  1284. X                  All   string  searches   and   replacements   will   take
  1285. X          upper/lower  case into account. Normally the  case  of  a  string
  1286. X          during a search or replace is not taken into account.
  1287. X
  1288. X
  1289. X          7.5  MAGIC mode
  1290. X
  1291. X
  1292. X                  In  the  MAGIC   mode  certain  characters  gain  special
  1293. X          meanings  when  used  in a search pattern.  Collectively they are
  1294. X          know as regular expressions,  and  a  limited  number of them are
  1295. X          supported in MicroEmacs.   They  grant  greater  flexibility when
  1296. X          using the search  command.    However,  they  do  not  affect the
  1297. X          incremental search command.
  1298. X
  1299. X                  The symbols that  have  special meaning in MAGIC mode are
  1300. X          ^, $, ., &, *, [ (and ], used with it), and \.
  1301. X
  1302. X                  The  characters ^ and $ fix the  search  pattern  to  the
  1303. X          beginning  and  end  of line, respectively.  The ^ character must
  1304. X          appear  at the beginning of the search string,  and  the  $  must
  1305. X          appear at the end,  otherwise  they  loose  their meaning and are
  1306. X          treated just like any  other  character.    For example, in MAGIC
  1307. X          mode, searching for the pattern "t$" would put the cursor  at the
  1308. X          end of any line that ended with the letter 't'.    Note that this
  1309. X          is different than searching for "t<NL>", that is, 't' followed by
  1310. X          a newline character.  The character $ (and ^,  for  that  matter)
  1311. X          matches a position, not a character, so the cursor remains at the
  1312. X          end of the line.  But a  newline  is  a  character  that  must be
  1313. X          matched,  just like any other character,  which  means  that  the
  1314. X          cursor is placed just after it - on  the  beginning  of  the next
  1315. X          line.
  1316. X
  1317. X                  The character .  has a very simple meaning --  it matches
  1318. X          any  single character, except the newline.   Thus  a  search  for
  1319. X          "bad.er" could match "badger", "badder" (slang), or up to the 'r'
  1320. X          of "bad error".
  1321. X
  1322. X                  The character * is known  as closure, and means that zero
  1323. X          or  more  of  the preceding character will match.  If there is no
  1324. X          character preceding, * has no  special meaning, and since it will
  1325. X          not match  with  a  newline,  *  will  have no special meaning if
  1326. X          preceded by the beginning of line symbol ^ or the literal newline
  1327. X          character <NL>.
  1328. X
  1329. X                  The notion of zero or  more characters is important.  If,
  1330. X          for example, your cursor was on the line
  1331. X
  1332. X               This line is missing two vowels.
  1333. X
  1334. X
  1335. X
  1336. X
  1337. X          29
  1338. X
  1339. X
  1340. X
  1341. X
  1342. X
  1343. X
  1344. X          MicroEMACS Reference Manual                                 Modes
  1345. X
  1346. X
  1347. X                  and  a search was made for "a*",  the  cursor  would  not
  1348. X          move, because it  is  guaranteed  to  match no letter 'a' , which
  1349. X          satifies the search conditions.  If you wanted to search  for one
  1350. X          or  more of the letter 'a', you would  search  for  "aa*",  which
  1351. X          would match the letter a, then zero or more of them.
  1352. X
  1353. X                  The character [ indicates the  beginning  of  a character
  1354. X          class.  It is similar to  the  'any'  character ., but you get to
  1355. X          choose which characters you want to match.   The  character class
  1356. X          is ended with the character ].  So,  while  a  search  for "ba.e"
  1357. X          will match "bane", "bade", "bale",  "bate",  et  cetera,  you can
  1358. X          limit  it   to  matching  "babe"  and  "bake"  by  searching  for
  1359. X          "ba[bk]e".    Only  one of the characters inside the [ and ] will
  1360. X          match  a  character.   If in fact you want to match any character
  1361. X          except those in the character class, you can put a ^ as the first
  1362. X          character.  It must be the first character of the class,  or else
  1363. X          it has no special meaning.  So, a search for [^aeiou]  will match
  1364. X          any  character except a vowel, but a  search  for  [aeiou^]  will
  1365. X          match any vowel or a ^.
  1366. X
  1367. X                  If you have a lot of characters in order that you want to
  1368. X          put in  the  character  class,  you may use a dash (-) as a range
  1369. X          character.  So, [a-z] will match any letter (or  any  lower  case
  1370. X          letter if EXACT mode is on), and [0-9a-f] will match any digit or
  1371. X          any letter 'a' through 'f', which happen to be the characters for
  1372. X          hexadecimal numbers.  If the dash is at the beginning or end of a
  1373. X          character class, it is taken to be just a dash.
  1374. X
  1375. X                  The  character & (ampersand) is a replacement  character,
  1376. X          and represents the characters which  matched  the  search string.
  1377. X          When used in the  M-R  replace-string  or the M-^R query-replace-
  1378. X          string commands, the & will be substituted for the search string.
  1379. X
  1380. X                  The escape character \ is for those times  when  you want
  1381. X          to  be  in  MAGIC mode, but also want to use a regular expression
  1382. X          character to  be  just  a  character.    It turns off the special
  1383. X          meaning of the character.  So a search for "it\." will search for
  1384. X          a line with "it.", and not "it" followed by any  other character.
  1385. X          The escape character will also let  you  put  ^, -, or ] inside a
  1386. X          character class with no special side effects.
  1387. X
  1388. X
  1389. X          7.6  OVER mode
  1390. X
  1391. X
  1392. X                  OVER mode stands for overwrite  mode.  When in this mode,
  1393. X          when characters  are typed, instead of simply inserting them into
  1394. X          the file, EMACS  will  attempt to overwrite an existing character
  1395. X          past the point.    This  is  very useful for adjusting tables and
  1396. X          diagrams.
  1397. X
  1398. X
  1399. X
  1400. X
  1401. X
  1402. X
  1403. X                                                                         30
  1404. X
  1405. X
  1406. X
  1407. X
  1408. X
  1409. X
  1410.