home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / editor / tvx_edit.arc / TVX_REF2.DOC < prev    next >
Text File  |  1986-03-17  |  49KB  |  1,453 lines

  1.  
  2.  
  3. TVX Reference Manual                                           2/25/86
  4.  
  5.  
  6.                   *** USER CUSTOMIZATION of TVX ***
  7.  
  8.      A program called TVX_CFG is also provided with most versions of
  9. Standard TVX.  It allows you to customize TVX to a great extent.  The
  10. program generates a file called CONFIG.TVX.  When TVX is started with
  11. a command line of the form: 'TVX filename -c=config.tvx", the values
  12. defined in CONFIG.TVX will be used instead of the defaults.  (Warning:
  13. TVX_CFG may not be implemented for all systems.  It does not work with
  14. the emulator versions of TVX.)
  15.  
  16.      TVCONFIG is mostly self explanatory.  It allows you to change the
  17. following:
  18.  
  19. 1. Commands.  All of the approximately 50 commands can be redefined.
  20. There are some restrictions: all commands must be a single letter, and
  21. case is ignored.  The '@', ESCAPE, and '<>' commands cannot be
  22. changed.  Commands cannot be a number, including a '-'. 
  23.  
  24. 2. Synonyms.  You may define some synonyms, such as space for right,
  25. or RETURN for down.  You cannot duplicate previously defined
  26. commands. 
  27.  
  28. 3. Function Keys.  Up to 50 function keys may be defined to be
  29. equivalent to any command (in fact any letter or character).  When a
  30. function key is pressed, TVX will translate it to the character you
  31. specify.  If your function keys use an ESCAPE as a prefix character,
  32. you will have to redefine a function key to be ESCAPE! 
  33.  
  34. 4. Parameters.  You may change the default for any of the ':'
  35. parameters. 
  36.  
  37.      After you have built a suitable working version of CONFIG.TVX,
  38. another program called TVX_PTCH has been provided to allow TVX.EXE (or
  39. TVX.COM) to be permanently patched with the options set by TVX_CFG.
  40. This means you won't have keep track of the CONFIG.TVX file any more,
  41. and won't need the '-c' switch. 
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                  -22-
  65.  
  66.  
  67.  
  68.  
  69. TVX Reference Manual                                           2/25/86
  70.  
  71.  
  72.                         *** Error Messages ***
  73.  
  74. *** Abort, are you sure? 
  75.      This message is displayed after the "abort" command has been
  76. entered.  A reply of y or Y will cause the session to be terminated. 
  77.  
  78. *** Bad O= switch
  79.      An incorrect format was specified for the O= switch. 
  80.  
  81. *** Bad @ name
  82.      An invalid file name was specified.  Re-enter. 
  83.  
  84. *** Bad command: x
  85.      The command is not a valid TVX command. 
  86.  
  87. *** Bad file name
  88.      An invalid file name was specified.  Re-enter. 
  89.  
  90. *** Bad output file: filename
  91.      An invalid output file was specified. 
  92.  
  93. *** Bad par (val | name)
  94.      An invalid value or parameter name was specified. 
  95.  
  96. *** Bad rpt buff #
  97.      An invalid repeat loop number was entered. 
  98.  
  99. *** Bad switch
  100.      An invalid switch was specified.  Re-enter file name and
  101. switches. 
  102.  
  103. *** buffer empty
  104.      Information message.  Displayed after a new file has been
  105. created, or when the write buffer command is executed and the text
  106. buffer is empty. 
  107.  
  108. *** Can't create new name
  109.      TVX was unable to create a new name for the output file.  Free
  110. some disk space, rename the file, try again. 
  111.  
  112. *** Can't insert that
  113.      There are three values that TVX uses internally, and thus are not
  114. valid as user inserted characters in the text buffer. 
  115.  
  116. *** Can't save last line twice! 
  117.      The last line of the buffer can only be saved once.  (That
  118. applies to the other lines, too, but the last line is a special case.)
  119.  
  120. *** Can't :o, R/O
  121.      It makes no sense to set a new file name when the file is read
  122. only. 
  123.  
  124. *** Can't, buffer empty.  Insert 1st
  125.      Most TVX commands are not valid until some text has been inserted
  126. into the buffer. 
  127.  
  128.  
  129.  
  130.                                  -23-
  131.  
  132.  
  133.  
  134.  
  135. TVX Reference Manual                                           2/25/86
  136.  
  137.  
  138. *** Can't: R/O
  139.      File beginning is illegal when the file is read only. 
  140.  
  141. *** Compacting buffer
  142.      Information message.  Displayed when TVX is compacting the
  143. buffer.  The compaction process may take several seconds. 
  144.  
  145. *** Compacting done
  146.      Information.  The compaction is complete. 
  147.  
  148. *** Compactor lost: quit now! 
  149.      An internal error has been discovered.  Exit TVX immediately, and
  150. preserve the backup copy.  Try the session again. 
  151.  
  152. *** Create?  (y/n)
  153.      The file name specified does not exist.  A y answer will cause
  154. the file to be created.  A n answer will allow the file name to be
  155. respecified. 
  156.  
  157. *** Error reopening
  158.      Something has gone wrong with the 'File beginning' command.
  159. Exit, and try editing the file again.  Be careful since an empty file
  160. may have been created. 
  161.  
  162. *** File only part read
  163.      There was not enough room in the save buffer to hold the entire
  164. external file specified in the 'merge' command.  Try re-editing using
  165. the 's' big buffer switch. 
  166.  
  167. *** Line no longer there
  168.      Return to noted location can't work because the noted line has
  169. been deleted. 
  170.  
  171. *** lines filled
  172.      TVX has run out of room to add more lines.  Use the 'write
  173. buffer' or 'file beginning' command to get more space for new lines. 
  174.  
  175. *** no get room
  176.      There is not enough room in the text buffer to insert all the
  177. text in the save buffer.  Use the 'file begin' or 'write buffer'
  178. commands, and try again.  The '-^W' command is often useful. 
  179.  
  180. *** no more lines for insert
  181.      See "lines filled". 
  182.  
  183. *** no nesting
  184.      TVX does not allow nested repeat loops: "<<..>>". 
  185.  
  186. *** no save room
  187.      There is not enough room left to save any more text in the save
  188. buffer.  Try saving smaller blocks, or use the 'file begin' command to
  189. get more space. 
  190.  
  191. *** No more free lines for insert
  192.      The maximum number of lines have been used.  Write the buffer
  193. before inserting more new lines. 
  194.  
  195.  
  196.                                  -24-
  197.  
  198.  
  199.  
  200.  
  201. TVX Reference Manual                                           2/25/86
  202.  
  203.  
  204. *** not found
  205.      The current find pattern was not found. 
  206.  
  207. *** Not a valid rpt buff
  208.      The current line does not contain a valid repeat loop for the ^R
  209. restore command to use. 
  210.  
  211. *** reading file... 
  212.      Displayed while TVX is reading in the file. 
  213.  
  214. *** rename fails
  215.      Something has gone wrong with the 'File beginning' or 'quit'
  216. commands.  On timeshared systems, this may mean you didn't have write
  217. capability for the file.  The work file will probably be retained, and
  218. can be manually renamed or copied using standard operating system
  219. commands. 
  220.  
  221. *** search fails
  222.      A cross-buffer search has failed to find pattern. 
  223.  
  224. *** Save buffer empty! 
  225.      Tried to write to a file when save buffer empty. 
  226.  
  227. *** Unable to open external file
  228.      An invalid name was specified. 
  229.  
  230. *** Unable to open yank file
  231.      An invalid name was specified. 
  232.  
  233. *** writing buffer
  234.      Displayed when the buffer is being written out. 
  235.  
  236. *** writing partial buffer
  237.      Partial buffer only, as caused by the '-^W' command. 
  238.  
  239. *** Yank filename:
  240.      Enter the name of the file you want to read into the save
  241. buffer. 
  242.  
  243. *** 100 chars only
  244.      At most, 100 characters are allowed in each find pattern and each
  245. repeat loop. 
  246.  
  247. *** <> not complete
  248.      The repeat loop has terminated before the specified number times
  249. have been executed.  This is usually what you wanted, and can be
  250. caused by failing to find a pattern, or reaching the end of the
  251. buffer.  An invalid command or other error will also cause a repeat
  252. loop to terminate. 
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                                  -25-
  263.  
  264.  
  265.  
  266.  
  267. TVX Reference Manual                                           2/25/86
  268.  
  269.  
  270.                            *** TTY MODE ***
  271.  
  272.      Normally, TVX is uses as a full screen editor.  It will work on
  273. dumb crt terminals or on hard copy terminals, however.  The alternate
  274. mode of operation is called tty mode.  Tty mode is also useful for
  275. terminals hooked up with slow baud rates.  Almost all TVX commands are
  276. supported in tty mode.  The main difference is that the editor no
  277. longer operates in a what you see is what you get mode. 
  278.  
  279.      When TVX is first started in tty mode (either by the -t command
  280. line switch, or using 1:t), it will display a 'tvx>' prompt.  The
  281. normal mnemonic commands are then entered on the input line.  The
  282. input line is terminated by a <return> (which is not sent as a
  283. command).  Each letter on the input line will be interpreted as a TVX
  284. command.  Thus, entering a line: 'dddr' would move the cursor 3 lines
  285. down and one character right.  The result of the commands will not be
  286. displayed however. 
  287.  
  288.      The 'V' verify command operates specially for tty mode, and is
  289. used to type out lines of the file.  The normal procedure, then is to
  290. enter commands on the command input line, then enter appropriate 'V'
  291. commands to display relevant lines of the buffer. 
  292.  
  293.      As long as normal TVX commands are entered, the command line
  294. prompt is 'tvx>', and the terminating <return> sends commands to TVX
  295. to execute.  In insert, find, and repeat, the prompt will change to
  296. '+'.  All text entered, including <return>'s is entered into the text,
  297. the find pattern, or the repeat loop buffer.  An Escape ends the
  298. command, and an additional <return> sends the line to TVX. 
  299.  
  300.      Why is tty mode included in TVX?  The earliest versions of TVX
  301. had tty mode because there were a lot of TI Silent-700's around used
  302. at 300 baud.  No longer.  One reason is that tty mode provides an
  303. interface useful to visually handicapped users.  The other is that it
  304. is useful for certain things not possible in visual mode.  For
  305. example, suppose you wanted to see every line in a file containing a
  306. certain pattern.  Tty mode is useful for this.  Enter tty mode (1:t),
  307. then enter the following loop after the 'tvx>' prompt:
  308.      1000<fpattern$vd>$$
  309. This command will find the pattern, print the line, and go to the next
  310. line to search again.  Failure on the last find will exit the loop.
  311. There are no doubt other subtle tricks like this that tty mode can be
  312. used for. 
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                                  -26-
  329.  
  330.  
  331.  
  332.  
  333. TVX Reference Manual                                           2/25/86
  334.  
  335.  
  336.                      *** INSTALLATION OF TVX ***
  337.  
  338.      If you have the C source code of TVX, this section has some notes
  339. you should find useful if you recompile the code to customize TVX for
  340. your system.  It should also be helpful if you are installing TVX on a
  341. new system.  If you are just a user, then you can ignore this
  342. section. 
  343.  
  344.  
  345. *** General Comments ***
  346.  
  347.      TVX has been designed to be portable.  It has had versions
  348. running under CP/M-80, MS-DOS, GEMDOS, RT-11, RSX-11, VMS, and Unix
  349. BSD 4.2.  The heart of TVX portability is the terminal driver.  For
  350. dedicated systems, the control codes used by a specific terminal are
  351. hard wired into C global variables and a terminal specific version is
  352. compiled.  It has been customary to give a unique name to each
  353. different version such as TVV for a VT-52 version, TVT for a televideo
  354. version, etc.  The Unix 4.2 BSD version of TVX has been written to
  355. take advantage of the TERMCAP library usually provided, and is thus
  356. terminal independent. 
  357.  
  358.      Since terminals differ widely, TVX tries to update the screen as
  359. best as possible using the control codes available.  The minimum set
  360. of control sequences required by TVX include direct x-y cursor
  361. positioning, and erase from cursor to the end of the current line.
  362. Almost all terminals have at least these two controls.  The only known
  363. terminal widely available that does not have both of these is the
  364. ADM-3a.  Thus, TVX will NOT work on ADM-3a's.  Another desirable
  365. control sequence is the ability to insert a blank line at the top of
  366. the screen (reverse scroll).  This allows TVX to scroll rather than
  367. jump from one screen to the next.  However, TVX will perform
  368. adequately even on terminals with only x-y and erase to end of line.
  369. It has also been found that TVX does not always work on terminals with
  370. multiple pages of screen data.  The scroll bottom line command usually
  371. fails. 
  372.  
  373. *** Quick and Dirty Porting ***
  374.  
  375.      It should be very simple to port TVX to a new machine for a
  376. pecific terminal.  The only "hard" part comes when trying to use a
  377. package like TERMCAP.  Then, the 4.2 Unix code can serve as a guide.
  378. In effect, what that code does is get the screen controls and patch
  379. the regular TVX screen control locations. 
  380.  
  381.      Typically, however, it should be almost trivial (assuming a
  382. fairly standard C implementation - the current code compiles unchanged
  383. on 4 different C compilers) to generate a version of TVX for a
  384. specific terminal.  The main steps:
  385.  
  386.      1. Define the control codes for the terminal.  These are
  387. explained in some detail in the manual. 
  388.  
  389.      2. Fix file I/O calls.  This may take no changes at all.  The
  390. main issue has been the mode argument to fopen.  TVX likes to get the
  391. file raw - with NO end of line handling by the C I/O system.  These
  392.  
  393.  
  394.                                  -27-
  395.  
  396.  
  397.  
  398.  
  399. TVX Reference Manual                                           2/25/86
  400.  
  401.  
  402. things are identified by #define's in tvx_defs.ic.  The other issue is
  403. what is the end of line character.  Unix likes LF only, while MS-DOS
  404. and descendants like CR/LF (actually DEC RT-11 descendants).  The
  405. #define FILELF and NEWLINE handle this. 
  406.  
  407.      3. The last issue is getting characters to and from the
  408. terminal.  These are isolated in tvx_io.c.  The critical routines:
  409.  
  410.      ttrd() [ and ttrd_() ]: This reads one character (ANY possible
  411. character, except possible ^S and ^Q) from the terminal, UNECHOED.
  412. The routine ttinit is called to possibly initialize things, and ttclos
  413. at the end to undo whatever ttinit did. 
  414.  
  415.      ttwt() and ttwtln(): These are used to send characters to the
  416. screen.  ttwt sends a single character, immediately and unbuffered.
  417. ttwtln can be based on ttwt, but is provided and used whenever a chunk
  418. is available to write.  This is essential on busy time shared
  419. systems. 
  420.  
  421.      That's really the only problem areas.  One good thing to do when
  422. porting is to find all the uses of #ifdef (and #ifndef) for the
  423. implementations described: MSDOS, UNIX, GEMDOS.  Those certainly
  424. identify the areas most likely to be different on your system. 
  425.  
  426.      Note that the Microsoft C compiler for MS-DOS is slightly brain
  427. damaged - the arguments to rename in its library are backwards from
  428. the rest of the world. 
  429.  
  430.  
  431. *** Source Files Supplied ***
  432.  
  433.      The following files are included in most distributions:
  434.  
  435.   TVX_1.C  - main part of code (part 1)
  436.   TVX_2.C  - main part of code (part 2)
  437.              These two files are mostly os and terminal independent.
  438.   TVX_EDIT.C - The main heart of the command parser.  Isolated to
  439.                make generating new emulators easy.  When generating
  440.                a new emulator, only TVX_EDIT and TVX_LEX need to
  441.                be recompiled.
  442.   TVX_LEX.C - defaults, some os dependent stuff in here.  Major
  443.             changes in defaults can be fixed by recompiling this file.
  444.   TVX_IO.C - almost all I/O, including screen, confined to this file.
  445.   TVX_LIB.C - misc library routines needed by TVX.
  446.   TVX_IBM.C - IBM-PC specific code, specifically the screen driver
  447.               (TVX_IBM.ASM - hand optimized version of TVX_IBM.C)
  448.   TVX_UNIX.C - contains unix specific code, including termcap driver
  449.   TVX_DEFS.IC - #define's for version, os, terminal, defaults
  450.   TVX_GLBL.IC - global data structures
  451.   TVX_TERM.IC - definitions for various terminals and systems
  452.  
  453.   TVX_CFG.C - used to build CONFIG.TVX file for -c switch
  454.   TVX_PTCH.C - MS-DOS versions only - used to permanently apply
  455.               config settings to TVX.EXE.
  456.  
  457.   TVX_MAKE.BAT - MS-DOS Batch file to build TVX using cii c-86.
  458.  
  459.  
  460.                                  -28-
  461.  
  462.  
  463.  
  464.  
  465. TVX Reference Manual                                           2/25/86
  466.  
  467.  
  468.   TVX_MAKE.UNX - Unix Makefile to make on unix.
  469.  
  470.   TVX_REF.DOC - This file, preformatted for printing on a "standard"
  471.                 printer - 80 columns by 66 lines.
  472.   TVX_TUT.DOC - A novice user tutorial for using Standard TVX.
  473.   xxx.ref -    a quick reference card for given version of TVX.
  474.  
  475.  
  476. *** Screen Driver and Control Sequences ***
  477.  
  478.      The actual codes used by TVX to update the screen are global
  479. variables in the 'tvx_glbl.ic' file.  Using the '#ifdef EXTERN' trick
  480. described in that file, the screen variables (plus most other relevant
  481. global variables) are included as external references.  The actual
  482. definitions for a given terminal are included in a file called
  483. 'tvx_term.ic'.  Several sample definitions are included in the
  484. distribution code.  A description of each relevant variable follows:
  485.  
  486.  
  487. ** X-Y Cursor Addressing
  488.  
  489. int addx - amount to add to internal x position get terminal's x
  490. value.  Terminals typically encode x-y as a single printable
  491. character, thus requiring the addition of a blank to make x-y
  492. printable.  Since TVX uses a 1,1 origin, this value will commonly be
  493. 31. 
  494.  
  495. int addy - same as addx, but for y position. 
  496.  
  497. char cxychr - true (1) if convert xy binary representation to ascii
  498. string. 
  499.  
  500. char cxy1st - 'l' if line coordinate first, 'c' if column first. 
  501.  
  502. char cxybeg[8], char cxymid[8], char cxyend[8] - The x-y cursor
  503. control sequence usually takes one of two forms: <control><x><y> or
  504. <control><x><middle><y><end>.  The x and y may be reversed.  These
  505. three arrays are used to send the proper control sequence for xy
  506. positioning. 
  507.  
  508.  
  509. *** Other control sequences
  510.  
  511. char cversn[12] - a version string to identify terminal. 
  512.  
  513. char cerrbg[8], char cerred[8] - sequences sent when an error message
  514. sent to terminal's last line.  Note that cerrbe is sent BEFORE the
  515. cursor is moved to the last line, and cerred is sent before the cursor
  516. is returned to the original position.  Some terminals give problems if
  517. a highlight sequence is sent before a cursor positioning sequence.  A
  518. bell is usually safe for most versions. 
  519.  
  520. char ctopb[8] - This sequence should insert a blank line when the
  521. cursor is at the top left corner.  It is often called reverse line
  522. feed.  A command to insert a line usually performs the same function,
  523. but some terminals don't have both. 
  524.  
  525.  
  526.                                  -29-
  527.  
  528.  
  529.  
  530.  
  531. TVX Reference Manual                                           2/25/86
  532.  
  533.  
  534. char cinit[20], char cendit[20] - these sequences are sent to
  535. initialize and reset the terminal. 
  536.  
  537. char cbotb[8] - this sequence scrolls the screen up one line when the
  538. cursor is on the last line.  Line feed works for any terminal
  539. encountered to date. 
  540.  
  541. char celin[8] - Erase from cursor to end of line.  This sequence is
  542. required for operation of TVX. 
  543.  
  544. char cescr[8] - Erase from cursor to end of screen.  If the terminal
  545. doesn't have this, it is simulated using multiple celins. 
  546.  
  547. char ccsrcm[8], char ccsrin[8] - These are used to change the cursor
  548. from command mode to insert mode.  Many terminals do not support a
  549. method of changing the cursor shape.  These have been also been used
  550. to change the screen from normal to reverse video and back. 
  551.  
  552. char ciline[8] - Insert a blank line.  A blank line is inserted on the
  553. line the cursor is on.  If available, it can be used for ctopb, too. 
  554.  
  555. char ckline[8] - Kill a line.  The line the cursor is on is deleted,
  556. and the following text scrolled up. 
  557.  
  558. char cundlb[8], cundle[8] - TVX has the capability to optionally
  559. support bold and underline for some text processors.  For example, a
  560. ^U can be used to toggle underscore.  This is only useful for a text
  561. formatter that can recognize such a sequence. 
  562.  
  563. char cboldb[8], char cbolde[8] - Similar to undlb, but boldface. 
  564.  
  565.  
  566. *** Default settings
  567.  
  568. int ddline - default display line.  This sets which line is the
  569. default home display line.  For scrolling versions (dscrl != 0), right
  570. in the middle is a good place.  For fixed cursor line versions,
  571. something below the middle seems better (like 16 for 24 line
  572. screens). 
  573.  
  574. int dscrl - default scroll lines.  If this is non-zero, the cursor
  575. will move up and down lines on the screen with cursor movement
  576. commands.  This requires a bit less screen update overhead, and is
  577. better for slower time shared systems.  If it is zero, the cursor will
  578. remain fixed on ddline, and text will scroll on and off the screen as
  579. needed.  Both these are resettable with the : command. 
  580.  
  581. int dxcase - default search case.  0 means find is case insensitive, 1
  582. means find must match exact case. 
  583.  
  584. int usecz - MS-DOS versions only.  If 1, TVX will put a Control-Z end
  585. of file mark in the file (this is CP/M compatible).  If 0, TVX uses
  586. MS-DOS end of file conventions. 
  587.  
  588. int autoin - TRUE (1) if auto indent, FALSE (0) otherwise. 
  589.  
  590.  
  591.  
  592.                                  -30-
  593.  
  594.  
  595.  
  596.  
  597. TVX Reference Manual                                           2/25/86
  598.  
  599.  
  600. int logdef - Create backup log file by default?  0->no, 1-> yes. 
  601.  
  602. char wildch - The character used as a wild card in finds. 
  603.  
  604. char delkey - the delete character key, usually backspace. 
  605.  
  606. int tvhardlines - number of physical lines on screen. 
  607.  
  608. int tvlins - number of lines on virtual screen.  Initially should be
  609. same value as tvhardlines. 
  610.  
  611. int tvcols - number of columns on screen.  If the terminal wraps new
  612. text to the next line rather than discarding characters after the last
  613. column, then tvcols must be set to 1 less than the true width of the
  614. terminal. 
  615.  
  616. int isibmpc - TRUE (1) if this version uses the custom IBM-PC screen
  617. driver.  FALSE (0) if uses regular terminal output code. 
  618.  
  619. char synofr[20], char synoto[20] - These are used to map commands.
  620. The synofr contains commands to be aliased to the corresponding
  621. command in the synoto table.  For example, the '[' and '{' keys are
  622. often reversed on some terminals.  Making '[' in synofr a synonym to
  623. '{' in synoto will make the two commands the same. 
  624.  
  625. char funkey - If the terminal has function keys, they can be supported
  626. by TVX by setting this variable to the first code sent by the function
  627. key, usually ESCAPE.  TVX supports only two code sequences for
  628. function keys. 
  629.  
  630. char funchar[50] - this is the second code sent by a function key. 
  631.  
  632. char funcmd[50] - this is the equivalent command a given function key
  633. will be mapped to.  Similar to synofr and synoto. 
  634.  
  635.  
  636. *** #define options
  637.  
  638.      The file 'tvx_defs.ic' has many #define statements that can be
  639. used to customize TVX for particular installations.  Ideally, the
  640. source for TVX should be maintained as one set, and differences
  641. between versions handled by #defines.  Most #defines are explained in
  642. the source code, but a few deserve a few extra comments, and are
  643. summarized below. 
  644.  
  645. #define VERSION " - TVX (7/1/85) - " - This defines the version of
  646. TVX.  Any time a modification is made, the VERSION define should be
  647. updated. 
  648.  
  649. #define VB - whether or not to create backup log version or not.  This
  650. does NOT imply the file "backup.log" will be used automatically (see
  651. variable logdef), simply that the code is included. 
  652.  
  653. #define ULBD - If defined, TVX supports underline, bold in ^U, ^B
  654. format. 
  655.  
  656.  
  657.  
  658.                                  -31-
  659.  
  660.  
  661.  
  662.  
  663. TVX Reference Manual                                           2/25/86
  664.  
  665.  
  666. #define BACKUPNAME - This defines the name of the backup log file, if
  667. used. 
  668.  
  669. #define BUFFLIMIT - This defines how much space is saved in the text
  670. buffer when reading in a file.  This determines how much space is
  671. reserved for saving text with the 'S' command, and how much is left
  672. over for new inserts.  Smaller values allow more text from the file to
  673. be read, larger values allow more text to be saved.  The '-s' switch
  674. at runtime increases this value. 
  675.  
  676. #define FILEREAD, #define FILEWRITE - These define the string used for
  677. file mode in the fopen() calls.  Unix and MS-DOS versions are not
  678. typically exactly compatible, as most MS-DOS C's allow a different
  679. mode to handle the CR/LF problem. 
  680.  
  681. #define FNAMESIZE - maximum length of file names. 
  682.  
  683. #define INT16 - If #defined, then the normal C int is 16 bits long.
  684. This changes the way memory status is displayed. 
  685.  
  686. #define LINELIMIT - Like BUFFLIMIT, only number of lines. 
  687.  
  688. #define MAXBUFF - Defines maximum number of characters allocated to
  689. text buffer.  Malloc() is used to get the space from the runtime
  690. system.  It is possible less than MAXBUFF will be available.  The
  691. maximum allowed for any given system must be less than the maximum
  692. value represented by an unsigned int.  If MAXBUFF is very large, there
  693. get to be a noticeable initialization delay. 
  694.  
  695. #define MAXLINE - This determines the maximum number of lines
  696. allocated per buffer.  It is related to MAXBUFF. 
  697.  
  698. #define REPEATBUFS - defines how many repeat buffers are allocated.
  699. If space is a problem, allocate fewer repeat buffers. 
  700.  
  701. #define USELF - This symbol should be defined if the terminal needs a
  702. line feed character after each carriage return.  Almost always true. 
  703.  
  704. #define FILELF - This symbol is defined if text files use a CR/LF
  705. combination.  It causes a NEWLINE/LF to be written to files. 
  706.  
  707. #define NEWLINE - This defines the actual character used as a new line
  708. in files.  On CR/LF systems, it should be a CR (13).  On systems like
  709. Unix with a single new line separator, it should be that character
  710. (LF). 
  711.  
  712. #define USECTRLZ - defined if the code for handling a Control-Z and
  713. end of file mark should be used. 
  714.  
  715. #define NEEDTVLIB - define this if the standard C library provided
  716. doesn't have the routine in TVX_LIB. 
  717.  
  718. #define HELP - Define this if help should be supported.  The help
  719. routine uses significant space, which can be saved if help isn't
  720. compiled in. 
  721.  
  722.  
  723.  
  724.                                  -32-
  725.  
  726.  
  727.  
  728.  
  729. TVX Reference Manual                                           2/25/86
  730.  
  731.  
  732. #define CONFIGFILE - define this if support for the '-c' switch is
  733. desired. 
  734.  
  735.  
  736.  
  737. **** MS-DOS Notes ***
  738.  
  739.      TVX can be built as a generic MS-DOS version and as an IBM-PC
  740. specific version.  The MS-DOS version uses the standard DOS character
  741. output routines.  Thus, it could use the ANSI.SYS driver, but it would
  742. run very slowly then.  The IBM-PC version has a custom screen driver
  743. that calls the ROM BIOS directly, and is very fast.  Even more speed
  744. can be had by optimizing the output assembly code (the sysint
  745. overhead).  The definitions for and IBMPC included in "tvx_term.ic"
  746. also define the keypad keys to work in a predictable manner. 
  747.  
  748.  
  749.  
  750. *** Unix Notes ***
  751.  
  752.      The usual Unix version will be the TERMCAP version.  That version
  753. works very well, but is not in all cases optimal for a given
  754. terminal.  It might be desirable to build a specific version for the
  755. terminal you use most often.  Most notably, the TERMCAP version does
  756. not know about cursor shapes or other control sequences to distinguish
  757. command mode from insert mode.  Also, it sets tvcols to one less than
  758. the true value to avoid wrapping problems.  The termcap version also
  759. only sends a bell for the error message. 
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                  -33-
  791.  
  792.  
  793.  
  794.  
  795. TVX Reference Manual                                           2/25/86
  796.  
  797.  
  798.                         *** TVX File Usage ***
  799.  
  800.      TVX uses four logical files: the original file, the destination
  801. file, a work file, and the source file.  The original file and the
  802. destination file are not touched until a normal exit from TVX. 
  803.  
  804.      The source file is the current copy of the file providing text to
  805. be entered.  When TVX is first started, the source file and the
  806. original file are the same.  The work file is used to hold the edited
  807. output file. 
  808.  
  809.      When the '^B' file beginning command is issued, the remainder of
  810. the source input file is written to the work output file.  The work
  811. file then becomes the new source file, and a new work file is
  812. created.  Thus, it is possible to have four copies of a file around:
  813. The .BAK backup copy of the original file, the original copy of the
  814. file, the copy of the source file, and the (partially written) work
  815. file.  Under normal operation, there will only be two copies: the
  816. source file (which is really the original file) and the possibly
  817. partially written work file.  Only by using the '^B' commands can 3
  818. copies of the file exist. 
  819.  
  820.      When you issue the normal '^X' exit command, the following
  821. actions take place: Any old .BAK files are deleted.  The original file
  822. is renamed to be the new .BAK version.  If the source file is
  823. different than the original file, it will be deleted.  The work file
  824. is then renamed to be the destination file.  If you don't have write
  825. access to the directory with the original file, then the original file
  826. and the work file will not be renamed.  A message to that effect will
  827. be printed.  The normal operating system copy and rename commands can
  828. be used to recover the work file, which contains the edits made to
  829. date. 
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                  -34-
  857.  
  858.  
  859.  
  860.  
  861. TVX Reference Manual                                           2/25/86
  862.  
  863.  
  864.                *** Standard Quick Reference Summary ***
  865.  
  866.  
  867.        TVX Commands (n => count allowed)
  868.  
  869.     nA Append lines            B Buffer beginning
  870.     ^B File beginning         nC Change chars
  871.     nD Down line             n^D Down column
  872.      E Buffer end            n^E Edit repeat buffer
  873.     nF Find pattern           ^F Find across buffs
  874.      G Get save buffer        ^G Unkill last line
  875.     nH Half page              nI Insert (till $)
  876.      J Jump back              nK Kill character
  877.    n^K Kill line              nL Left
  878.      M Memory status          nN Note location
  879.    n^N Reset location         nO Open blank line
  880.     ^O Operating system       nP Page
  881.     ^P Print screen           nR Right
  882.     ^R Restore edited buffer  nS Save lines
  883.     nT Tidy (fill text)       ^T Abort session
  884.     nU Up                    n^U Up column
  885.      V Verify                n^W Write buff
  886.     ^X Exit, end session     n^Y Yank to(-n)/from(+n) file
  887.    nBS Delete prev. char.     n; Find again
  888.      / Delete last thing       = Change last thing
  889.      ' Del to line beginning   " Delete to line end
  890.      , Line beginning          . Line end
  891.   nTAB Word right             n{ Word left
  892.   n<>$$ Repeat loop           n& Repeat again
  893.    n#k Execute repeat buffer k n times
  894.      ? Help                    @ Invoke cmd file
  895.      * Insert pat found last  n~ Toggle case
  896.      $ Escape - end insert, find, repeat
  897.    n:p Set parameter p
  898.  
  899.   Possible parameters:
  900.  
  901.     A - Autoindent (1=y,0=n)       D - display line
  902.     E - Expand tabs to n spaces    F - find case (0=exact,1=any)
  903.     M - Match wild cards           O - set output file name
  904.     S - scroll window              R - repeat buffer to use
  905.     T - tty mode                   U - define user wild card set
  906.     V - virtual window             W - autowrap width
  907.     C - cut mode
  908.  
  909.   Usage: tvx filename [-b -i -l -o=f -r -s -t -w -# {-z -c=f}]
  910.  
  911.     -[no]b : backup file           -[no]i : autoindent
  912.     -[no]l : make command log file -t : tty mode
  913.     -o=outputfile                  -r : read only
  914.     -s : big save buff             -[no]w : word processing mode
  915.     -# : set virtual window lines to #
  916.  
  917.   On MS-DOS versions:
  918.     -[no]z : use control-z for end of file
  919.     -c=configfile                  -c : use /bin/config.tvx
  920.  
  921.  
  922.                                  -35-
  923.  
  924.  
  925.  
  926.  
  927. TVX Reference Manual                                           2/25/86
  928.  
  929.  
  930.                  VIX - A vi-like editor based on TVX
  931.  
  932.  
  933.      Vix is an extension to tvx that provides a close emulation of the
  934. Unix editor vi.  While the majority of the common commands are
  935. identical, there are some inherent differences in the way tvx and vi
  936. treat text.  Most of the commands were implemented directly using the
  937. TVX equivalent, although some commands were required new code.  If the
  938. vi command could not be implemented, its command letter was left
  939. unused, and will produce an error message. 
  940.  
  941.      Vix does not have the underlying ex editor, so none of the escape
  942. to ex commands work.  Vix does have the TVX repeat loop, however, and
  943. this compensates to a great extent for the need for ex features.
  944. Please consult the TVX manual for examples of using the repeat loop.
  945. Note that when using the repeat loop with vix, the commands will be
  946. vix commands and not tvx commands. 
  947.  
  948.      Another significant difference is that tvx (and thus vix) treats
  949. the end of line character as just another character.  Thus cursor
  950. movement commands move over the end of line in a fashion one would
  951. expect.  However, when one moves to the end of the line, the cursor is
  952. placed 'over' the newline (displayed after the last real character in
  953. the line).  This makes the '$' command work somewhat differently.
  954. This also means that you can include a <return> in a search pattern.
  955. Vix and tvx use ESCAPE to end the search pattern instead of <return>. 
  956.  
  957.      Vi uses the ':' command to read and write the file (among other
  958. things).  Vix uses the ':' to set operating parameters such as
  959. autoindent, screen size, etc.  The 'ZZ' (or 'ZA' to abort without
  960. changes) command is used by vix to exit. 
  961.  
  962.      Unlike vi and ex, tvx and vix try to load the entire file being
  963. edited into memory (called the buffer by tvx/vix, as opposed to the
  964. yank or save buffer).  If the entire file doesn't fit, the user must
  965. manually 'page' the file in and out of memory manually.  Most of the
  966. 'q' ("tvx" prefix) commands are supplied to handle buffer
  967. manipulation.  For more details, consult the TVX manual.  TVX/vix also
  968. uses the concept of the "last thing" as a major editing tool.
  969. Whenever you find a pattern, skip over a word with b or w, save text
  970. into the save buffer with the 'y' or 'Y' commands, or put text from
  971. the save buffer, that text is considered the "last thing".  The 'c/'
  972. and 'd/' commands will delete the last thing.  Entering a new command
  973. will forget what the last thing was until you again enter a "last
  974. thing" command. 
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.                                  -36-
  989.  
  990.  
  991.  
  992.  
  993. TVX Reference Manual                                           2/25/86
  994.  
  995.  
  996.      The available vix commands are summarized below.  The first
  997. column of each entry has a character noting similarities and
  998. differences with the real vi commands in the following fashion:
  999.  
  1000. - means present in vi, not implemented in vix.
  1001. = means commands work identically {with possible minor variations}
  1002. + means new or significantly different command
  1003. * means "equivalent" command, somewhat different than vi
  1004. <space> means command unused in both vi and vix.
  1005.  
  1006.   n in front of command means command takes count argument
  1007.   [synonyms indicated in brackets]
  1008.  
  1009.    ^@: Unused
  1010.    ^A: Unused
  1011. = n^B: Backward window. {2 lines of continuity not preserved}
  1012.    ^C: Unused
  1013. = n^D: Down half window.
  1014. -  ^E: Not implemented
  1015. = n^F: Forward window.
  1016. *  ^G: memory status, short info line
  1017. = n^H: backspace Command mode: left; Insert mode: del last char
  1018. =  ^I: inserts tab in insert mode, not a command.
  1019. = n^J: down arrow in column [j,^N]
  1020. + n^K: up in column [k,^P]
  1021. =  ^L: verify screen [^R,z]
  1022. = n^M: down to beginning of line [+]
  1023. = n^N: [j, ^J]
  1024.    ^O: Unused
  1025. = n^P: [k, ^K]
  1026. =  ^Q: Unused (flow control)
  1027. =  ^R: Redraw screen [^L,z]
  1028. =  ^S: Unused (flow control)
  1029. +  ^T: TVX prefix command - see q [q,Q,T]
  1030. * n^U: Up half window.  ** in insert mode, does NOT erase line **
  1031. *  ^V: Not a command.  NOT literal quote in insert mode.
  1032. *  ^W: Not a command.  NOT used for delete word in insert.
  1033.    ^X: Unused
  1034. -  ^Y: Not implemented
  1035. -  ^Z: Not implemented
  1036. =  Escape: forces command mode, safe follow char for d,c,q.
  1037.    ^: Unused
  1038. -  ^]: Not implemented
  1039. -  ^^: Not implemented
  1040.    ^_: Unused
  1041. =  <space>:  [r]
  1042. +  n!: Tidy.  Fills n lines up to wrap margin. [see autowrap]
  1043. -   ": Not implemented
  1044. + n#p: execute repeat loop number 'p' 'n' times
  1045. =   $: goto end of current line {end is newline, not last char}
  1046. -   %: Not implemented
  1047. -   &: Not implemented
  1048. -   ': Not implemented
  1049. -   (: Not implemented
  1050. -   ): Not implemented
  1051. +   *: insert last matched pattern into text buffer
  1052.  
  1053.  
  1054.                                  -37-
  1055.  
  1056.  
  1057.  
  1058.  
  1059. TVX Reference Manual                                           2/25/86
  1060.  
  1061.  
  1062. =  n+: [CR, ^M]
  1063. -   ,: Not implemented
  1064. *   -: Used in vix for negative counts, use K for up line.
  1065. -   .: Not implemented, repeat loops are a substitute
  1066. =   /: search {Escape used to end pattern, multi-line patterns ok}
  1067. *   0: 0 is used for counts (especially for : parameters)
  1068. = 0-9: count value for numeric arguments {may be negative!}
  1069. -   :: Not implemented - use ZZ and ZA to exit
  1070. -   ;: Not implemented
  1071. +  n<: Begin repeat loop. Loop terminated with >$$. ($ = Esc)
  1072. +   =: Help screens
  1073. +   >: Used to terminate repeat loops.
  1074. =   ?: Reverse search {search begins on previous line}
  1075. +  n@: execute current repeat loop n times (shorthand for n#p)
  1076. =   A: append to end of line
  1077. *  nB: back a word {vix's concept of words is different than vi}
  1078. =   C: changes rest of line
  1079. =   D: delete rest of the line
  1080. -   E: Not implemented
  1081. -   F: Not implemented
  1082. =  nG: goes to line number n, or end of buffer if no n supplied
  1083. *   H: Beginning of buffer (first line in buffer)
  1084. =   I: inserts at beginning of line
  1085. =   J: join lines {not needed since vix treats newlines as chars}
  1086. +  nK: Up a line to beginning of line
  1087. *   L: bottom line of file
  1088. +  nM: return to marked location n (n from 1 to 9, see m)
  1089. =   N: like n, but in reverse direction
  1090. =  nO: open a line above current line. n opens n blank lines.
  1091. =   P: put save buffer above current line {save buffers not named}
  1092. +   T: tvx commands (see q) [^T,q,Q]
  1093. *   U: very limited undo!! It only restores the LAST line killed!
  1094.     V: Unused
  1095. *  nW: Moves forward n words [w] {vix's concept of words not same}
  1096. =  nX: delete n characters before cursor
  1097. +  nY: append n lines to save buffer (see y), does not change buffer
  1098. =+ Zx: exit from vix (ZZ: normal, writes file, ZA: abort, no changes)
  1099. -  [[: Not implemented
  1100.     : Unused
  1101. -  ]]: Not implemented
  1102. =   ^: beginning of line {1st char of line, NOT 1st non-white char}
  1103. +   _: invoke indirect command file
  1104. =   a: append text starting after cursor
  1105. *   b: back up a word [see B]
  1106. =   c: change c, <sp>, ^, $, or / (delete, enter insert mode)
  1107.     =   c - change line
  1108.     =   <sp> - change one character
  1109.     =   ^ - to beginning of line
  1110.     =   $ - to end of line
  1111.     -   w, b, and any others not mentioned not implemented
  1112.     +   / - the last thing found, yanked or put
  1113. =  nd: delete d, <sp>, ^, $, or /
  1114.     =   d - delete line
  1115.     =   <sp> - delete character
  1116.     =   ^ - to beginning of line
  1117.     =   $ - to end of line
  1118.  
  1119.  
  1120.                                  -38-
  1121.  
  1122.  
  1123.  
  1124.  
  1125. TVX Reference Manual                                           2/25/86
  1126.  
  1127.  
  1128.     -   w, b, and any others not mentioned not implemented
  1129.     +   / - the last thing found, yanked or put
  1130. -   e: Not implemented
  1131. -   f: Not implemented
  1132.     g: Unused
  1133. =  nh: Move left n characters [BS,^H] {will move over lines, too}
  1134. =  ni: insert (if value n supplied, then that ascii code inserted)
  1135. =  nj: down lines, in column [^J,^N]
  1136. =  nk: Up lines, in column [^K,^P]
  1137. =  nl: right n characters [<space>] {moves over lines, too}
  1138. *  nm: mark cur. line as location n.  Use M to return to location.
  1139. =   n: find next (in same direction as last ? or /)
  1140. =  no: open n following lines
  1141. =   p: put save buffer after cur line
  1142. +   q: Prefix character for "tvx" extended commands
  1143.         !: call operating system
  1144.         b: goto real beginning of the file
  1145.         e: edit repeat buffer
  1146.         j: jump back to last location
  1147.         p: put external file from save buffer
  1148.         r: restore repeat buffer
  1149.         s: print screen
  1150.         w: read in next page of file
  1151.         y: yank external file to save buffer
  1152.         /: cross buffer search
  1153.       n:p: set parameter 'p' to value 'n', parameters are:
  1154.          a: autoindent (1 means on, 0 off for all "switch" pars)
  1155.          c: "cut" mode (means 'dd' saves line in yank buffer, too)
  1156.          e: expand tabs to n spaces (8 default)
  1157.          d: home display line (where cursor homes after verify)
  1158.          f: find case mode (0 is case insensitive, 1 exact match)
  1159.          m: match wildcards (1 use ^A, ^L, etc., 0 no wild cards)
  1160.          o: requests new name for output file
  1161.          s: scroll window, cursor moves s lines before scrolling
  1162.          t: tty mode - 1: tty mode, 0: visual mode
  1163.          u: requests entry of user wild card set
  1164.          v: virtual window size
  1165.          w: autowrap limit.
  1166. =   r: replace next char with next character entered
  1167. =  ns: substitute: delete n characters, enter insert mode
  1168. -   t: Not implemented
  1169. -   u: Not implemented (see U)
  1170.     v: Unused
  1171. *  nw: advance word (see W)
  1172. =  nx: delete n characters
  1173. *  ny: yank text to save buffer - will save n lines into save buffer
  1174.        (Only one save buffer, 1st y clears buffer, rest add until
  1175.         non y command entered. dd works in a similar fashion, but
  1176.         kills as it saves (if cut_mode enabled)).
  1177. =   z: refresh screen (^L,^R)
  1178. -   {: Not implemented
  1179. -   |: Not implemented
  1180. =  n~: Change case of next n characters
  1181. * nDEL: Same as X, delete previous character
  1182.  
  1183.  
  1184.  
  1185.  
  1186.                                  -39-
  1187.  
  1188.  
  1189.  
  1190.  
  1191. TVX Reference Manual                                           2/25/86
  1192.  
  1193.  
  1194.                       EMAX - TVX emulating emacs
  1195.  
  1196.      Important differences: No windows, no marked region, no Q
  1197. registers, no word delete or case change, ^K interacts differently
  1198. with save buffer multiple keyboard macros (called repeat loops), much
  1199. different file and buffer manipulation. 
  1200.  
  1201.      Partial line ^K's (no argument or 0 argument) will save the
  1202. deleted text in the unkill buffer (^CU), but NOT the save/cut buffer.
  1203. If an argument is supplied, then the killed lines are save in the save
  1204. buffer. 
  1205.  
  1206.      TVX'x kill last thing concept is implemented as ^C^K. 
  1207.  
  1208.      Values can be supplied in two ways.  Any of the <esc> commands
  1209. may supply a count after the <esc>.  Thus, '<esc>10B' will back over
  1210. 10 words.  <esc> may also be used to specify the count for ctrl
  1211. commands: '<esc>10^N' goes down 10 lines.  The usual emacs '^U' also
  1212. works to supply arguments.  It works in the emacs multiples of 4, but
  1213. the Arg: count echoes differently.  When you press ^U, then the
  1214. message 'Arg: 4' will appear on the bottom.  If you press ^U again, it
  1215. will change to 'Arg: 16'.  However, if you enter any other numeric
  1216. value, the 'Arg' message disappears, and you get no additional
  1217. prompting of values. 
  1218.  
  1219.  
  1220.  <ctrl-A>    Move to start of line.
  1221. n<ctrl-B>    (Back) Move backward by characters.
  1222. n<ctrl-C>    (Command) TVX Command: execute commands provided
  1223.              by TVX base.  (These ^C commands have NO relation
  1224.              to ^C commands of large emacs implemetations!)
  1225.          ^A    Append line to save buffer
  1226.          ^B    Move to absolute beginning of file
  1227.          ^E    Edit repeat buffer
  1228.          ^F    Fill n lines to autowrap margin
  1229.          ^G    No op - exit ^C
  1230.          ^H    Half screen down
  1231.          ^J    Jump back to previous location
  1232.          ^K    Delete last thing
  1233.          ^N    Move to beginning of next line
  1234.          ^M    Mark location n
  1235.          ^P    Move to beginning of previous line
  1236.          ^R    Restore edited repeat buffer
  1237.          ^W    Write buffer, read next portion of file
  1238.           ;    Search forward again
  1239.           ~    Change case of next n characters
  1240.           G    Goto line number n
  1241.           H    Half page up
  1242.           I    Insert ascii char n if n supplied,
  1243.                  otherwise enter insert mode
  1244.           L    Print screen on printer (micros only)
  1245.           M    Return to marked location
  1246.           P    Put line into save buffer
  1247.           S    Search forward across file buffers
  1248.           U    Unkill last single line killed
  1249.           Vp   Set variable p (like TVX's : command)
  1250.  
  1251.  
  1252.                                  -40-
  1253.  
  1254.  
  1255.  
  1256.  
  1257. TVX Reference Manual                                           2/25/86
  1258.  
  1259.  
  1260.           W    Write save buffer to external file
  1261.           Y    Yank external file into save buffer
  1262. n<ctrl-D>    (Delete) Delete next character.
  1263.  <ctrl-E>    (End) Move to end of line.
  1264. n<ctrl-F>    (Forward) Move forward by characters.
  1265. n<ctrl-H>    Backspace - delete n previous characters
  1266. n<ctrl-K>    (Kill) With no argument, kill from current position
  1267.              to end of line; if at the end, kill the newline.
  1268.              With argument 0, kill from beginning of line to
  1269.              current position. Otherwise, kill argument lines
  1270.              forward (if positive) or backward (if negative).
  1271.  <ctrl-L>    Redraw the screen.
  1272. n<ctrl-N>    (Next) Move to next line.
  1273. n<ctrl-O>    (Open) Open line above cursor.
  1274. n<ctrl-P>    (Previous) Move to previous line.
  1275.  <ctrl-R>    (Reverse) search backward.
  1276.  <ctrl-S>    (Search) search forward. { <Esc>S is a synonym }
  1277.  <ctrl-T>    (Transpose) Transpose characters.
  1278.  <ctrl-U>    Specify an argument, as described above.
  1279. n<ctrl-V>    Move forward by n pages.
  1280.  
  1281.  <ctrl-X><ctrl-C>  Abort edit session with no changes.
  1282.  <ctrl-X><ctrl-B>  Short buffer status line
  1283. n<ctrl-X>E   (Execute) Execute current repeat loop n times.
  1284.  
  1285.  <ctrl-Y>    (Yank) Yank save buffer to current location.
  1286.  <ctrl-Z>    Save current buffer to associated file and exit.
  1287. n<Del>       Delete the previous n characters. (^H is synonym)
  1288.  
  1289.  <esc>%      Invoke command file (TVX @ file)
  1290.  <esc>!      Call operating system
  1291. n<esc>#p     Execute repeat loop 'p' 'n' times.
  1292. n<esc>(      Repeat loop definition.  ')<esc><esc>' ends loop.
  1293.  <esc>-,0-9  Auto argument for other <esc> and CTRL commands.
  1294.  <esc><      Move to beginning of buffer.
  1295.  <esc>>      Move to end of buffer.
  1296.  <esc>?      Help and status screens
  1297. n<esc>B      (Back) Move backward by words.
  1298. n<esc>F      (Forward) Move forward by words.
  1299. n<esc>V      Move backward by pages.
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.                                  -41-
  1319.  
  1320.  
  1321.  
  1322.  
  1323. TVX Reference Manual                                           2/25/86
  1324.  
  1325.  
  1326.                             *** INDEX ***
  1327.                          TVX Reference Manual
  1328.  
  1329. abort - 12
  1330. append - 6, 12
  1331. auto wrap - 19
  1332. autoindent - 17
  1333.  
  1334. backspace - 1, 14, 20, 21
  1335. backup file - 4, 6, 13, 20
  1336. beginning of file - 6, 9
  1337. buffer - 2, 6, 7, 9, 10, 12, 13
  1338. buffer beginning - 6
  1339.  
  1340. change - 7
  1341. commands - 1, 6
  1342. cursor - 1
  1343. cursor character - 6
  1344. cut mode - 18
  1345.  
  1346. default source settings - 30
  1347. define options - 31
  1348. delete last thing - 15
  1349. delete line front - 15
  1350. delete line tail - 15
  1351. delete previous character - 14
  1352. down - 7, 12
  1353. down in column - 7
  1354.  
  1355. end buffer - 7
  1356. end session - 14
  1357. Error Messages - 23
  1358. escape - 6, 8, 9, 20
  1359. exit - 14
  1360. external file - 14
  1361.  
  1362. find - 8, 9, 14, 18
  1363. find case - 18
  1364.  
  1365. get - 9
  1366. get killed line - 9
  1367.  
  1368. half page - 9
  1369. home display line - 18
  1370.  
  1371. insert - 9, 11
  1372. Insert find pattern - 15
  1373. Installation - 27
  1374. Installation - MS-DOS - 33
  1375. Installation - Unix - 33
  1376. invoke command file - 17
  1377.  
  1378. jump - 10
  1379.  
  1380. kill characters - 10
  1381. kill lines - 10
  1382.  
  1383.  
  1384.                                  -42-
  1385.  
  1386.  
  1387.  
  1388.  
  1389. TVX Reference Manual                                           2/25/86
  1390.  
  1391.  
  1392. left - 10
  1393. line beginning - 15
  1394. line end - 15
  1395. log file - 4, 14, 17, 20
  1396.  
  1397. memory - 10
  1398. mode - 6, 7, 9, 11, 15
  1399.  
  1400. note - 10, 11
  1401.  
  1402. open line - 11
  1403. operating system - 11
  1404. other control sequences - 29
  1405. output file - 18
  1406.  
  1407. page - 9, 11
  1408. parameters - 17
  1409. print - 11
  1410.  
  1411. Quick Reference Summary - 35
  1412. quit - 7
  1413.  
  1414. repeat buffer - 12
  1415. repeat loop - 7, 16, 18
  1416. right - 11
  1417.  
  1418. save buffer - 6, 9, 12, 14
  1419. scroll lines - 18
  1420. search - 8
  1421. skip over words - 16
  1422. source code - 27
  1423. starting up - 4
  1424. status - 10
  1425. switches - 5
  1426.  
  1427. tab expansion - 18
  1428. terminate - 12
  1429. tidy - 12
  1430. tty mode - 18, 26
  1431. TVX File Usage - 34
  1432.  
  1433. unkill - 9
  1434. up - 13
  1435. up in column - 13
  1436. user wild cards - 19
  1437.  
  1438. verify - 13
  1439. virtual window - 19
  1440.  
  1441. wild card - 8, 18
  1442. word - 16
  1443. write buffer - 13
  1444.  
  1445. X-Y Cursor Addressing - 29
  1446.  
  1447. yank external file - 14
  1448.  
  1449.  
  1450.                                  -43-
  1451.  
  1452.  
  1453.