home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / a / express.lbr / EXPRESS2.DZC / EXPRESS2.DOC
Encoding:
Text File  |  1993-10-26  |  24.0 KB  |  629 lines

  1. .brp
  2. .ctd \
  3. .hbb
  4. .fif
  5.             EXPRESS - Full Screen Editor                (c)1985 C. & L. Stump
  6. .fin
  7. .hbe
  8. .fbb
  9. \\%pageno%\\
  10. .fbe
  11. .inl 12
  12. .inr 4
  13. .spb 4
  14. .alc
  15. .fif
  16. COMMAND MODE
  17. ------------
  18. .fin
  19. .all
  20. .spb 4
  21.  
  22. Command Mode is entered from edit mode by pressing the <ESC> key (^[),
  23. (____). When you do this, the screen will be cleared and some
  24. information will be printed at the top of the screen, like this:
  25.  
  26.         EXPRESS 1.0 Full Screen Editor  Purchaser: Joe Schmoe
  27.         (c) 1984 Cecil & Laine Stump     Terminal: Snipe-13
  28.         A0:Editing B7:JUNK.TXT       - More of File Still on Disk -
  29.         >_
  30.  
  31. The number on the top line is the version number of this copy of EXPRESS
  32. and should be noted in any correspondence regarding this copy of
  33. EXPRESS.
  34.  
  35. The name following 'Purchaser:' is the legal owner of this copy of
  36. EXPRESS and the 'Terminal:' is the terminal or computer system that this
  37. copy of EXPRESS will run on (the system that it is configured for).
  38.  
  39. The letter and number at the beginning of the third line is the current
  40. 'default' drive and user area. This is the drive and user area that will
  41. be assumed whenever you type a filename for a command and don't enter a
  42. drive name or user area. The file displayed after 'Editing' is the file
  43. that is currently being edited. If the file is larger than the available
  44. main memory (RAM) in your system and the entire file has not yet passed
  45. through the memory buffer, the message 'More of File Still on Disk' will
  46. be displayed following the file name.
  47.  
  48. The fourth line is the command input line. It contains the prompt '>'
  49. and the cursor is placed immediately after the prompt. This is where all
  50. commands will be input. All of the single line editing commands can be
  51. used when inputting the command line, including cursor movement,
  52. character insertion and deletion, etc.
  53.  
  54. The line immediately below the prompt line is the 'auxiliary input' line
  55. (for short yes/no questions) and the line below that is the 'error
  56. line'. Any time there is a mistake made in command input (for instance,
  57. if a file doesn't exist) the message telling you so will be printed on
  58. this line.
  59.  
  60. The rest of the screen following the error line is the 'message area'.
  61. This usually contains a menu of commands (this menu can be turned off
  62. with the <D>efault Settings section of the CONFIG program, if you
  63. desire), but sometimes has a directory of the disk (accomplished with
  64. the DIR command) or a display of the current tab stops, margin settings,
  65. memory usage, etc. (gotten by setting a new value for one of these
  66. parameters, or merely typing TABS).
  67.  
  68. You are now in command mode and have access to a variety of useful
  69. functions including: ENDing the editing session, setting the TABS,
  70. SEARCHing for a string of characters, TYPEing, RENAMEing, COPYing, and
  71. ERAsing files, and many others.
  72. .brp
  73. .fif
  74. COMMANDS
  75. --------
  76. .fin
  77.  
  78.  
  79. The following is a list of commands executable from the command mode of
  80. EXPRESS. These commands are executed by typing the command and any
  81. arguments that are needed followed by a carriage return, <CR>, which
  82. begins execution of the given command.
  83.  
  84. The entire word for a command may be used if you wish, to make it easy
  85. to remember, but you are only required to enter the letters that are
  86. shown in upper case in the discussion below. You may, however, type the
  87. command in upper or lower case.
  88.  
  89. The following descriptions will use these rules of grammer:
  90.  
  91. .inb +8
  92. .unl 4
  93. [ ] - anything enclosed in brackets is an optional part of the
  94. command and may be omitted (do not enter the brackets themselves
  95. as part of the command line).
  96.  
  97. .unl 4
  98. / - when there is a choice between two or more arguments, they
  99. will be separated by a vertical bar.
  100.  
  101. .unl 4
  102. n - any positive number less than 32767 (for most commands the
  103. highest number that will be recognized is much smaller than
  104. this)
  105.  
  106. .unl 4
  107. ccc - any string of characters
  108.  
  109. .unl 4
  110. du:fid.ext - this is any file on any disk in any user area in the
  111. system. Wildcard (ambiguous) filenames are allowed in some
  112. conditions and, if so, it will be stated. If the file is on the
  113. current 'default' drive and user area then the drive need not be
  114. specified. If the file is in the same user area but on a
  115. different drive, then the default user area is assumed. However,
  116. if you want to specify a file in a different user area then you
  117. must also enter the drive, even if it is the default.
  118.  
  119. EXPRESS recognizes 32 user areas (as does CP/M) numbered 0-31.
  120. The recognized drives will vary from system to system.
  121.  
  122. .inb -8
  123. The Command Mode commands are logically separated into 6 major groups:
  124.  
  125. .inb +4
  126. .fif
  127. Group      Functions
  128. ------     ---------
  129. .fin
  130.  
  131. .inl +11
  132. .unl 11
  133. SEARCH     find a specific string, line, or page in the file
  134.            replace occurences of one string with another string
  135.  
  136. .unl 11
  137. EDITING    set parameters that directly affect how text is entered
  138.            (tabs, margins, word wrap)
  139.  
  140. .unl 11
  141. BLOCK      perform operations on large "blocks" of text (move, copy,
  142.            delete, include from or save to a file)
  143.  
  144. .unl 11
  145. MACRO KEY  define macro keys and maintain files of macro key definitions
  146.  
  147. .unl 11
  148. BUFFER     change the contents of the edit buffer, end the edit session,
  149.            switch to a new work file.
  150.  
  151. .unl 11
  152. SYSTEM     provide CP/M-like commands without having to exit to CP/M
  153.  
  154. .inl -11
  155. .inb -4
  156. For convenience, the commands are separated into these catagories on the
  157. Command Mode menu and in this manual.
  158. .brp
  159. .fif
  160. SEARCH COMMANDS
  161. ---------------
  162. .fin
  163.  
  164. These commands are used for finding all occurences of a string
  165. (represented here as ccc) and optionally replacing them with another
  166. string, and also for finding a particular line in the buffer.
  167.  
  168. The search and replace strings can be composed of anything that can be
  169. typed in Edit Mode, including control characters and block marker
  170. characters. They are entered the same way you would enter them in Edit
  171. Mode (precede the control character with ^C, (____) and use the 'Set
  172. Block Marker' command ^P^P , (____) to search for a block marker).
  173.  
  174. The search string begins immediately after the delimiter character
  175. following the 'SEARCH' command on the command line and ends at the next
  176. occurence of the delimiter. So, if you want to search for the string
  177. 'this is it' you could type
  178.  
  179.     se/this is it/
  180.     s'this is it'
  181.     sea?this is it?
  182.  
  183. or any other similar entry. The only limitation is that the delimiter
  184. character cannot be an alphabetic character('a'-'z' or 'A'-'Z'). For
  185. instance, if you are searching for the single word 'single', you can
  186. even use a space as the delimiter:
  187.  
  188.     search single
  189.  
  190. The rules are the same for the replace string, except that the beginning
  191. of the replace string is the first character after the second delimiter
  192. on the line.
  193.  
  194.     rep/this/that/
  195.              ^ the replace string begins here
  196.  
  197.  
  198. .inb +4
  199. .unl 4
  200. Search/ccc/
  201.  
  202. This command finds the first occurence of the string 'ccc' following the
  203. current cursor location in the edit buffer. The string to be searched
  204. for can be any length from 1 to 40 characters (0 character search
  205. requests are ignored). If the string is found, you are placed in edit
  206. mode with the cursor on the top line of the screen, directly over the
  207. first character of the matching string.
  208.  
  209. If no occurences of the string are found, you are told so and remain in
  210. command mode. If this happens, the entire command line that you entered
  211. is left on the command line. Since all the standard editing commands can
  212. be used on the command input line, You may change the search string and
  213. try again without having to retype the entire command. This is
  214. particularly useful if, for example, you have just entered the command:
  215.  
  216.     se FOO:    (search for the word 'FOO:')
  217.  
  218. and when 'FOO:' was not found, decided to search for 'FOO' (without a
  219. colon); you can merely use the end of line editing command, ^U^L (____),
  220. type a RUBOUT (____) and press the carriage return.
  221.  
  222. Once the first occurence of a string is found and you are in edit mode,
  223. you may use the 'continue search' key, ^S (____) to find all other
  224. occurences of the string.
  225.  
  226.  
  227. .unl 4
  228. Replace/this/that/[N]
  229.  
  230. This command attempts to find the string between the first two
  231. delimiters and, if the string is found, replaces it with the string
  232. between the second and third delimiters.
  233.  
  234. If you follow the command with 'N' (No-verify) all occurences of the
  235. search string after the current cursor location in the buffer will be
  236. immediately replaced with the replace string. As the strings are being
  237. replaced, a running count will be printed on the screen, letting you
  238. know how many have been replaced so far.
  239.  
  240. Remember that if you really make a big mistake while doing a global
  241. replace, you can still use the QUIT command (or QNEW) to keep from
  242. ruining past work (you can even INCLUDE the current version of the file
  243. from disk and delete the redundant parts).
  244.  
  245. Selective Replace
  246.  
  247. If you do not follow the command with 'N' you will be able to
  248. selectively replace some of the occurences of the string and bypass
  249. others.
  250.  
  251. In selective replace mode, if the specified string is found anywhere
  252. following the current cursor location in the edit buffer, the cursor is
  253. moved to the first character of the string, just as when you are
  254. searching. At this time you are in edit mode and may begin editing
  255. normally, except that 4 keys temporarily have different actions:
  256.  
  257. .inb +4
  258. .unl 4
  259. 1.  Type ^] (____) to place the line the string was found on
  260. in the middle of the screen. This allows you to see the
  261. context that the string was found in before replacing
  262. it. The other three options are still valid after you
  263. have done this.
  264.  
  265. .unl 4
  266. 2.  type ^S (____) to find the next occurence of the string
  267. without replacing this one. When the next occurence is
  268. found, all of the options, including this one, are still
  269. valid. If there are no more occurences, you will hear a
  270. beep and be returned to edit mode.
  271.  
  272. .unl 4
  273. 3.  Type <CR> (^M) to replace this occurence of the string
  274. and immediately find the next occurence.
  275.  
  276. .unl 4
  277. 4.  Type a cursor down or linefeed (^J) (____) to replace
  278. this occurence and remain here to do more editing.
  279.  
  280. .inb -4
  281. After any key (except ^], (____) ) has been typed, these four keys
  282. regain their original meaning and you are completely in Edit Mode.
  283.  
  284. If you begin editing here or choose option 4, you may still continue the
  285. selective replace operation at any time by pressing ^S (____). This
  286. allows you to do things such as replacing a string and putting a comment
  287. about the replacement at the end of the line before going on to replace
  288. the next occurence. Once you return to command mode (by typing <ESC>,
  289. (_______) ), replace mode is turned off and you will have to execute the
  290. command again to replace any more occurences. The first time you return
  291. to command mode after starting a 'selective' replace, a message will be
  292. printed below the command line telling how many occurences of the string
  293. were replaced.
  294.  
  295. Both types of replacing have their uses. 'Global' replacing is useful if
  296. you have misspelled a word the same way many times or if you are
  297. changing the name of a variable in a computer program, for instance.
  298. 'Selective' replace is safer if you aren't sure that every occurence
  299. should be replaced.
  300.  
  301.  
  302. .unl 4
  303. LITeral [On/OFf/True/False]
  304.  
  305. This command is used for switching between two modes of searching. If
  306. literal mode is on, you will only find occurences of exactly what you
  307. typed, (e.g 'se/ONE/' will find 'ONE', but it will not find 'One' or
  308. 'one'); if literal mode is off then the same command will find all three
  309. strings, assuming that they occur. Basically, if literal mode is off,
  310. SEARCH and REPLACE does not distinguish between upper and lower case
  311. letters; if literal mode is on then they do distinguish between upper
  312. and lower case.
  313.  
  314. It is usually better to use literal mode when Replacing since the
  315. REPLACE command doesn't necessarily replace an uppercased string with
  316. another uppercased string. If you wish to replace occurences of a string
  317. that could be uppercase, lowercase, or capitalized, it is best to turn
  318. on literal search mode and then replace each 'version' of the word
  319. separately.
  320.  
  321. It should also be pointed out that, when in non-literal mode, a single
  322. space (or tab) in a search string can be matched by any number of spaces
  323. (or tabs, or a combination of tabs and spaces). This means that if you
  324. search for 'I am', you will also find 'I  am' and 'I<tab>am', etc.
  325.  
  326. If no argument is given after the LITERAL command, it turns literal mode
  327. on.
  328.  
  329.  
  330. .unl 4
  331. Line n
  332.  
  333. Looks for line number n in the buffer and, if it is there, the edit mode
  334. cursor is positioned to the first column of the desired line. You will
  335. remain in command mode, but next time you go to edit mode ( by typing
  336. <ESC>, (______) ), the cursor will be positioned at the new location.
  337.  
  338. This command is extremely important when working with computer programs.
  339. If a Fortran, or other, compiler says that there is an 'Error on line
  340. xxx' then it is imperative to find line xxx quickly (before the error
  341. spreads), without having to wade through pages and pages of text.
  342.  
  343. If the specified line is not currently in the buffer, the message 'Not
  344. in Buffer' is displayed and the edit mode cursor remains in its original
  345. position. If this happens, the line may either be in an as yet unread
  346. portion of the file, or you may have typed in a line number such as '-1'
  347. or '0' (Lines are numbered 1-n).
  348.  
  349. If no line is specified, the LINE command simply displays the current
  350. line number, along with the tab stops, etc.
  351.  
  352.  
  353. .unl 4
  354. Page n
  355.  
  356. Looks for the nth screenful of lines in the buffer and, if there are
  357. that many 'pages' in the buffer, the edit mode cursor is placed at the
  358. beginning of the desired page. The next time you enter edit mode, you
  359. will be positioned at the new location.
  360.  
  361. This command is similar to the LINE command except that it only counts
  362. the lines currently in the buffer; it does not keep track of absolute
  363. position in the entire file. It is useful for moving quickly to the
  364. approximate location in the file that you wish to be.
  365.  
  366. If the specified page is not in the buffer, the message 'Not in Buffer'
  367. is printed and the edit mode cursor remains in its original position.
  368.  
  369. (For reference - page 1 is the beginning of the buffer (BOB), page two
  370. starts at BOB + (number of lines in display), etc.)
  371. .brp
  372. .inb -4
  373. .fif
  374. EDITING COMMANDS
  375. ----------------
  376. .fin
  377.  
  378. These commands are used to set certain parameters that affect the way
  379. text is entered and displayed. Commands are included for setting tab
  380. stops, left and right margins, and word wrap mode.
  381.  
  382. All values of n in these commands should be in the range 1-(no. of
  383. columns on the screen).
  384. .inb +4
  385.  
  386.  
  387. .unl 4
  388. Wrap [n]/[On/OFf/True/False]
  389.  
  390. Switches between the two modes of entering and editing text. When wrap
  391. mode is on, the editor will perform automatic word wrap (without right
  392. justification). If any word is overflowing the current right margin, it
  393. will be moved to the beginning of the following line. When Wrap mode is
  394. off, all lines are left as they are and no attention is paid to the
  395. right margin.
  396.  
  397. Some examples of the WRAP command are:
  398.  
  399.     wrap on     ;turn word wrap on
  400.     wrap        ;same
  401.     wrap f      ;turn word wrap off (False)
  402.     wrap76      ;turn word wrap on and set right margin to col 76
  403.  
  404. When in wrap mode, everything will be wrapped down to the end of the
  405. current paragraph and if a new line is needed at the end of the
  406. paragraph, one will be inserted. Conversely, if words are 'unwrapped'
  407. following a deletion and a line at the end of the paragraph is no longer
  408. needed, it will be deleted. This is all done in real time, as you are
  409. typing, so if you use the same margin settings with your formatting
  410. program, the lines will always be displayed with exactly the words that
  411. will be on them when the file is printed, even though the text is not
  412. right justified.
  413.  
  414. For the purposes of word wrapping, a new paragraph is signalled by a
  415. blank line, a line with a space in the column that the INDENT is set to,
  416. or a line that begins with the user specified formatter command
  417. character, (.) (____) set in the <D>efault settings section of CONFIG.
  418.  
  419.  
  420. .unl 4
  421. Indent [n]
  422.  
  423. Sets the left margin, or amount of indent, to the specified value. This
  424. margin is respected in wrap mode and in standard mode. The amount of
  425. indent may be changed from within the edit mode by using the indent,
  426. ^U^W (______), and undent, ^U^A (______), commands. Refer to the
  427. Edit Mode section for more information on these.
  428.  
  429. If no value for n is given then the number 1 (the extreme left of the
  430. screen, i.e. no indent) is assumed.
  431.  
  432.  
  433. .unl 4
  434. Tabs [i]/[n1,n2,n3,...][,i]/[ON/OFf]
  435.  
  436. This command sets the tab stops and allows turning the tabs 'on' (actual
  437. tab characters are inserted) and 'off' (tabs are expanded as spaces).
  438. Tabs are used for columnarizing data and indenting sections of a
  439. computer program, among other things.
  440.  
  441. Tabs are actually special characters stored in the file; when a tab
  442. character is reached, the remainder of the current line is moved out to
  443. the column of the next tab stop. You will notice that if you move the
  444. cursor over a tab character it will 'jump' from one end of the tab to
  445. the other; this indicates to you that it is really a single character
  446. and not merely a group of spaces.
  447.  
  448. You can set the tabs at a certain interval by giving a single number on
  449. the command line:
  450.  
  451.             TABS 8
  452.             t8
  453.  
  454. sets tabs at 9,17,25,33,41,49,57,65,73... up to the width of the screen
  455. or twenty stops, whichever is less.
  456.  
  457. It is also possible to set the tabs at individual locations such as:
  458.  
  459.             ta 6,12,20,22,28,46,51,70
  460.  
  461. which set tabs at exactly the locations specified and no others.
  462.  
  463. You can combine these two methods if you like, simply by making the last
  464. number you enter smaller than the one preceding it:
  465.  
  466.             T 4 9 22 5
  467.  
  468. This sets tabs at columns 4, 9, and 22, and every 5 columns afterward.
  469.  
  470. If you want tabs to be expanded with spaces instead of using actual tab
  471. characters (which is much more compact but not handled properly by some
  472. programs, i.e. Turbo Pascal), you can use the command:
  473.  
  474.             TABS OFF
  475.  
  476. The tab key will still move the cursor to the same positions on the
  477. line, it will just insert a proper number of spaces instead of a single
  478. tab character.
  479.  
  480. When tabs are ON and you change the TABS setting, you will change the
  481. way that previously entered tab characters are displayed on the screen.
  482. This allows you to look at the same information in several formats
  483. without retyping it. The tabs are also expanded to these columns when
  484. sending text to the printer with the BPRINT command. This allows you to
  485. do things such as narrowing up the tabs before printing to allow wide
  486. lines to fit on narrow paper, etc.
  487.  
  488. If no numbers are given after the TABS command the current tab table is
  489. printed on the screen along with the INDENT value and the state of wrap
  490. and literal mode, etc.
  491. .brp
  492. .inb -4
  493. .fif
  494. BLOCK COMMANDS
  495. --------------
  496. .fin
  497.  
  498. These commands all deal with a 'block' of text defined by placing 'block
  499. markers' at either end of the desired text with the 'set block marker'
  500. control command ^P^P (____), in the edit mode. Only one block may be
  501. specified at any time; if there are more (or less) than two block
  502. markers, an error message will be printed whenever a block operation is
  503. attempted. Many of the Block commands can be executed directly from edit
  504. mode. See the Block Commands description in the Edit Mode section of the
  505. manual.
  506.  
  507. Block commands are useful for eliminating the entry of repetitive data
  508. more than once, restructuring a document or computer program, getting
  509. rid of large amounts of undesired text easily, and saving part of one
  510. file to disk in preparation for inserting it in another file with the
  511. INCLUDE command, among other things.
  512.  
  513. A block of text can be anywhere from a single line to the entire
  514. contents of the edit buffer; it can be composed only of complete lines;
  515. if you want part of a line in a block, you can break it from the rest of
  516. the line with ^B (____) and then put markers around it.
  517.  
  518. To mark a block of text, the first block marker must be on the first
  519. line that you wish to be in the block, and the end marker must be on the
  520. last line to be included in the block. If the entire block is one line,
  521. then put two block markers on it. Block markers are automatically placed
  522. at the beginning of the line regardless of where you are when you type
  523. the ^P^P (____) command, so you will never have to worry about doing
  524. this yourself.
  525.  
  526. To find the beginning of a block, use the search command to search for
  527. the block marker with:
  528.  
  529.             search ^P^P  (actually type ctrl+P, ctrl+P
  530. .inb +4
  531.  
  532.  
  533. .unl 4
  534. BMove
  535.  
  536. Finds the currently active block of text and moves it from its present
  537. location  to the area immediately preceding the cursor line in the edit
  538. buffer. The cursor is placed on the first line of the block at its new
  539. location.
  540.  
  541. The block markers are cleared following this operation.
  542.  
  543. If the cursor is within the block markers or there is not enough
  544. workspace in memory to execute the move, an error message is printed and
  545. the operation is not allowed to occur.
  546.  
  547.  
  548. .unl 4
  549. BCopy
  550.  
  551. Finds the currently active block of text and places a copy of it
  552. immediately preceding the current cursor line. The cursor is left
  553. positioned on the first line of the new text.
  554.  
  555. The block markers are left intact.
  556.  
  557. If the cursor is within the block markers or there is not enough
  558. workspace in memory for the copy, an error message is printed and the
  559. operation is not allowed to occur.
  560.  
  561.  
  562. .unl 4
  563. BDelete
  564.  
  565. Deletes the current block from the edit buffer. After this command is
  566. issued you will be told how large the block is and asked if you really
  567. want to delete the block. Typing a 'Y' or 'y' will allow the operation
  568. to continue, any other character causes the command to be ignored.
  569.  
  570. The block markers are cleared following this operation.
  571.  
  572.  
  573. .unl 4
  574. BKill
  575.  
  576. Clears (kills) ALL block markers from the edit buffer. This operation is
  577. automatically executed whenever a SAVE, HEAD, or END command is given.
  578. It is also executed after a BMOVE or BDELETE.
  579.  
  580. If no block markers are present, the command is simply ignored.
  581.  
  582.  
  583. .unl 4
  584. BPrint
  585.  
  586. Sends the current block of text to the CP/M list device, LST:, (usually
  587. the printer). Tabs are expanded according to the user's current tab
  588. settings. Printing can be cancelled at any time by typing an <ESC>,
  589. (____).
  590.  
  591. If you have told ECONFIG that your BIOS (Basic Input/Output System)
  592. ListStatus routine works properly, characters are not output until
  593. ListStatus says it is ready - this way you will not suffer the 'Oh NO! The
  594. printer is disconnected and I just locked up the system' blues. While
  595. waiting for the printer to become ready, a check is constantly made for a
  596. key ready and if the 'Go to command mode' command, <ESC>, (____) is typed,
  597. you will return to command mode, no harm done
  598.  
  599. If your ListStatus does not work properly (or if you are not even sure what
  600. ListStatus is), then the BIOS of your version of CP/M is not implementing
  601. the LSTST: routine properly so you will have to make sure the printer is
  602. ready yourself.
  603.  
  604.  
  605. .unl 4
  606. BSave du:fid.ext
  607.  
  608. Saves the current block of text to disk in the file du:fid.ext. Notice that
  609. you can save the block to any user area (0-31) of any disk on your system.
  610.  
  611. The block of text is NOT deleted from the edit buffer and the block markers
  612. remain around the text.
  613.  
  614. If the named file already exists, an error message will be printed and
  615. the operation will not be allowed to occur. If you really want to write
  616. over the file you can ERASE it first and then do the BSAVE.
  617.  
  618.  
  619. .unl 4
  620. INClude du:fid.ext
  621.  
  622. Places a copy of the named file in the edit buffer preceding the current
  623. cursor line. When you return to edit mode after this command, the cursor
  624. will be on the first line of the included file. Again, the included file can
  625. be from any user area on any disk.
  626.  
  627. Wildcarded file names are not allowed for this command.
  628. .brp
  629.