home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 157_01 / qedpc.doc < prev    next >
Text File  |  1987-10-12  |  23KB  |  510 lines

  1. QED VERSION:        1.22
  2. LAST COMPILE DATE:    15 DECEMBER 1987
  3. DOCUMENTATION DATE:    13 APRIL 1987
  4. PCDOS VERSION:          2.1 AND HIGHER
  5. AUTHORS:              Nigel Gilbert and James Haefner
  6.  
  7. ---------------------------------------------------------------------
  8. TABLE OF CONTENTS
  9.  
  10. I.    GENERAL DESCRIPTION
  11. II.   HOW TO RUN QED WITHOUT READING THE MANUAL
  12. III.  COMMAND LINE INVOCATION
  13. IV.   DEFINITION OF CONTROL KEYS
  14.       A.  CURSOR MOVEMENT
  15.       B.  BLOCK MOVES (Save, Exit, Move text)
  16.       C.  DELETIONS
  17.       D.  "QUICK" MOVES (Find/Alter, Defaults, File manipulation)
  18.       E.  PARAGRAPH REFORM
  19.       F.  VERSION DOCUMENTATION
  20. V.    TRICKS
  21.       A.  UNDO
  22.       B.  INSERTING ESCAPE SEQUENCES INTO TEXT
  23.       C.  EDITING SEARCH LINES
  24.       D.  DEFAULT FILE EXTENSIONS
  25.       E.  JUMPS
  26.       F.  MARKING TEXT
  27. VI.   BUGS
  28. VII.  TABLE OF CONTROL CHARACTERS
  29. ---------------------------------------------------------------------
  30.  
  31. I.   GENERAL DESCRIPTION
  32.  
  33.      QED is a public domain editor originally written in C by 
  34. Nigel Gilbert of England.  His version was written in BDS C 
  35. (trademark) for microcomputers running CP/M versions 2.x and 3.0.  
  36. The original Gilbert version is available from the C User's Group 
  37. (McPherson, Kansas).  I (J. Haefner) made major modifications to 
  38. this original code for CP/M, ported these modifications to MSDOS and
  39. PCDOS.  QED comes in a variety of flavors depending on the target 
  40. computer; QEDPC is the version that runs on IBM-PCs and compatibles.  
  41. Below, QED and QEDPC are synonymous.
  42.  
  43.      QED is a full-screen editor that it attempts to duplicate the 
  44. user interface of WordStar (tm) as closely as possible, with 
  45. "improvements" as I have seen fit.  (As a full- screen editor, it 
  46. bears no resemblence to line editors such as EDLIN or SOS.)  There 
  47. are no "modes" in the sense of some screen editors in which one must 
  48. explicitly choose a "command" mode or a "input" mode.  In QED, one 
  49. is always in an "input" mode; commands to the editor that are not 
  50. text to be inserted in the file are keyed in as control characters 
  51. (i.e., characters transmitted by typing the "control key" and 
  52. certain alphabetic and punctuation keys simultaneously, usually 
  53. symbolized as ^x, where x is a character, e.g., ^C). 
  54.  
  55.      QED is intended primarily as an editor for creating programs or 
  56. keying in numerical data.  As such, it has some features of interest 
  57. to programmers and lacks many features of word processors.  
  58. Obviously, it can also be used to create files of text to be sent to 
  59. a text formatter such as RUNOFF.  For the programmers, QED has 
  60. auto-indent, "jump to" a line, an extensive list of command line 
  61. options, search and replace, reformatting of indented program text, 
  62. and an "expert" mode.  It also has automatic word-wrap at a 
  63. prescribed screen column setting and the ability to reform 
  64. paragraphs to fit within a prescribed column setting.   It lacks, 
  65. alas, right justification, and printing formatting facilities.  QED 
  66. produces "straight ASCII" files, i.e., files containing no special 
  67. formatting codes or printing control character sequences.  As a 
  68. result, QED is well-suited for creating files required by other 
  69. applications or programs (e.g., OMNIPLOT plotting package, data 
  70. entry for statistical programs, etc.). 
  71.  
  72.  
  73. II.  HOW TO RUN QED WITHOUT READING THE MANUAL
  74.  
  75.      1.   QEDPC occupies only 37K of disk space, so it can easily 
  76. reside on any disk, drive A or B.
  77.  
  78.      2.   If you are a beginner, you will want the non-expert 
  79. mode and the on-screen help to be permanently displayed.  
  80. Assuming this, invoke QEDPC to begin a new file with:
  81.  
  82.           A>QEDPC -E -V
  83.  
  84. (The "A>" is the PCDOS prompt indicating drive A as the default 
  85. drive, of course.)  This will present you with a status line at the 
  86. top of the screen, about 6 lines of help messages, and the cursor 
  87. over the point at which text may be inserted. 
  88.  
  89.      3.   Insert text by typing any of the printable ASCII 
  90. characters.  Hit the "RETURN" key at the end of each line (no 
  91. automatic word-wrap).
  92.  
  93.      4.   To save the text as a file type ^K (CTRL and K  
  94. simultaneously).  This will prompt you with a verbose, but 
  95. informative instruction.  To save the text and leave QEDPC, respond 
  96. with Q, then W (after the prompt), then the file name (after the 
  97. prompt), then E (after the prompt).  In short, the sequence is 
  98. ^KQWE.
  99.  
  100.      5.   To edit an existing file invoke QEDPC this way:
  101.  
  102.           A>QEDPC filename -E -V
  103.  
  104.           This will display a message reminding you of the name 
  105. of the program you just typed, followed, after clearing the 
  106. screen, by the first 23 lines of text of the file.  QEDPC cannot 
  107. distinguish text files from non-text files; therefore, garbage 
  108. will appear if you attempt to edit an EXE file, or any other non-text 
  109. file.
  110.  
  111.      6.   To move around in the file, type the control characters 
  112. as indicated on the on-screen help (^QO), and as more fully described 
  113. below (in the manual!).  QEDPC has no "overwrite" mode, one is 
  114. always inserting text, pushing existing text ahead of the cursor.  
  115. Explicit deletion is required to remove this text.  Exiting the 
  116. editing session is the same as above.
  117.  
  118.  
  119. III. COMMAND LINE INVOCATION
  120.  
  121.      The official syntax of QEDPC 1.22 is:
  122.  
  123. QEDPC [-Jn -A -B -L -H -R -Mn -Tn -S -U -V -E -X -Dd [filename1 [filename2]]]
  124.  
  125. "[]" indicates optional input.  "Filename1" is an optional file 
  126. which QEDPC is to read in and "filename2" is an optional file to 
  127. which QEDPC is to save any editing changes made.  If "filename2" is 
  128. absent, "filename1" is used.  Each letter in the command line is an 
  129. option that configures the "context" or "environment" of the current 
  130. editing session.  They have the following meanings and defaults []: 
  131.  
  132.  
  133.           -Jn:  Jump to line n [1]
  134.           -A :  Autoindent on carriage return [YES]
  135.           -B :  Make backup file on exit (filename.bak) [YES]
  136.           -L :  Show line and column on statusline [YES]
  137.           -H :  Horizontal scroll entire screen [NO]
  138.           -R :  Read entire file on initial load [YES]
  139.           -Mn:  Margin (right) set to n [255]
  140.           -Tn:  Set tabwidth to n [4]
  141.           -S :  Strip trailing blanks and tabs [YES]
  142.           -U :  Update version and date [YES]
  143.           -V :  Display onscreen help [NO]
  144.           -E :  Expert (terse) mode [YES]
  145.           -X :  Warm boot on exit [YES]
  146.           -Dd:  Drive d for temporary paging files [current]
  147.  
  148. Options and filename1 may occur in any order; filename2 must 
  149. follow filename1.  Upper and lower case may be used in any 
  150. combination.
  151.  
  152.      Examples:
  153.  
  154.      QEDPC -j400 -e -T8 FOO.BAR foo2.bar
  155.  
  156.      This will invoke the version of QEDPC, will turn the expert 
  157. mode off (-e), set the tabs to 8 spaces (-T8), read from FOO.BAR and 
  158. write to FOO2.BAR, and jump to line 400 (-j400). 
  159.  
  160.      QEDPC
  161.  
  162.      This will load QEDPC and present the user with a blank screen 
  163. for data input. 
  164.  
  165.  
  166. IV.  DEFINITION OF CONTROL KEYS
  167.  
  168.      A complete map of the functions of all control keys (^x) 
  169. is at the end of this documentation.  Two (^Q and ^K) have no 
  170. immediate effect, but prompt for more command input (see below).
  171. Typing ESC (escape key) at a prompt will cancel the request and
  172. usually returns the cursor to the text being edited.
  173.  
  174.      A.   CURSOR MOVEMENT
  175.  
  176.      Cursor movement is controlled using control characters.  The 
  177. association of function with control key follows, in general, the 
  178. pattern of WordStar (tm).  For the most part, the function of 
  179. control keys reachable from the left hand is identical to 
  180. WordStar:  the keys A-E-F-X form a diamond where the top of the 
  181. diamond produces movement upwards, the left-side produces 
  182. leftward movement, and so on.   Vertical scrolling which leaves 
  183. the cursor in place is implemented via ^W (scroll up through 
  184. file) and ^Z (down).  ^Y and ^V moves the cursor to the top and 
  185. bottom, respectively, of the screen.  ^U and ^B moves the cursor 
  186. to the top and bottom, respectively, of the file.  Thus, for the 
  187. left side of the keyboard there exists a relatively uniform and 
  188. mnemonic mapping of key position and cursor movement.
  189.  
  190.      QEDPC accepts lines up to 256 characters; longer lines are 
  191. truncated.  Lines with characters off the screen have a high-
  192. lighted ">" in the last column.  Horizontal scrolling to columns 
  193. greater than the screen width of the terminal occurs in two 
  194. modes:  only the present line is scrolled or all lines on the 
  195. screen are scrolled horizontally.  The current mode is changed 
  196. with a toggle altered in the editing context option (see below).
  197. The default (scroll current line only) may be altered at the
  198. command line invocation of QEDPC.
  199.  
  200.      On the right-hand-side of the keyboard, there is a less 
  201. suggestive mapping.  ^O and ^P move the cursor to the left and 
  202. right, respectively, end of the current line.  ^I, ^N, and ^M 
  203. implement standard ASCII interpretations of the control 
  204. characters:  tab, line feed (new line), and carriage return.  
  205.  
  206.      QEDPC implements most of the important, common block movement 
  207. functions:  global search and replace, write block to file, block 
  208. movement, block deletion, and block copy.  In addition, the lines 
  209. of a block may be "shifted" with tabs, spaces, or deletions.  This 
  210. is a boon to programmers using structured languages, since blocks 
  211. may be explicitly indented using this feature.  The block mode is 
  212. also used to exit the editor and save, in accordance with the 
  213. WordStar convention.
  214.  
  215.      Block activity is initiated as in WordStar with ^K.  If 
  216. "expert" mode is off, verbose prompts will appear on the screen; 
  217. if "expert" mode is on, only the set of permissable letters is 
  218. shown for prompt.  The allowable responses are mnemonic and are 
  219. summarized at the end.
  220.  
  221.      To define a block of text, place the cursor at the line from 
  222. which the block definition is to be initiated (may be the bottom 
  223. or the top of the block).  (Block definition is by line, not by 
  224. character as in WordStar, thus, only blocks of entire lines may 
  225. be defined.)  Type ^K, at the prompt make a choice of operation 
  226. to perform on the block (copy, move, delete, etc.) and, at the 
  227. prompt, use the cursor control keys to move the cursor to the 
  228. last line of the block.  When the last line is defined, hit 
  229. <RETURN> and the function will be performed.  Typing <ESC> (the 
  230. escape key) will cancel the block operation at any point during 
  231. prompting.  If the "shift" operation is chosen, then, after the 
  232. block is defined, another prompt requests an editing function to 
  233. be performed on all lines in the block (e.g., insert tabs, delete 
  234. characters, etc.).  When <RETURN> is hit following input of the 
  235. editing operations, then all lines in the block are subjected to 
  236. those operations.  In this way, a block of lines may be easily 
  237. indented for formatting structured programs.
  238.  
  239.      Other block functions are self-explanatory.  A rapid method 
  240. to save a file and return to PCDOS is invoked by typing ^KX; 
  241. analogous to WordStar.  A second quick backup method is described 
  242. below in subsection D.  To write an edited file to disk and open 
  243. another file for editing requires the following key strokes:  
  244. ^KQWA.
  245.  
  246.      C.  DELETIONS
  247.  
  248.      There are several ways to delete text.  ^G deletes the 
  249. character under the cursor; DEL deletes the character to the left 
  250. of the cursor.  ^T deletes from the cursor position to the end of 
  251. the current word.  ^QY deletes to the end of the line on which 
  252. the cursor is currently lying; ^\\ deletes the whole thing.  The
  253. sequence  ^KBD allows the definition of a block to delete.  
  254. BACKSPACE (^H) is synonymous with ^S: move the cursor one 
  255. character to the left.
  256.  
  257.      D.  "QUICK" MOVES INCLUDING SEARCH AND ALTER
  258.  
  259.      Following WordStar ^Q does "quick" movements.  To find text 
  260. type ^QF, to find and alter text type ^QA.  (^L while inserting 
  261. text (not after ^Q) will repeat the last search or alter 
  262. command.)  If the user chooses not to be queried for alter 
  263. verification, QEDPC will not show the changes as they are made.  If 
  264. this is desired, use the <V>erbose option after the new text string 
  265. is supplied.  To toggle the onscreen help type ^QO.  ^QL turns 
  266. off the statusline at the top of the screen except the filename.
  267. This speeds screen display.
  268.  
  269.      In addition, ^QK clears the screen and displays the "context" 
  270. or default settings for some variables of the current editing 
  271. session.  Among these are tab settings, whether a backup file will 
  272. be saved, whether expert mode is on or off, the state of the 
  273. onscreen help menu, the current maximum number of lines of text that 
  274. may be edited, etc.  A prompt is issued to instruct the user how to 
  275. change any of these variables.  In addition to altering variable 
  276. values, ^QK followed by "F" (for "Files"), will clear the screen and 
  277. prompt the user for input to erase files, change the name of the 
  278. edited file, list the directory, change the path, etc. 
  279.  
  280.      Quick backups of the currently edited file can be made via ^QB.  
  281. This command concatenates the filename to a string which is the 
  282. directory in which you wish to save the file.  For example, if the 
  283. current default quick backup directory is the string "B:\\" (i.e., the
  284. root directory of drive B) and the current file is "foobar.c", then 
  285. "^QB" will produce the message "Saving B:\\FOOBAR.C" and save the file
  286. in the root directory of B.  The directory string, which may be any 
  287. legal PCDOS pathname, is specified with the "D" option of the 
  288. editing context screen (^QKD).
  289.  
  290.      E.   PARAGRAPH REFORM.
  291.  
  292.      QED has automatic wordwrap at a prescribed screen column set by 
  293. typing ^QK (editing context).  There are two mechanisms for reforming 
  294. a paragraph.  The first, using ^QP (for "quick prettification of 
  295. paragraph"), will reform from the current line to either the next 
  296. empty line, or the next line beginning with white space (space or 
  297. TAB), or the end of the file, whichever is encountered first.  The 
  298. second method is to define a block of text (via ^KB) and choose the 
  299. "<R>eform" operation.  This method permits multiple paragraphs to be 
  300. formatted.  
  301.  
  302.      To disable automatic wordwrap, set the right margin (^QKR) to 
  303. 255.
  304.  
  305.      F.   VERSION DOCUMENTATION
  306.  
  307.      QEDPC can document the version number and date and time of the 
  308. last save operation for the edited file.  This information is stored 
  309. as the first line of the file as a "comment".  The user must insure 
  310. that the appropriate comment delimiters are used.  For example, 
  311. WordStar and some other text formatting programs use two periods, 
  312. "..", to indicate comments.  Each programming language has its own; 
  313. FORTRAN uses "C" or "*" in column 1; C uses "/*" and "*/" to indicate 
  314. the beginning and end of comments; standard PASCAL uses "(*" and "*)" 
  315. for the same purpose.
  316.  
  317.      This feature may be disabled via ^QKV or "-U" on the command 
  318. line when initially invoking QEDPC (see section III above).
  319.  
  320.  
  321. VI.  TRICKS
  322.  
  323.      A.   UNDO
  324.  
  325.      QEDPC has two rudimentary mechanisms to "undo" or retract the 
  326. last editing command (e.g., delete a word).  Provided the cursor 
  327. has not moved from the vertical screen row on which the editing 
  328. operation was performed, ^_ (CTRL-underscore) will undo the 
  329. operation.  A deleted line (i.e., ^\\) can be recalled if the
  330. cursor has not left the vertical screen row on which the deleted 
  331. line lay, by the following sequence:  "^N^_" (i.e., make a 
  332. newline (^N), then undo the line deletion operation [^_]).  
  333.  
  334.     The second method is more direct.  A complete deleted line (via 
  335. ^\\) or partial deleted line (via ^QY) may be inserted below any other
  336. line by using ^^ (i.e., control-shift-6).
  337.  
  338.      B.   INSERTING ESCAPE SEQUENCES INTO TEXT
  339.  
  340.      QEDPC has a magic key for inserting any unprintable character 
  341. into the text file.  While in the insert mode (i.e., not 
  342. responding to a prompt), typing the escape key (<ESC>) will 
  343. transform the next character between 40 hexadecimal (ASCII 
  344. character "@") and 5F hexadecimal (ASCII character "_") into the 
  345. corresponding control character.  For example, the sequence 
  346. "<ESC>L" will imbed ^L in the text, "<ESC><ESC>" imbeds "^[" 
  347. (escape) in the text.  Control characters in text files are 
  348. displayed in highlighted or inverse video by QEDPC.  The primary 
  349. application of this facility is to embed sequences of control 
  350. characters to manipulate printers.  If the proper sequences are 
  351. embedded at the beginning of the file, the printer may be 
  352. initialized.  Inserting ^L into the text will force a form feed 
  353. on many printers, and so on.
  354.  
  355.      C.   EDITING SEARCH STRINGS
  356.  
  357.      Simple editing and replaying of search strings may be 
  358. performed.  The last search strings is saved in a buffer; this 
  359. may be displayed at the "Find?" prompt for the search or alter 
  360. command by typing ^L.  If the buffer is empty, typing ^L will 
  361. embed ^L in the search string.  For programming simplicity, <ESC> 
  362. terminates the input of the search string, and, thus, cannot be 
  363. directly searched for.  A kludge is implemented to work around 
  364. this: "^]" will be translated to "^[" in the search string.
  365.  
  366.      D.   DEFAULT FILE EXTENSIONS
  367.  
  368.      The file extension of the file invoked from the command line 
  369. is saved and used as a default.  Subsequent requests for files 
  370. need not have the extension, if the default is desired and no 
  371. other file exists on the sub-directory with the same filename and 
  372. a null file extension.  The default file extension may be altered 
  373. during an editing session by requesting a file using an explicit 
  374. file extension.  To denote a file with no file extension, use a
  375. dot following the filename (e.g., "foobar.").
  376.  
  377.      E.   JUMPS
  378.  
  379.      Lines to jump to can be defined on the command line invoking 
  380. QEDPC or during editing.  ^J will invoke a prompt requesting the 
  381. line.  Responding with a number will move the cursor to that 
  382. absolute line.  If the line number is greater than the number of 
  383. lines in the file, the cursor moves to the end of the file.  
  384. Responding with a "+" or "-" followed by a number, will move the 
  385. cursor by those number of lines below or above the current line, 
  386. respectively.
  387.  
  388.      F.   MARKING TEXT
  389.  
  390.      A line of text may be marked and jumped to quickly by the 
  391. following trick.  Type ^J, followed by <RETURN> or <ESC>.  This 
  392. sets the current line number to the line to jump to.  Leave the 
  393. line, do editing, then type ^KJ, and the cursor will move to the last 
  394. defined jump line number.  If lines are deleted or inserted 
  395. following defining the line to jump to, then the cursor will not 
  396. return to the original text.  ^KJ only returns you to the last 
  397. defined line number, or the end of the file if the line number does 
  398. not exist.   For example,
  399.  
  400.   ... editing ...     /*now doing some editing */
  401.   ^J<RETURN>          /* define jump line number to current line */
  402.   ^U                  /* go to top of file */
  403.   ... editing ...     /* more editing here */
  404.   ^KJ                 /* jump back to previous line number */
  405.  
  406.  
  407. VI.  BUGS
  408.  
  409.      1.  Undo works only if the cursor remains at the same vertical position.
  410.          (Use ^^ to insert deleted text.)
  411.      2.  Marking text returns to the original line number, not 
  412.          necessarily the original text.
  413.      3.  Text marking for one line only.
  414.  
  415.  
  416. VII. TABLE OF CONTROL CHARACTERS
  417.  
  418.     ^@:  No edit function, lead-in character for some terminals
  419.     ^A:  Move cursor left one word.
  420.     ^B:  Move cursor to bottom of file
  421.     ^C:  Move cursor down one page
  422.     ^D:  Move cursor right one character
  423.     ^E:  Move cursor up one line
  424.     ^F:  Move cursor right one word
  425.     ^G:  Delete character under cursor
  426.     ^H:  Move cursor left one character
  427.     ^I:  Tab
  428.     ^J:  Jump.  Displays more options.
  429.          +/-n:  jump n lines down or up respectively
  430.          n:     jump to line n
  431.     ^K:  Block moves.  Displays more options:
  432.     
  433.          Q:  Quit.  Displays more options (<> indicate possibilites):
  434.     
  435.                 <W>rite to a file.  Displays more options:
  436.                     <E>xit to PCDOS
  437.                     edit <A>nother file
  438.                     <R>eturn to the file being edited
  439.                 <A>bandon the current edited file.  Displays options:
  440.                     <E>xit to PCDOS
  441.                     edit <A>nother file
  442.                     <R>eturn to the file being edited (cancel abandon)
  443.                 <R>eturn to the file being edited.
  444.     
  445.          X:  eXit to PCDOS after saving the file
  446.          R:  Read a file, insert at current cursor position
  447.          J:  Repeat jump to last "jump to" line number
  448.          B:  Block moves.  Displays more options:
  449.              <M>ove a block of text
  450.              <C>opy a block of text
  451.              <D>elete a block of text
  452.              <W>rite a block of text to a file
  453.              <P>rint a block of text
  454.              <S>hift a block of text with editing keys
  455.              <R>eform a block of text to have current right margin
  456.     
  457.     ^L:  Repeat last search or alter
  458.     ^M:  Create new line behind cursor (cursor on new line)
  459.     ^N:  Create new line ahead of cursor (new line below cursor)
  460.     ^O:  Move cursor to left end of line
  461.     ^P:  Move cursor to right end of line
  462.     ^Q:  Quick moves.  Displays more options
  463.     
  464.          F:  Find.  Displays more options:
  465.              <B>ackward search, up through file
  466.              n: (number) of items to skip
  467.          A:  Alter.  Displays more options:
  468.              <B>ackward search, up through file
  469.              <G>lobal search from beginning of file
  470.              <T>o end of file from current line
  471.              <W>ithout asking for verification or showing changes
  472.              <V>erbose, show changes as they are made without verification*
  473.              n: (number) of replacements
  474.          P:  prettify current paragraph
  475.          Y:  Delete to end of line
  476.          L:  Toggle statusline ON/OFF
  477.          O:  Toggle Onscreen help menu ON/OFF
  478.          K:  Show editing context.  Displays more options:
  479.              <F>ile context.  Delete files, change names.
  480.              <A>uto indent toggle ON/OFF
  481.              <B>ackup file toggle ON/OFF
  482.              <T>ab length (number)
  483.              <D>efault quick backup directory string*
  484.              <S>trip trailing blanks toggle ON/OFF
  485.              <R>ight margin is n
  486.              <L>ine:column display toggle ON/OFF
  487.              <H>orizontal scroll toggle whole page/current line only
  488.              <E>xpert mode toggle ON/OFF
  489.              <O>nscreen help toggle
  490.              <V>ersion update toggle ON/OFF
  491.  
  492.          B:  Quick backup of edited file to another directory (see above)*
  493.     
  494.     ^R:  Move cursor up one page
  495.     ^S:  Move cursor left one character
  496.     ^T:  Delete to end of word under cursor
  497.     ^U:  Move cursor to top of file
  498.     ^V:  Move cursor to bottom of screen
  499.     ^W:  Scroll up, leave cursor on current line and column
  500.     ^X:  Move cursor down one line
  501.     ^Y:  Move cursor to top of screen
  502.     ^Z:  Scroll down, leave cursor on current line and column
  503.     ^[:  ESCAPE, next character is embedded control character
  504.     ^\\:  Delete line on which cursor resides
  505.     ^]:  Pseudo-escape in search strings
  506.     ^^:  Insert deleted line at current line 
  507.     ^_:  Undo last edit if vertical screen position of cursor unchanged
  508.  
  509. -----------------------------------------------------------------------
  510. * This item is not in the CP/M version.