home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / memacs32.zip / ehelp1.txt < prev    next >
Text File  |  1993-08-07  |  41KB  |  1,316 lines

  1.     [ENTER]    Picks a topic      [PG UP] Last Screen        Cursor keys
  2.       [F10]    Exit Help    [PG DOWN] Next Screen        are active
  3.        [F6]    Index           [HOME] Main Menu
  4. < >
  5. [ENTER]    Picks a topic     [PG UP] Last Screen   [F6]   Index       Cursor keys
  6.   [F10]    Exit Help      [PG DOWN] Next Screen   [HOME] Main Menu       are active
  7. < >
  8. =>Main Menu
  9. NEXT[The Basics] PREV[Main Menu]
  10.  
  11.  
  12.     < > The Basics            < > Keystrokes 
  13.  
  14.     < > Getting at Files        < > Issuing Commands
  15.  
  16.     < > Searching and Replacing    < > Customizing Command Keys
  17.  
  18.     < > Regions            < > Using the Mouse
  19.  
  20.     < > Cutting and Pasting        < > The Outside World
  21.  
  22.     < > Buffers            < > Advanced Text Editing
  23.  
  24.     < > Windows            < > Writing EMACS Macros
  25.  
  26.     < > Screens            < > Reference Screens
  27.  
  28.     < > Credits & Registration Info
  29.  
  30. =>Commands
  31. =Command List
  32. =>Macros
  33. =Creating New Commands
  34. =>Bindings
  35. =Customizing Command Keys
  36. =>Keyboard Macros
  37. =Repetitive Tasks
  38. =>Pages
  39. =Creating New Commands
  40. =>Credits
  41. =Credits & Registration Info
  42. =>Credits & Registration Info
  43. NEXT[History] PREV[Main Menu]
  44.     Text Editor and Corrector
  45.     written by Daniel M. Lawrence
  46.  
  47.     Major code contributions by:
  48.     Dave Conroy, John Gamble, Dana Hoggatt, Pierre Perret
  49.  
  50.     Information about MicroEMACS can be obtained via:
  51.  
  52.     USMAIL:    Daniel Lawrence        BBS:    The Programmer's Room
  53.         617 New York St            (317) 742-5533
  54.         Lafayette, IN 47901        Fidonet 1:201/10
  55.  
  56.     Internet:        mdbs!dan@dynamo.ecn.purdue.edu
  57.     American Online:    bardor
  58.     Phone (nights):        (317) 742-5153
  59.  
  60.     Register MicroEMACS for prefered phone support and information
  61.     on new releases by sending $25 US to the address above.
  62.  
  63.                 press [PG DOWN] for history info
  64. =>History
  65. NEXT[Main Menu] PREV[Credits & Registration Info]
  66.  
  67.         EMACS was originally a text editor written by Richard
  68.     Stallman at MIT in the early 1970s for Digital Equipment
  69.     computers. Various versions, rewrites and clones have made an
  70.     appearance since.
  71.  
  72.         This version of MicroEMACS is derived from code written
  73.     by Dave G. Conroy in 1985. In 1985, Daniel Lawrence picked up
  74.     the then current source (version 2.0) and made extensive
  75.     modifications and has rewritten it several times over the course
  76.     of the next eight years. In 1992 Pierre Perret produced a very
  77.     nice port of MicroEMACS for Windows and Windows NT.
  78.  
  79.         Updates and support for the current version are
  80.     available. Commercial support and usage and resale licences are
  81.     also available. Contact the author (at the addresses in the last
  82.     help screen) for details.
  83.  
  84.                     [PG DOWN] to return to Main Menu
  85.  
  86. =>The Basics
  87. NEXT[Alternative Basic Keys] PREV[Main Menu]
  88.  
  89.     MicroEMACS is a very powerful tool to use for editing text files.
  90.     It has MANY MANY commands, options and features to let you do just
  91.     about anything you can imagine with text. But don't let this
  92.     apparent complexity keep you from using it.... MicroEMACS can also
  93.     be very simple.
  94.  
  95.     To start editing files, all the keys you really need to know are:
  96.  
  97.           [CSR UP]        These keys let you move
  98.              |            around in the your file
  99.      [CSR <-]  <--->  [CSR ->]
  100.              |
  101.          [CSR DOWN]
  102.  
  103.            [F9]         This saves your file
  104.  
  105.            [F10]        This leaves MicroEMACS
  106.  
  107.                         [PG DOWN] for other basic keys
  108. =>Alternative Basic Keys
  109. NEXT[Glossary of Terms] PREV[The Basics]
  110.  
  111.     On systems that do not have special function and cursor keys,
  112.     MicroEMACS works by using control keys. On such a system these
  113.     keys perform basic functions:
  114.  
  115.         ^P        Move upward
  116.     ^B            Move backward
  117.             ^F    Move forward
  118.         ^N        Move downward
  119.  
  120.         ^X^S        Saves your file
  121.  
  122.         ^X^C        Exits MicroEMACS
  123.  
  124.     An up arrow before the key means to hold the CTRL key down and
  125.     press the next character. For example, to exit MicroEMACS, hold
  126.     down the CTRL key and strike X and then C.
  127.  
  128.     Press [PG DOWN] to learn about the terms used within MicroEMACS
  129.  
  130. =>Glossary of Terms
  131. NEXT[Glossary 2] PREV[Alternative Basic Keys]
  132.  
  133.     MicroEMACS uses a number of defined terms which will help you
  134.     understand the rest of this help document.
  135.  
  136.     < > COMMANDS    These are built in functions that represent
  137.             basic things that MicroEMACS does. For example,
  138.             the cursor up key activates the "previous-line"
  139.             command which moves the cursor up to the line
  140.             of text immediately before the current line.
  141.  
  142.     < > BINDINGS    A binding is a link between a sequence of keys
  143.             and a command. The command previous-line is bound
  144.             to the cursor up key, and to the ^P key. Pressing
  145.             a key sequence causes the command to which it is
  146.             bound to execute.
  147.  
  148.  
  149.  
  150.                     [PG DOWN] for more terms
  151.                         Select term for more info
  152. =>Glossary 2
  153. NEXT[Glossary 3] PREV[Glossary of Terms]
  154.  
  155.         META KEY    is the key used to start many commands. On most
  156.             keyboards this is the [ESC] key, but many times
  157.             it is rebound/changed to the key in the upper
  158.             left corner of the keyboard. This is often the
  159.             grave accent symbol.
  160.  
  161.     < > BUFFERS        These are areas of memory set aside to hold text.
  162.             Each buffer has a buffer name which is used to
  163.             refer to it, and a file name from which it has
  164.             been read or where it will be written.
  165.  
  166.     < > WINDOWS        Sections of the current screen which display a
  167.             portion of a buffer. More than one window may be
  168.             visible at a time. Multiple windows split the
  169.             screen horizontally.
  170.  
  171.  
  172.                     [PG DOWN] for more terms
  173.                         Select term for more info
  174. =>Glossary 3
  175. NEXT[Glossary 4] PREV[Glossary 2]
  176.  
  177.     < > SCREENS        are collection of windows. On a older text style
  178.             system, one screen is displayed at a time. On
  179.             a newer window based system, like OS/2, the
  180.             Macintosh or MicroSoft Windows, each operating
  181.             system window can display a different MicroEMACS
  182.             screen.
  183.  
  184.         MODE LINE    is the line at the bottom of each window naming
  185.             the buffer being displayed, along with its file
  186.             name. Also the active modes of the window are shown.
  187.  
  188.         COMMAND LINE    is the line at the bottom of the each screen
  189.             where you give more information to some commands.
  190.  
  191.  
  192.  
  193.  
  194.                     [PG DOWN] for more terms
  195.                         Select term for more info
  196. =>Glossary 4
  197. NEXT[Glossary 5] PREV[Glossary 3]
  198.  
  199.     < > MACROS        are programs written in the MicroEMACS language
  200.             which let you automate repetitive editing tasks.
  201.             These help pages are being run by a relatively
  202.             simple, but powerful MicroEMACS macro.
  203.  
  204.     < > KEYBOARD MACROS
  205.  
  206.             These are remembered sequences of keystrokes which
  207.             can be used to greatly speed quick and dirty
  208.             repetitive editing.
  209.  
  210.     < > PAGES        These are groups of macros which have been written
  211.             to handle a particular editing task, and which have
  212.             been packaged to be available from the MicroEMACS
  213.             startup file. These macros are bound to shifted
  214.             function keys.
  215.  
  216.                     [PG DOWN] for more terms
  217.                         Select term for more info
  218. =>Glossary 5
  219. NEXT[Main Menu] PREV[Glossary 4]
  220.  
  221.     < > POINT        The position in the text of the current window
  222.             of the cursor. The point is considered between
  223.             the character the cursor rests on and the one
  224.             immediately behind it.
  225.  
  226.     < > MARK        Position in the current buffer which delimits
  227.             the beginning of a region. Various commands
  228.             operate on text from the MARK to the POINT,
  229.             or move the current point to the MARK.
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.                     [PG DOWN] to return to Main Menu
  239.                         Select term for more info
  240. =>Modes of Operation
  241. NEXT[Advanced Text Editing] PREV[Advanced Text Editing]
  242.  
  243.     Modes determine how MicroEMACS will treat text. Modes effect the
  244.     contents of a buffer. Global modes determine the modes of newly
  245.     created buffers.
  246.  
  247.     ^X-M (add-mode)            Adds a mode to the current buffer
  248.     ^X-^M (delete-mode)        Removes a mode from the current buffer
  249.     M-M (add-global-mode)        Adds a global mode
  250.     M-^M (delete-global-mode)    Removes a global mode
  251.  
  252.     These are some of MicroEMACS's modes:
  253.  
  254.     < >  ASAVE mode        < >  EXACT mode        < >  REP mode
  255.  
  256.     < >  CMODE mode        < >  MAGIC Mode        < >  VIEW mode
  257.  
  258.     < >  CRYPT mode        < >  OVER mode        < >  WRAP mode
  259.  
  260.  
  261.  
  262. =>ASAVE Mode
  263. NEXT[Modes of Operation] PREV[Modes of Operation]
  264.  
  265.     ASAVE mode            Automatically Save
  266.  
  267.     When this mode is on, MicroEMACS automatically saves the contents
  268.     of your current buffer to disk every time you have typed 256
  269.     characters. The buffer is saved to the file named on the mode line
  270.     of the buffer. This mode assures you that you will loose very
  271.     little text should your computer crash while you are editing. Be
  272.     sure you are willing to have your original file replaced
  273.     automatically before you add this mode.
  274.  
  275.     The frequency of saving can be altered by changing the contents of
  276.     the $asave environment variable. Use the set command like this:
  277.  
  278.     ^X-A $asave 2048
  279.  
  280.         to change MicroEMACS to automatically save the current
  281.     buffer after every 2048 characters are typed.
  282.  
  283.  
  284.  
  285. =>CMODE Mode
  286. NEXT[Modes of Operation] PREV[Modes of Operation]
  287.  
  288.     CMODE mode            Editing C programs
  289.  
  290.     This mode is specifically for editing programs written in the C
  291.     language. When CMODE is active, MicroEMACS will try to anticipate
  292.     what indentation is needed when the <NL> key is used. It will
  293.     always bring a pound sign (#) with only leading white space back
  294.     to the left margin. It will attempt to flash the proper character
  295.     matching any close symbol as the close symbol is typed.
  296.  
  297.     The standard startup files for MicroEMACS will install a macro
  298.     which checks any file being read into MicroEMACS and sets CMODE if
  299.     the file ends with a .c or .h extension.
  300.  
  301.     M-^F    (goto-matching-fence)
  302.  
  303.     Place the point on any brace, bracket, or parenthesis and use
  304.     this command, MicroEMACS will jump to the matching character. If
  305.     there is none, a beep will sound.
  306.  
  307.  
  308. =>CRYPT Mode
  309. NEXT[Modes of Operation] PREV[Modes of Operation]
  310.  
  311.     CRYPT mode            Encryption
  312.  
  313.     For files of a sensitive nature, MicroEMACS can encrypt text as it
  314.     is written or read. When you write out text, if CRYPT mode is
  315.     active and there is no encryption key, emacs will ask:
  316.  
  317.     Encryption String:
  318.  
  319.     Type in a word or phrase of at least five characters or more for
  320.     the encryption to use. If you look at the file which is then
  321.     written out, all the printing characters have been scrambled. To
  322.     read such a file back in, call up MicroEMACS like this:
  323.  
  324.     emacs -k <filename>
  325.  
  326.         and you will be asked the encryption key before the file is
  327.     read. The encryption algorithm is a Beaufort Cipher with a
  328.     variant key. This is reasonably difficult to decrypt.
  329.  
  330.  
  331. =>EXACT Mode
  332. NEXT[Modes of Operation] PREV[Modes of Operation]
  333.  
  334.     EXACT mode            Character Case during Searches
  335.  
  336.     Normally, when using search or replace commands, MicroEMACS
  337.     ignores the case of letters for comparisons. With EXACT mode set,
  338.     the case of the characters must be the same for a match to occur.
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353. =>MAGIC Mode
  354. NEXT[More MAGIC] PREV[Modes of Operation]
  355.  
  356.     MAGIC mode            Regular Expression Pattern Matching
  357.  
  358.     Normally, MicroEMACS uses the string you type in response to a
  359.     search or replace command as the string to find.  When magic mode
  360.     is enabled, MicroEMACS considers the string you type as a pattern
  361.     or template to use in finding a string to match.  Many characters
  362.     in this template have special meaning:
  363.  
  364.     .        any single character, except newline.
  365.     [<set>]        any single character from the bracketed set.
  366.     ^        beginning of a line.
  367.     $        end of a line.
  368.     \        the next character has no special meaning,
  369.                take the next character literally
  370.                (unless it is a parenthesis)
  371.  
  372.  
  373.                     Press [PG DOWN] for more magic
  374.  
  375. =>More MAGIC
  376. NEXT[Modes of Operation] PREV[MAGIC Mode]
  377.  
  378.     Here are some more special characters in MAGIC mode:
  379.  
  380.     ?        the preceding character (or . or [<set>]) is optional.
  381.     *        the preceding character (or . or [<set>]) matches
  382.             zero to many times.
  383.     +        the preceding character (or . or [<set>]) matches
  384.             one to many times.
  385.     \(<group>\)    define a group for the replacement string, or for
  386.             the &GROUP function.
  387.  
  388.     Some characters in the replacement string can have special meanings:
  389.  
  390.     &        insert all of the text matched by the search.
  391.     \        the next character has no special meaning (but
  392.             see groups...)
  393.     \1 to \9    insert the text defined by the nth group in the
  394.             search string.
  395.  
  396.  
  397. =>OVER Mode
  398. NEXT[Modes of Operation] PREV[Modes of Operation]
  399.  
  400.     OVER mode            Overstrike Mode
  401.  
  402.     MicroEMACS is normally in what many other editors consider
  403.     "insert" mode. This means when you strike a character, MicroEMACS
  404.     makes room for that character in the current line, inserting it
  405.     between the existing characters. In OVER mode, MicroEMACS instead
  406.     overwrites characters, replacing the existing character under the
  407.     point with the character you type. OVER mode will maintain the
  408.     position of text lined up using tabs while replacing existing
  409.     text.
  410.  
  411.     Be wary editing Japanese KANJI characters while in this mode, it
  412.     is possible to overwrite the first byte of the character, leaving
  413.     the second byte meaningless and alone.
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421. =>WRAP Mode
  422. NEXT[Modes of Operation] PREV[Modes of Operation]
  423.  
  424.     WRAP mode            Wrap entered text
  425.  
  426.     This mode causes the point and the previous word to jump down to
  427.     the next line when you type a space and are beyond the current
  428.     fill column. This is normally set to column 72, allowing you to
  429.     enter text non-stop on a standard screen without bothering to use
  430.     the return key.
  431.  
  432.     To change the column that text is wrapped past, use the set
  433.     command to change the value of the $fillcol environment variable,
  434.     like this:
  435.  
  436.     ^X-A $fillcol <new value>
  437.  
  438.     MicroEMACS will then wrap words past column <new value>.
  439.  
  440.  
  441.  
  442.  
  443.  
  444. =>VIEW Mode
  445. NEXT[Modes of Operation] PREV[Modes of Operation]
  446.  
  447.     VIEW mode            No Changes Permitted
  448.  
  449.     When in VIEW mode, no command which would change the text is
  450.     allowed. If you attempt any such command, or try to type in any
  451.     text, MicroEMACS responds with:
  452.  
  453.     [Key Illegal in View Mode]
  454.  
  455.     This mode is very useful when you want to just look at some
  456.     existing text, as it will prevent you from changing that text.
  457.     Also MicroEMACS will not attempt a file lock if a file is read in
  458.     VIEW mode, allowing you to view files which you don't have write
  459.     access to, or other people have locked. To read a file in view
  460.     mode from the command line, type:
  461.  
  462.     emacs -v <filename>
  463.  
  464.  
  465.  
  466.  
  467.  
  468. =>REP Mode
  469. NEXT[Modes of Operation] PREV[Modes of Operation]
  470.  
  471.     REP mode            Replace Mode
  472.  
  473.     MicroEMACS is normally in what many other editors consider
  474.     "insert" mode. This means when you strike a character, MicroEMACS
  475.     makes room for that character in the current line, inserting it
  476.     between the existing characters. In REP mode, MicroEMACS instead
  477.     replaces the existing character under the point with the
  478.     character you type. REP mode will not maintain the position of
  479.     text which takes up multiple columns using tabs since it will
  480.     replace a single tab character with the typed character which will
  481.     not take up the same space on screen.
  482.  
  483.     However, Japanese KANJI characters will correctly replace and be
  484.     replaced in this mode as the two bytes will be considered together
  485.     when either style character is used.
  486.  
  487.  
  488.  
  489.  
  490.  
  491. =>Keystrokes
  492. NEXT[Main Menu] PREV[Main Menu]
  493.  
  494.     All the MicroEMACS documentation talks about commands and the
  495.     keystrokes needed to use them. Each MicroEMACS command has a name,
  496.     and most of them are bound to a sequence of keys. Whenever we
  497.     refer to a command we will display it's binding (the keys needed
  498.     to activate the command) and the name of the command in
  499.     parenthesis.
  500.  
  501.     Keystrokes for commands include one of several prefixes, and a
  502.     command character. Command keystrokes look like these:
  503.  
  504.         ^A    hold down <Ctrl>, press 'A'
  505.         M-A    press the META key, release it and press 'A'
  506.         ^X-A    Hold <Ctrl>, press 'X', release, press 'A'
  507.         ^X-^A    hold <Ctrl>, press 'X', release, hold <Ctrl>, press 'A'
  508.         S-FN1    hold down <SHIFT>, press function key 1
  509.         A-A    hold down <Alt>, press 'a'
  510.         FN^1    hold down <Ctrl>, press function key 1
  511.  
  512.  
  513. =>Searching and Replacing
  514. NEXT[Other Searches] PREV[Main Menu]
  515.  
  516.     Commands for searching for and replacing strings come in a number
  517.     of different flavors. The simplest commands is:
  518.  
  519.     ^S (search-forward)
  520.  
  521.     Typing this command results in a prompt like this:
  522.  
  523.     Search []<META>:
  524.  
  525.     Any text shown in the square brackets will be searched for if you
  526.     don't type in any string. This is called the default search
  527.     string. The key shown in the angle brackets is the key you type to
  528.     end the search string, which is called the search terminator key.
  529.     Normally, it is the META, or ESCape key. This lets you to use the
  530.     return key (<NL>) in a search string. So if you want to find the
  531.     string "mystic", you would type the word, and then ESCape key. The
  532.     point would jump to the end of the next occurrence of "mystic",
  533.     or, if there are none, MicroEMACS displays "not found".
  534.  
  535. =>Other Searches
  536. NEXT[Replacements] PREV[Searching and Replacing]
  537.  
  538.     ^R (search-reverse)
  539.  
  540.     This works like ^S except that it searches backwards through the
  541.     text for the last occurrence of the string. It leaves the point at
  542.     beginning of the string found.
  543.  
  544.     A-S (hunt-forward)
  545.  
  546.     This command searches for the next occurrence of the last search
  547.     string entered, without prompting for another string. To use this
  548.     command, hold down the ALT key and type 's'. This keystroke may
  549.     not be available on all keyboards.
  550.  
  551.     A-R (hunt-backwards)
  552.  
  553.     This searches backwards for the last occurrence of the last search
  554.     string entered. This also is only available on some keyboards.
  555.  
  556.  
  557. =>Replacements
  558. NEXT[Main Menu] PREV[Other Searches]
  559.  
  560.     M-R (replace-string)
  561.  
  562.     This will prompt for two strings. The first string is replaced
  563.     with the second from the current position to the end. Both strings
  564.     may have defaults. If you want to replace a string with nothing,
  565.     and there is a default on the replacement string, striking ^K will
  566.     override the default and enter a blank string.
  567.  
  568.     M-^R (query-replace-string)
  569.  
  570.     Otherwise like replace-string, this command prompts at each
  571.     string. Typing 'Y' replaces the current string, 'N' skips the
  572.     current string, '!' replaces the current and all following strings
  573.     without asking, 'U' skips to the previous replacement and undoes
  574.     it, '^G' aborts the command, leaving the point at the current
  575.     word, '.' aborts and moves the point back to where the command
  576.     was originally given, '?' lists the available options.
  577.  
  578.  
  579.  
  580. =>Regions
  581. NEXT[Main Menu] PREV[Main Menu]
  582.  
  583.     Regions are used in MicroEMACS to specify what text is acted on by
  584.     many commands. A region is defined as all the text between the
  585.     point, and the last placed MARKed. To define a region:
  586.     
  587.  
  588.     1) Move the point to the beginning of the text you
  589.        want to effect
  590.  
  591.     2) Use the M-<space> (set-mark) command to position
  592.        the MARK at the current point
  593.  
  594.     3) Move the point to the end of the text you want to effect
  595.  
  596.     At this time, the text between the MARK and the POINT is the
  597.     current region which will be effected by many commands. Regions
  598.     can be defined backwards as well as forwards, and can include the
  599.     entire text, or as little as one character.
  600.  
  601.  
  602.  
  603.  
  604. =>Cutting and Pasting
  605. NEXT[Copying Text] PREV[Main Menu]
  606.  
  607.     To move text from one place to another:
  608.     
  609.     1) Move to the beginning of the text you want to move.
  610.     
  611.     2) Set the mark here with the M-<space> (set-mark) command.
  612.     
  613.     3) Move the point to the end of the text.
  614.     
  615.     4) Use the ^W (kill-region) command to delete the region you just
  616.        defined. The text will be saved in the "kill buffer".
  617.     
  618.     5) Move the point to the place you want the text to appear.
  619.     
  620.     6) Use the ^Y (yank) command to copy the text from the kill buffer
  621.        to the current point.
  622.     
  623.     Repeat steps 5 and 6 to place more copies of the same text.
  624.  
  625.                     [PG DOWN] for more info
  626.  
  627. =>Copying Text
  628. NEXT[Main Menu] PREV[Cutting and Pasting]
  629.  
  630.     Copying text, without deleting the original is just like cutting
  631.     and pasting it, except that in place of the ^W (kill-region)
  632.     command, you use the M-W (copy-region) command which copies the
  633.     current region into the kill buffer without deleting it.
  634.     
  635.     The kill buffer accumulates and text which is deleted by ^W, M-W
  636.     or a number of other delete commands. If more than one delete
  637.     command is used in a row, all the text from all the commands will
  638.     be in the kill buffer. Using any command between deletes causes
  639.     the kill buffer to discard earlier deletes and just hold the most
  640.     recent deletions.
  641.     
  642.     Since there is only one kill buffer, you can switch between
  643.     windows, screens and files to copy text from one file to another.
  644.     There is no limit to the amount of text that can be stored in the
  645.     kill buffer except that of the memory of the computer running
  646.     MicroEMACS. Extremely large kills will take a few seconds.
  647.  
  648.  
  649.  
  650. =>Buffers
  651. NEXT[Buffer Commands] PREV[Main Menu]
  652.  
  653.     A buffer is where MicroEMACS stores text. Normally that text is
  654.     read from a file, and is visible in a editing window. But text stored
  655.     in buffers can also be MicroEMACS macros, temporary storage for
  656.     macros, or lists of screens, files, buffers, variables, functions
  657.     or bindings created by MicroEMACS commands. Buffer commands include:
  658.     
  659.     ^X-B    (select-buffer)
  660.  
  661.     This prompt for a buffer name, and then makes that buffer the one
  662.     visible in the active window. If the buffer does not yet exist, it
  663.     will create it.
  664.  
  665.     ^X-K    (delete-buffer)
  666.  
  667.     MicroEMACS attempts to discard the named buffer, reclaiming the
  668.     memory it occupied. It will not allow the destruction of a buffer
  669.     which is currently visible through any window on any screen.
  670.  
  671.                     [PG DOWN] for more buffer commands
  672. =>Buffer Commands
  673. NEXT[Memory Usage] PREV[Buffers]
  674.  
  675.     ^X-^B    (list-buffers)
  676.  
  677.     This pops up a list of all the buffer names, the file the buffer was
  678.     read from, the size, and the active modes for each buffer. Using a
  679.     numeric argument (M-<n>) with the command will list hidden buffers
  680.     used by MicroEMACS and its macros.
  681.  
  682.     A '@' in column one shows that a file has already been read into a
  683.     buffer. A '*' in column two means that the buffer has been changed
  684.     since the last time it was written to disk. A '#' in column three
  685.     indicates the file was to large to read into memory and was truncated.
  686.  
  687.     ^X-X    (next-buffer)
  688.  
  689.     This command causes MicroEMACS to switch the active window to
  690.     display the next buffer in the buffer list. This can be used to
  691.     easily step through all the buffers.
  692.  
  693.                 [PG DOWN] for info on buffers memory usage
  694. =>Memory Usage
  695. NEXT[Main Menu] PREV[Buffer Commands]
  696.  
  697.     The only limit to the number of buffers is the memory of your
  698.     computer. All the buffers, text, screens and windows use memory
  699.     for storage. On UNIX and other machines with virtual memory there
  700.     is no limit to the number and size of files you edit. Under MSDOS,
  701.     the AMIGA, the Atari ST, the HP150 and other microcomputers you
  702.     can estimate the memory used by adding up the size of all the
  703.     files you want to edit simultaneously, multiply by 1.4, and add
  704.     170K for the size of MicroEMACS. This results in the amount of
  705.     free memory needed to edit these files.
  706.  
  707.     Under a MSDOS machine with 574K free from dos, you can edit files
  708.     totaling 288K in size.
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716. =>Windows
  717. NEXT[Window Commands] PREV[Main Menu]
  718.  
  719.     MicroEMACS uses windows to display and allow you to edit the
  720.     contents of buffers. A single screen will show one or more
  721.     windows, separated by a modeline which describes the contents of
  722.     the window above it. Here are some window commands:
  723.  
  724.     ^X-2    (split-current-window)
  725.  
  726.     This command splits the current window into two windows. Both
  727.     windows view the current buffer at the current POINT.
  728.  
  729.     ^X-O    (next-window)    ^X-P    (previous-window)
  730.  
  731.     These commands make the next window down, or the previous window
  732.     upward the current window. MicroEMACS highlights the mode line of
  733.     the currently active window, and places the machine's cursor at
  734.     the POINT.
  735.  
  736.                     [PG DOWN] for more window commands
  737.  
  738.  
  739. =>Window Commands
  740. NEXT[More Window Commands] PREV[Windows]
  741.  
  742.     ^X-1    (delete-other-windows)
  743.  
  744.     This command deletes all other windows but the active window.
  745.  
  746.     ^X-0    (delete-window)
  747.  
  748.     This removes the active window from the screen, giving its space
  749.     to one of the adjacent windows. It does not discard or destroy any
  750.     text, just stops looking at that buffer. You can not delete the
  751.     last window on the screen.
  752.  
  753.     ^X-^N    (move-window-down)    ^X-^P    (move-window-up)
  754.  
  755.     These commands moves the windows view into it's buffer up or down
  756.     by one line. Preceding the command with M-<n> will move the
  757.     window's view up or down by <n> lines.
  758.  
  759.                 [PG DOWN] for even more window commands
  760.  
  761. =>More Window Commands
  762. NEXT[Main Menu] PREV[Window Commands]
  763.  
  764.     M-<n> ^X-W    (resize-window)
  765.  
  766.     Type META, followed by a number, and then the resize-window
  767.     command, ^X-W. This attempts to change the length of the current
  768.     window (and it's mode line) to the number of lines you typed.
  769.     This may not always be possible depending on the size of the
  770.     other windows.
  771.  
  772.     ^X-^    (grow-window)        ^X-^Z    (shrink window)
  773.  
  774.     These commands attempt to change the size of the active window by
  775.     one line.
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783. =>Screens
  784. NEXT[Screen Commands] PREV[Main Menu]
  785.  
  786.     A Screen is a collection of windows and a command line which are
  787.     displayed together. On some non-graphically oriented systems, such
  788.     as UNIX, only one screen is displayed at one time. Under other
  789.     graphical oriented operating systems like WINDOWS 3, X-WINDOWS,
  790.     the Macintosh or the Amiga, each screen is displayed in an
  791.     operating system "window". Notice that the MicroEMACS usage of the
  792.     word window is different from the meaning used in these graphical
  793.     systems.
  794.  
  795.         MicroEMACS term        OS term
  796.  
  797.             Window    ==    Pane
  798.             Screen    ==    Window
  799.  
  800.     Each screen has its own set of windows and its own command line.
  801.     Switching from one screen to another will preserve the window
  802.     setup, the colors and the buffers being displayed.
  803.  
  804.                     [PG DOWN] for screen commands
  805. =>Screen Commands
  806. NEXT[More Screen Commands] PREV[Screens]
  807.  
  808.     Under MSDOS, MicroEMACS uses a simple windowing system which
  809.     can display more than one screen at once. Look at the section
  810.     on using the mouse to learn how these screens can be manipulated.
  811.  
  812.     A-F    (find-screen)
  813.  
  814.     This prompts you for a screen name. If it does not exist, it is
  815.     created. On text systems, this screen is displayed. On graphic
  816.     systems, the OS window containing this screen is brought to front.
  817.     Clicking on an existing window will also switch to that screen.
  818.  
  819.     A-C    (cycle-screen)
  820.  
  821.     This command takes the rearmost screen, the last screen in
  822.     the screen list, and moves it to the front.
  823.  
  824.  
  825.                 [PG DOWN] for more screen commands
  826.  
  827. =>More Screen Commands
  828. NEXT[Main Menu] PREV[Screen Commands]
  829.  
  830.     A-D    (delete-screen)
  831.  
  832.     This command deletes any screen which is not the active screen.
  833.     Buffers being displayed on that screen are not discarded. On
  834.     graphic systems, the screen's OS window is closed. Clicking on
  835.     a close gadget will activate this command.
  836.  
  837.     A-B    (list-screens)
  838.  
  839.     A pop up buffer containing a list of all current named screens
  840.     and the names of the buffers visible in the windows on that screen
  841.  
  842.  
  843.  
  844.  
  845.  
  846.                 [PG DOWN] to return to Main Menu
  847.  
  848.  
  849. =>Getting at Files
  850. NEXT[More File Commands] PREV[Main Menu]
  851.  
  852.     ^X-^F    (find-file)
  853.  
  854.     This command causes MicroEMACS to prompt you for the name of a
  855.     file you want to edit. If that file is already somewhere in the
  856.     editor, it brings it up in the current window. If it is not, it
  857.     searches for it on disk. If it exists, it creates a new buffer
  858.     and reads the contents of the file into it. If it does not yet
  859.     exist, it simply creates a new buffer. In any case the buffer
  860.     is brought up in the current window. If you press a space or ESC
  861.     while typing in the filename, MicroEMACS will attempt to complete
  862.     the name for you.
  863.  
  864.     ^X-^S    (save-file)    [also F9 on some systems]
  865.  
  866.     If the text in the current buffer has been changed since it has
  867.     been read, MicroEMACS will write the changed text back to the
  868.     disk file it came from.
  869.  
  870.                     [PG DOWN] for more file commands
  871. =>More File Commands
  872. NEXT[Yet More File Commands] PREV[Getting at Files]
  873.  
  874.     ^X-^R    (read-file)
  875.  
  876.     Use this command to read a file into the current buffer, replacing
  877.     its original text with that from the file. MicroEMACS' concept of
  878.     the current file name will not change, so make sure that replacing
  879.     the text in the original file with that from the read one is what
  880.     you are intending when you use this command.
  881.  
  882.     ^X-^W    (write-file)
  883.  
  884.     This writes the text in the current buffer to a file with a name
  885.     different from what MicroEMACS thought it was originally. This
  886.     does change MicroEMACS concept of the current buffer's file name.
  887.  
  888.     M-Z    (quick-exit)
  889.  
  890.     This special exit command leaves MicroEMACS, but only after
  891.     writing out all changed buffers.
  892.                         [PG DOWN] for yet more
  893. =>Yet More File Commands
  894. NEXT[Main Menu] PREV[More File Commands]
  895.  
  896.     ^X-^I    (insert-file)
  897.  
  898.     This will ask you for the name of a file to insert into the
  899.     current buffer, at the point.
  900.  
  901.     ^X-^A    (append-file)
  902.  
  903.     Similar to write-file, this command writes out the current buffer
  904.     to the named file. But rather than replacing its contents, it
  905.     appends it to the end of the existing text in the file. This does
  906.     not change the filename of the current buffer. This is handy for
  907.     building log files.
  908.  
  909.     ^X-N    (change-file-name)
  910.  
  911.     This command lets you directly change the filename associated
  912.     with the current buffer.
  913.                     [PG DOWN] to return to main menu
  914.  
  915. =>Issuing Commands
  916. NEXT[Numeric Arguments] PREV[Main Menu]
  917.  
  918.     Commands within MicroEMACS have descriptive names which you can
  919.     use to invoke them, or bind them to a keystroke. To execute one
  920.     of these commands, use the execute-named-command (M-X) command.
  921.     A colon (:) will appear on the command line. Type in the name of
  922.     the command and strike <enter>. The command will execute. If you
  923.     type a <space> or the META key while typing, MicroEMACS will
  924.     attempt to complete the name for you.
  925.  
  926.     To get a list of ALL the commands in your current MicroEMACS, type:
  927.  
  928.         M-X describe-bindings
  929.  
  930.     This will display a paged list of all legal commands and the
  931.     keystrokes to use to invoke them.
  932.  
  933.  
  934.  
  935.                 [PG DOWN] for more info on commands
  936.  
  937. =>Numeric Arguments
  938. NEXT[Command Lines] PREV[Issuing Commands]
  939.  
  940.     Some commands take a number as an argument. For example, to move
  941.     to a particular line within a file, you use the goto-line (M-G)
  942.     command. To go to a particular line, precede the command with
  943.     a number by striking the META key, typing a number, and then
  944.     the keys bound to the command. To go to the 123rd line of a file:
  945.  
  946.         <META>123<META>g
  947.  
  948.     If a command does not need a numeric argument, it is taken as
  949.     a repeat count. This also works when typing any character!
  950.     To make a line of 50 dashes type:
  951.  
  952.         <META>50-
  953.  
  954.     --------------------------------------------------
  955.  
  956.  
  957.                 [PG DOWN] for more info on using commands
  958.  
  959. =>Command Lines
  960. NEXT[Macros] PREV[Numeric Arguments]
  961.  
  962.     Execute-command-line (M-^X) lets you type in a MicroEMACS
  963.     command line. MicroEMACS macros are made from sequences of
  964.     these command lines. A command line has three parts:
  965.  
  966.         <numeric argument> <command> <arguments>
  967.  
  968.     To insert the string <*><*><*> at the point, type M-^X and then:
  969.  
  970.         3 insert-string "<*>"
  971.  
  972.     or to set the current fill column to 64, type M-^X and then:
  973.  
  974.         64 set-fill-column
  975.  
  976.  
  977.  
  978.  
  979.                 [PG DOWN] to learn more about using macros
  980.  
  981. =>Customizing Command Keys
  982. NEXT[Unbinding Keys] PREV[Main Menu]
  983.  
  984.     MicroEMACS lets you decide what keys activate what command!
  985.  
  986.     M-K    (bind-to-key)
  987.  
  988.     prompts you for a command name, and a keystroke to bind to that
  989.     command. A keystroke can be bound only to one command at a time,
  990.     so when you bind it, its old definition is forgotten. This command
  991.     can be used to permanently change your key bindings by placing it
  992.     at the end of your emacs.rc (.emacsrc under UNIX) file. For example,
  993.     if you have one of those nasty keyboards with a tilde (~) in the
  994.     upper left corner, where ESC should be, and you want the tilde
  995.     to become the META key, add this line to the end of emacs.rc:
  996.  
  997.         bind-to-key meta-prefix ~
  998.  
  999.     You can use this command to make MicroEMACS feel similar to any
  1000.     other editor by changing what keys activate which commands.
  1001.  
  1002.                 [PG DOWN] for more binding commands
  1003. =>Unbinding Keys
  1004. NEXT[Main Menu] PREV[Customizing Command Keys]
  1005.  
  1006.     M-^K    (unbind-key)
  1007.  
  1008.     This prompts you for a key, and then disconnects if from
  1009.     executing any command. Useful if you have a function key you
  1010.     keep tripping over, or if you are trying to make MicroEMACS look
  1011.     like a much more minimalistic editor.
  1012.  
  1013.     (describe-bindings)
  1014.  
  1015.     Executed with the M-X command, this command pops up a list of
  1016.     all MicroEMACS commands, each with all the keys which are currently
  1017.     bound to it.
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.                 [PG DOWN] to return to Main Menu
  1025.  
  1026. =>Advanced Text Editing
  1027. NEXT[Main Menu] PREV[Main Menu]
  1028.  
  1029.     Learn About
  1030.  
  1031.  
  1032.         < >    Modes of Operation
  1033.  
  1034.         < >    Paragraphs
  1035.  
  1036.         < >    Words
  1037.  
  1038.         < >    Case Control
  1039.  
  1040.         < >    Controlling Tabs
  1041.  
  1042.         < >    Repetitive Tasks
  1043.  
  1044.         < >    Narrowing Your Scope
  1045.  
  1046.                 [PG UP] to return to Main Menu
  1047.     
  1048. =>Controlling Tabs
  1049. NEXT[More Tab Commands] PREV[Advanced Text Editing]
  1050.  
  1051.     The TAB key can operate in many different ways from within
  1052.     MicroEMACS. These commands sequences change its behavior.
  1053.  
  1054.     M-<n> <TAB> (handle-tab)
  1055.  
  1056.     Using the TAB key with a non-zero numeric argument tells
  1057.     MicroEMACS to use soft-tabs, meaning to use spaces to simulate
  1058.     tab stops every <n> characters.
  1059.  
  1060.     M-0 <TAB> (handle-tab)
  1061.  
  1062.     This tells MicroEMACS to use real tab characters (^Is) when
  1063.     the TAB key is pressed. The tab stops are set every 8 characters
  1064.     by default. This can be changed be setting the $hardtab variable.
  1065.  
  1066.  
  1067.  
  1068.                 [PG DOWN] for more commands about tabs
  1069.  
  1070.     
  1071. =>More Tab Commands
  1072. NEXT[Main Menu] PREV[Controlling Tabs]
  1073.  
  1074.     ^X-^E    (entab-region)
  1075.  
  1076.     This command converts any eligable sequences of spaces in the
  1077.     currently defined region into tabs, honoring the current
  1078.     $hardtab value. This will reduce the size of most text files.
  1079.  
  1080.     ^X-^D    (detab-region)
  1081.  
  1082.     Any tabs in the currently defined region are expanded to spaces.
  1083.     This preserves the current look of the file, and is usefull when
  1084.     a line is to be processed by a macro.
  1085.  
  1086.     ^X-^T    (trim-region)
  1087.  
  1088.     While not a tab command, this one is often used in conjunction
  1089.     with the tab commands. All the lines in the currently defined
  1090.     region are stripped of any trailing whitespace.
  1091.  
  1092.                 [PG DOWN] to return to the main menu
  1093.  
  1094. =>The Outside World
  1095. NEXT[More External Commands] PREV[Main Menu]
  1096.  
  1097.     These commands let you interact with the Operating System
  1098.  
  1099.     ^X-^C    (exit-emacs)
  1100.  
  1101.     Most important of commands, you use this the exit MicroEMACS.
  1102.     If you have any buffers with text that has been changed, you
  1103.     will be asked if you are sure you want to leave.
  1104.  
  1105.     ^X-!    (shell-command)
  1106.  
  1107.     Call up the operating system shell to execute a line which
  1108.     MicroEMACS will prompt you for. If this is used interactively,
  1109.     the editor will politely wait for you to press a key on the way
  1110.     back in so you can view the results of your command.
  1111.  
  1112.  
  1113.                 [PG DOWN] for more external commands
  1114.  
  1115.     
  1116. =>More External Commands
  1117. NEXT[Main Menu] PREV[The Outside World]
  1118.  
  1119.     ^X-$    (execute-program)
  1120.  
  1121.     This attempts to call up an external program directly, not through an
  1122.     intervening shell. Without the shell, the call is faster and uses less
  1123.     memory, but it can not be used to execute internal shell commands. (You
  1124.     can not use it for the "DIR" command under MSDOS!)
  1125.  
  1126.     ^X-@    (pipe-command)
  1127.  
  1128.     This command uses the shell to execute a program, but rather than
  1129.     displaying what the program prints, it attempts to place it in a
  1130.     buffer to let you edit or save it.
  1131.  
  1132.     ^X-#    (filter-buffer)
  1133.  
  1134.     The contents of the current window are fed to a filter program
  1135.     (like SORT) and the results replace the original.
  1136.  
  1137.                 [PG DOWN] to return to the main menu
  1138. =>Paragraphs
  1139. NEXT[More Paragraph Commands] PREV[Advanced Text Editing]
  1140.  
  1141.     MicroEMACS defines a paragraph as any lines of text surrounded
  1142.     by blank lines. A line starting with a tab or one of the characters
  1143.     in the $fmtlead variable is considered the first line of a paragraph.
  1144.  
  1145.     If you are editing text destined for use by a text formatter, set
  1146.     $fmtlead to the command character for that formatter. That will
  1147.     prevent MicroEMACS from formatting what should be lines of commands
  1148.     meant for the formatter. If, for example, you are editing SCRIBE
  1149.     source, use the ^X-A (set) command to set $fmtlead to "@".
  1150.  
  1151.     Commands that manipulate paragraphs include:
  1152.  
  1153.     M-N    (next-paragraph)
  1154.  
  1155.     This command moves the point just past the last character of the
  1156.     current paragraph. If already at the end, it will move to the end
  1157.     of the next paragraph.
  1158.  
  1159.                 [PG DOWN] for more paragraph commands
  1160. =>More Paragraph Commands
  1161. NEXT[Advanced Text Editing] PREV[Paragraphs]
  1162.  
  1163.     M-P    (previous-paragraph)
  1164.  
  1165.     The point is moved to the first character of the current paragraph.
  1166.     If already at the beginning, it will move back to the previous one.
  1167.  
  1168.     M-^W    (kill-paragraph)
  1169.  
  1170.     This deletes the current paragraph, leaving a copy in the kill
  1171.     buffer.
  1172.  
  1173.     M-Q    (fill-paragraph)
  1174.  
  1175.     This all important commands re-formats the current paragraph,
  1176.     causing all of its text to be filled out to the current fill column
  1177.     (Which is 72 by default and is set with $fillcol).
  1178.  
  1179.  
  1180.             [PG DOWN] to return to the Advanced Editing Menu
  1181.  
  1182. =>Words
  1183. NEXT[More Word Commands] PREV[Advanced Text Editing]
  1184.  
  1185.     Words are defined, by default, as a string of characters consisting
  1186.     of alphabetics, numbers and the underscore(_) character. You can
  1187.     change this be setting the $wchars variable to a list of all the
  1188.     characters you want considered as part of a word.
  1189.  
  1190.     Commands to manipulate words include:
  1191.  
  1192.     M-F    (next-word)    [<CTRL> -> on PC keyboards]
  1193.  
  1194.     This positions the point at the beginning of the next word.
  1195.  
  1196.     M-B    (previous-word)    [<CTRL> <- on PC keyboards]
  1197.  
  1198.     This positions the point at the beginning of the previous word.
  1199.  
  1200.  
  1201.  
  1202.                 [PG DOWN] for more word commands]
  1203.  
  1204. =>More Word Commands
  1205. NEXT[Advanced Text Editing] PREV[Words]
  1206.  
  1207.     M-D    (delete-next-word)
  1208.  
  1209.     Delete from the current position to the beginning of the next word.
  1210.  
  1211.     M-^H    (delete-previous-word)
  1212.  
  1213.     Dete the word before the point.
  1214.  
  1215.     M-^C    (count-words)
  1216.  
  1217.     Show the number of words in the current region, along with the
  1218.     number of characters, lines and the average number of characters
  1219.     per word.
  1220.  
  1221.  
  1222.  
  1223.  
  1224.                 [PG DOWN] to return to Advanced Editing Menu
  1225.  
  1226. =>Case Control
  1227. NEXT[Advanced Text Editing] PREV[Advanced Text Editing]
  1228.  
  1229.     M-C    (case-word-capitalize)
  1230.     M-L    (case-word-lower)
  1231.     M-U    (case-word-upper)
  1232.  
  1233.     These three commands let you change the case of the word at or
  1234.     following the point.
  1235.  
  1236.     ^X-^L    (case-region-lower)
  1237.     ^X-^U    (case-region-upper)
  1238.  
  1239.     Setting a mark (with M-<space>), moving to the other end of a region
  1240.     and using one of these commands will change the case of all the words
  1241.     in the selected region.
  1242.  
  1243.  
  1244.  
  1245.  
  1246.             [PG DOWN] to return to Advanced Editing Menu
  1247.  
  1248. =>Narrowing Your Scope
  1249. NEXT[Advanced Text Editing] PREV[Advanced Text Editing]
  1250.  
  1251.     Many times you will want to do something to a part of the text
  1252.     when the command works on all the text. Also it is helpful to
  1253.     see or edit just a portion of the text.
  1254.  
  1255.     ^X-<    (narrow-to-region)
  1256.  
  1257.     All the text in current buffer disappears except what is in the
  1258.     currently defined region. The modeline displays "<>" to indicate
  1259.     the current window looks into a narrowed buffer.
  1260.  
  1261.     ^X->    (widen-from-region)
  1262.  
  1263.     All the invisible text is restored.
  1264.  
  1265.  
  1266.  
  1267.  
  1268.             [PG DOWN] to return to Advanced Editing Menu
  1269.  
  1270. =>Repetitive Tasks
  1271. NEXT[More Keyboard Macros] PREV[Advanced Text Editing]
  1272.  
  1273.     Computers excel at performing the same task multiple times. You
  1274.     should never have to perform the same edit more than once. These
  1275.     commands show how:
  1276.  
  1277.     ^X-(    (begin-macro)
  1278.  
  1279.     This commands tells MicroEMACS to begin memorizing any keystrokes,
  1280.     commands or mouse clicks.
  1281.  
  1282.     ^X-)    (end-macro)
  1283.  
  1284.     MicroEMACS stops recording when this command is given.
  1285.  
  1286.     ^X-E    (execute-macro)
  1287.  
  1288.     This command replays everything recorded last.
  1289.  
  1290.         [PG DOWN] to learn more about keyboard macros
  1291.  
  1292. =>More Keyboard Macros
  1293. NEXT[Advanced Text Editing] PREV[Repetitive Tasks]
  1294.  
  1295.     To perform any repetitive task, where you have a list of things
  1296.     that need to be changed, one per line, follow these steps:
  1297.  
  1298.     1) Position the point to the beginning of the line to change
  1299.  
  1300.     2) Strike ^X-( to start recording
  1301.  
  1302.     3) make the change, staying on that line
  1303.  
  1304.     4) move to the beginning of the next line
  1305.  
  1306.     5) Strike ^X-) to stop recording
  1307.  
  1308.     Now hit ^X-E once to test your change on the next line. Did it
  1309.     work? If so count how many lines need to yet be changed, strike
  1310.     the META key followed by that number and ^X-E. Voila! Your change
  1311.     has been made on all the lines.
  1312.  
  1313.             [PG DOWN] to return to Advanced Editing Menu
  1314. =>ENDOFFILE
  1315. < >
  1316.