TVX: PD Editor (7b of 7, repost)

wampler at unmvax.UUCP wampler at unmvax.UUCP
Fri Jan 17 03:36:02 AEST 1986


This was originally the 2nd half of 7 of 7, but
has been split to keep the postings < 64k.  Use
cat to recombine with 7a of 7.

#--------CUT---------CUT---------CUT---------CUT--------#
#########################################################
#                                                       #
# This is a shell archive file.  To extract files:      #
#                                                       #
#    1)	Make a directory (like tvx) for the files.      #
#    2) Write a file, such as "filen.shar", containing  #
#       this archive file into the directory.           #
#    3) Type "sh file.shar".  Do not use csh.           #
#                                                       #
#########################################################
#
#
echo Extracting tvx_refb.doc:
sed 's/^X//' >tvx_refb.doc <<\SHAR_EOF
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
Xthe mistake, all the edit commands before the last '^B' as well as the
X'^B' should be removed from the log file before  applying  it  to  the
Xprevious  version  since '^B' created a backup copy of the file.  This
Xmeans that all the editing  commands  entered  before  the  '^B'  will
Xalready  be  saved,  and thus should not be restored.  Failure to take
Xthis into account will result in a randomly edited file!!! 
X 
X     The other case involves the '^Y' yank external file command.  The
Xexternal file read as a part of the '^Y' command  is  read  using  the
Xsame I/O channel as the backup log file input, and thus both cannot be
Xused  at  the  same  time.   If  the backup log file contains any '^Y'
Xcommands (displayed in the log file as '@Y'), you  must  remove  them.
XObviously,  this will alter the order of the commands in the file, and
Xyou will need to use a special procedure.  Suppose, for example,  that
Xthe  backup  log  file contained one '^Y' command.  Make two copies of
Xthe backup  log  file.   Edit  the  first,  and  remove  all  commands
Xfollowing the '^Y' command, including the '^Y' command.  Then edit the
Xother  copy,  and  remove  all commands before the '^Y', including the
X'^Y'.  Then, edit the backup copy of the original file.  First,  apply
Xthe  first  backup  log  file.   This  will get you to the point right
Xbefore the '^Y'.  Then without changing the cursor position,  manually
Xenter  the '^Y' command and file name.  Finally, apply the second copy
Xof the backup log file. 
X 
X     It is also possible to write log command files  of  your  own  to
Xcarry  out  specific  commands.   This allows the creation of "macros"
Xthat can be executed as needed.  When creating log files of your  own,
Xyou should remember that control characters and backspaces must appear
Xas  encoded  characters.   The '@' is the encoding character.  Control
Xcharacters will appear as '@' followed by the appropriate letter: '^I'
X= '@I', enter = '@M', etc.  An '@' itself is '@@',  and  backspace  is
X'@H',  although  you  should  never need a backspace in your own files
X(use -K). 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -18-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                  *** USER CUSTOMIZATION of TVX ***
X 
X     A program called TVCONFIG is also provided with most versions  of
XTVX.   It  allows you to customize TVX to a great extent.  The program
Xgenerates a file called  CONFIG.TVX.   When  TVX  is  started  with  a
Xcommand  line  of  the  form: 'TVX filename -c=config.tvx", the values
Xdefined in CONFIG.TVX will be used instead of the defaults.  (Warning:
XTVCONFIG is may not be implemented for all systems.  Specifically, the
Xdefault Unix distribution does not provide TVCONFIG capabilities.)
X 
X     TVCONFIG is mostly self explanatory.  It allows you to change the
Xfollowing:
X 
X1. Commands.  All of the approximately 50 commands can  be  redefined.
XThere are some restrictions: all commands must be a single letter, and
Xcase  is  ignored.   The  '@',  ESCAPE,  and  '<>'  commands cannot be
Xchanged.  Commands cannot be a number, including a '-'. 
X 
X2. Synonyms.  You may define some synonyms, such as space  for  right,
Xor   RETURN   for  down.   You  cannot  duplicate  previously  defined
Xcommands. 
X 
X3. Function Keys.  Up to  50  function  keys  may  be  defined  to  be
Xequivalent  to  any command (in fact any letter or character).  When a
Xfunction key is pressed, TVX will translate it to  the  character  you
Xspecify.   If  your function keys use an ESCAPE as a prefix character,
Xyou will have to redefine a function key to be ESCAPE! 
X 
X4. Parameters.  You  may  change  the  default  for  any  of  the  ':'
Xparameters. 
X 
X     After you  have  built  a suitable working version of CONFIG.TVX,
Xanother program called TVPATCH has been provided (for  MS-DOS  systems
Xonly) to allow TVX.EXE (or TVX.COM) to be permanently patched with the
Xoptions  set by TVCONFIG.  This means you won't have keep track of the
XCONFIG.TVX file any more, and won't need the '-c' switch. 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -19-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                        *** Error Messages ***
X 
X*** Abort, are you sure? 
X     This message is displayed after  the  "abort"  command  has  been
Xentered.  A reply of y or Y will cause the session to be terminated. 
X 
X*** Bad O= switch
X     An incorrect format was specified for the O= switch. 
X 
X*** Bad @ name
X     An invalid file name was specified.  Re-enter. 
X 
X*** Bad command: x
X     The command is not a valid TVX command. 
X 
X*** Bad file name
X     An invalid file name was specified.  Re-enter. 
X 
X*** Bad output file: filename
X     An invalid output file was specified. 
X 
X*** Bad par (val | name)
X     An invalid value or parameter name was specified. 
X 
X*** Bad switch
X     An invalid   switch   was  specified.   Re-enter  file  name  and
Xswitches. 
X 
X*** buffer empty
X     Information message.   Displayed  after  a  new  file  has   been
Xcreated,  or  when  the  write buffer command is executed and the text
Xbuffer is empty. 
X 
X*** Can't create new name
X     TVX was unable to create a new name for the  output  file.   Free
Xsome disk space, rename the file, try again. 
X 
X*** Can't insert that
X     There are three values that TVX uses internally, and thus are not
Xvalid as user inserted characters in the text buffer. 
X 
X*** Compacting buffer
X     Information message.    Displayed  when  TVX  is  compacting  the
Xbuffer.  The compaction process may take several seconds. 
X 
X*** Compacting done
X     Information.  The compaction is complete. 
X 
X*** Compactor lost: quit now! 
X     An internal error has been discovered.  Exit TVX immediately, and
Xpreserve the backup copy.  Try the session again. 
X 
X*** Create?  (y/n)
X     The file name specified does not exist.  A y  answer  will  cause
Xthe  file  to  be  created.  A n answer will allow the file name to be
Xrespecified. 
X 
X 
X                                 -20-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X*** Error reopening
X     Something has gone  wrong  with  the  'File  beginning'  command.
XExit,  and try editing the file again.  Be careful since an empty file
Xmay have been created. 
X 
X*** File only part read
X     There was not enough room in the save buffer to hold  the  entire
Xexternal  file specified in the 'merge' command.  Try re-editing using
Xthe 's' big buffer switch. 
X 
X*** lines filled
X     TVX has run out of room  to  add  more  lines.   Use  the  'write
Xbuffer' or 'file beginning' command to get more space for new lines. 
X 
X*** no get room
X     There is  not  enough  room  in the text buffer to insert all the
Xtext in the save buffer.  Use  the  'file  begin'  or  'write  buffer'
Xcommands, and try again.  The '-^W' command is often useful. 
X 
X*** no more lines for insert
X     See "lines filled". 
X 
X*** no nesting
X     TVX does not allow nested repeat loops: "<<..>>". 
X 
X*** no save room
X     There is  not  enough room left to save any more text in the save
Xbuffer.  Try saving smaller blocks, or use the 'file begin' command to
Xget more space. 
X 
X*** No!  buffer empty
X     Many TVX commands are not allowed on an empty buffer.  Sometimes,
Xjust inserting a blank line will  allow  the  desired  command  to  be
Xused. 
X 
X*** No: read only
X     'File beginning'  command  invalid  when the 'r' read only switch
Xwas used. 
X 
X*** not found
X     The current find pattern was not found. 
X 
X*** Not last line! 
X     TVX will allow you to save the last line of the file only once. 
X 
X*** reading file... 
X     Displayed while TVX is reading in the file. 
X 
X*** rename fails
X     Something has gone wrong with  the  'File  beginning'  or  'quit'
Xcommands.   On timeshared systems, this may mean you didn't have write
Xcapability for the file.  The work file will probably be retained, and
Xcan be manually renamed or  copied  using  standard  operating  system
Xcommands. 
X 
X*** search fails
X 
X 
X                                 -21-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X     A cross-buffer search has failed to find pattern. 
X 
X*** writing buffer
X     Displayed when the buffer is being written out. 
X 
X*** writing partial buffer
X     Partial buffer only, as caused by the '-^W' command. 
X 
X*** Yank filename:
X     Enter the  name  of  the  file  you  want  to  read into the save
Xbuffer. 
X 
X*** 100 chars only
X     At most, 100 characters are allowed in each find pattern and each
Xrepeat loop. 
X 
X*** <> not complete
X     The repeat loop has terminated before the specified number  times
Xhave  been  executed.   This  is  usually  what you wanted, and can be
Xcaused by failing to find a  pattern,  or  reaching  the  end  of  the
Xbuffer.   An  invalid  command or other error will also cause a repeat
Xloop to terminate. 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -22-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                           *** TTY MODE ***
X 
X     Normally, TVX is used as a full screen editor.  It will  work  on
Xdumb  crt terminals or on hard copy terminals, however.  The alternate
Xmode of operation is called tty mode.  Tty mode  is  also  useful  for
Xterminals hooked up with slow baud rates.  Almost all TVX commands are
Xsupported  in  tty  mode.   The  main difference is that the editor no
Xlonger operates in a what you see is what you get mode. 
X 
X     When TVX is first started in tty mode (either by the  -t  command
Xline  switch,  or  using  1:t),  it will display a 'tvx>' prompt.  The
Xnormal mnemonic commands are then entered  on  the  input  line.   The
Xinput  line  is  terminated  by  a  <return>  (which  is not sent as a
Xcommand).  Each letter on the input line will be interpreted as a  TVX
Xcommand.   Thus, entering a line: 'dddr' would move the cursor 3 lines
Xdown and one character right.  The result of the commands will not  be
Xdisplayed however. 
X 
X     The 'V'  verify  command  operates specially for tty mode, and is
Xused to type out lines of the file.  The normal procedure, then is  to
Xenter  commands  on the command input line, then enter appropriate 'V'
Xcommands to display relevant lines of the buffer. 
X 
X     As long as normal TVX commands  are  entered,  the  command  line
Xprompt  is  'tvx>', and the terminating <return> sends commands to TVX
Xto execute.  In insert, find, and repeat, the prompt  will  change  to
X'+'.  All text entered, including <return>'s is entered into the text,
Xthe  find  pattern,  or  the  repeat  loop buffer.  An Escape ends the
Xcommand, and an additional <return> sends the line to TVX. 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -23-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                     *** INSTALLATION OF TVX ***
X 
X     If you have the C source code of TVX, this section has some notes
Xyou should find useful if you recompile the code to customize TVX  for
Xyour system.  It should also be helpful if you are installing TVX on a
Xnew  system.   If  you  are  just  a  user,  then  you can ignore this
Xsection. 
X 
X 
X*** General Comments ***
X 
X     TVX has been designed  to  be  portable.   It  has  had  versions
Xrunning  under  CP/M-80, MS-DOS, RT-11, RSX-11, VMS, and Unix BSD 4.2.
XThe heart of TVX portability is the terminal  driver.   For  dedicated
Xsystems,  the control codes used by a specific terminal are hard wired
Xinto  a  C  global  variables  and  a  terminal  specific  version  is
Xcompiled.   It  has  been  customary  to  give  a  unique name to each
Xdifferent version such as TVV for a VT-52 version, TVT for a televideo
Xversion, etc.  The Unix version  of  TVX  has  been  written  to  take
Xadvantage  of  the  TERMCAP  library  usually  provided,  and  is thus
Xterminal independent. 
X 
X     Since terminals differ widely, TVX tries to update the screen  as
Xbest  as  possible using the control codes available.  The minimum set
Xof control  sequences  required  by  TVX  include  direct  x-y  cursor
Xpositioning,  and  erase  from  cursor to the end of the current line.
XAlmost all terminals have at least these two controls.  The only known
Xterminal widely available that does not have  both  of  these  is  the
XADM-3a.   Thus,  TVX  will  NOT  work  on ADM-3a's.  Another desirable
Xcontrol sequence is the ability to insert a blank line at the  top  of
Xthe  screen  (reverse  scroll).  This allows TVX to scroll rather than
Xjump  from  one  screen  to  the  next.   However,  TVX  will  perform
Xadequately even on terminals with only x-y and erase to end of line. 
X 
X*** Source Files Supplied ***
X 
X     The following files are included in most distributions:
X 
X  TVX_1.C  - main part of code (part 1)
X  TVX_2.C  - main part of code (part 2)
X             These two files are mostly os and terminal independent.
X  TVX_LEX.C - defaults, some os dependent stuff in here.  Major
X            changes in defaults can be fixed by recompiling this file.
X  TVX_IO.C - almost all I/O, including screen, confined to this file.
X  TVX_LIB.C - misc library routines needed by TVX.
X  TVX_IBM.C - IBM-PC specific code, specifically the screen driver
X              (TVX_IBM.ASM - hand optimized version of TVX_IBM.C)
X  TVX_UNIX.C - contains unix specific code, including termcap driver
X  TVX_DEFS.IC - #define's for version, os, terminal, defaults
X  TVX_GLBL.IC - global data structures
X  TVX_TERM.IC - definitions for various terminals and systems
X
X  TVCONFIG.C - used to build CONFIG.TVX file for -c switch
X  TVPATCH.C - MS-DOS versions only - used to permanently apply
X              config settings to TVX.EXE.
X
X 
X 
X                                 -24-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X  TVX_MAKE.BAT - MS-DOS Batch file to build TVX using cii c-86.
X  TVX_MAKE.UNX - Unix Makefile to make on unix.
X
X  TVX_REF.DOC - This file, preformatted for printing on a "standard"
X                printer - 80 columns by 66 lines.
X 
X 
X*** Screen Driver and Control Sequences ***
X 
X     The actual  codes  used  by  TVX  to update the screen are global
Xvariables in the 'tvx_glbl.ic' file.  Using the '#ifdef EXTERN'  trick
Xdescribed in that file, the screen variables (plus most other relevant
Xglobal  variables)  are  included  as external references.  The actual
Xdefinitions for a  given  terminal  are  included  in  a  file  called
X'tvx_term.ic'.    Several  sample  definitions  are  included  in  the
Xdistribution code.  A description of each relevant variable follows:
X 
X 
X** X-Y Cursor Addressing
X 
Xint addx - amount to add to  internal  x  position  get  terminal's  x
Xvalue.    Terminals   typically  encode  x-y  as  a  single  printable
Xcharacter, thus  requiring  the  addition  of  a  blank  to  make  x-y
Xprintable.   Since  TVX uses a 1,1 origin, this value will commonly be
X31. 
X 
Xint addy - same as addx, but for y position. 
X 
Xchar cxychr - true (1) if convert xy binary  representation  to  ascii
Xstring. 
X 
Xchar cxy1st - 'l' if line coordinate first, 'c' if column first. 
X 
Xchar  cxybeg[8],  char  cxymid[8],  char  cxyend[8]  -  The x-y cursor
Xcontrol sequence usually takes one of two  forms:  <control><x><y>  or
X<control><x><middle><y><end>.   The  x  and  y may be reversed.  These
Xthree arrays are used to send  the  proper  control  sequence  for  xy
Xpositioning. 
X 
X 
X*** Other control sequences
X 
Xchar cversn[12] - a version string to identify terminal. 
X 
Xchar  cerrbg[8], char cerred[8] - sequences sent when an error message
Xsent to terminal's last line.  Note that cerrbe  is  sent  BEFORE  the
Xcursor is moved to the last line, and cerred is sent before the cursor
Xis returned to the original position.  Some terminals give problems if
Xa  highlight sequence is sent before a cursor positioning sequence.  A
Xbell is usually safe for most versions. 
X 
Xchar ctopb[8] - This sequence should insert  a  blank  line  when  the
Xcursor  is  at  the  top left corner.  It is often called reverse line
Xfeed.  A command to insert a line usually performs the same  function,
Xbut some terminals don't have both. 
X 
X 
X 
X                                 -25-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
Xchar  cinit[20],  char  cendit[20]  -  these  sequences  are  sent  to
Xinitialize and reset the terminal. 
X 
Xchar cbotb[8] - this sequence scrolls the screen up one line when  the
Xcursor  is  on  the  last  line.   Line  feed  works  for any terminal
Xencountered to date. 
X 
Xchar celin[8] - Erase from cursor to end of line.   This  sequence  is
Xrequired for operation of TVX. 
X 
Xchar  cescr[8]  - Erase from cursor to end of screen.  If the terminal
Xdoesn't have this, it is simulated using multiple celins. 
X 
Xchar ccsrcm[8], char ccsrin[8] - These are used to change  the  cursor
Xfrom  command  mode  to  insert mode.  Many terminals do not support a
Xmethod of changing the cursor shape.  These have been also  been  used
Xto change the screen from normal to reverse video an back. 
X 
Xchar ciline[8] - Insert a blank line.  A blank line is inserted on the
Xline the cursor is on.  If available, it can be used for ctopb, too. 
X 
Xchar  ckline[8]  - Kill a line.  The line the cursor is on is deleted,
Xand the following text scrolled up. 
X 
Xchar cundlb[8], cundle[8] -  TVX  has  the  capability  to  optionally
Xsupport  bold  and underline for some text processors.  For example, a
X^U can be used to toggle underscore.  This is only useful for  a  text
Xformatter that can recognize such a sequence. 
X 
Xchar cboldb[8], char cbolde[8] - Similar to undlb, but boldface. 
X 
X 
X*** Default settings
X 
Xint  ddline  -  default  display  line.   This  sets which line is the
Xdefault home display line.  For scrolling versions (dscrl != 0), right
Xin the middle is a  good  place.   For  fixed  cursor  line  versions,
Xsomething  below  the  middle  seems  better  (like  16  for  24  line
Xscreens). 
X 
Xint dscrl - default scroll lines.  If this  is  non-zero,  the  cursor
Xwill  move  up  and  down  lines  on  the  screen with cursor movement
Xcommands.  This requires a bit less screen  update  overhead,  and  is
Xbetter for slower time shared systems.  If it is zero, the cursor will
Xremain  fixed on ddline, and text will scroll on and off the screen as
Xneeded.  Both these are resettable with the : command. 
X 
Xint dxcase - default search case.  0 means find is case insensitive, 1
Xmeans find must match exact case. 
X 
Xint usecz - MS-DOS versions only.  If 1, TVX will put a Control-Z  end
Xof  file  mark  in the file (this is CP/M compatible).  If 0, TVX uses
XMS-DOS end of file conventions. 
X 
Xint autoin - TRUE (1) if auto indent, FALSE (0) otherwise. 
X 
X 
X 
X                                 -26-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
Xint logdef - Create backup log file by default?  0->no, 1-> yes. 
X 
Xchar wildch - The character used as a wild card in finds. 
X 
Xchar delkey - the delete character key, usually backspace. 
X 
Xint tvhardlines - number of physical lines on screen. 
X 
Xint tvlins - number of lines on virtual screen.  Initially  should  be
Xsame value as tvhardlines. 
X 
Xint  tvcols  - number of columns on screen.  If the terminal wraps new
Xtext to the next line rather than discarding characters after the last
Xcolumn, then tvcols must be set to 1 less than the true width  of  the
Xterminal. 
X 
Xint  isibmpc  - TRUE (1) if this version uses the custom IBM-PC screen
Xdriver.  FALSE (0) if uses regular terminal output code. 
X 
Xchar synofr[20], char synoto[20] - These are  used  to  map  commands.
XThe  synofr  contains  commands  to  be  aliased  to the corresponding
Xcommand in the synoto table.  For example, the '[' and  '{'  keys  are
Xoften  reversed  on some terminals.  Making '[' in synofr a synonym to
X'{' in synoto will make the two commands the same. 
X 
Xchar funkey - If the terminal has function keys, they can be supported
Xby TVX by setting this variable to the first code sent by the function
Xkey, usually  ESCAPE.   TVX  supports  only  two  code  sequences  for
Xfunction keys. 
X 
Xchar funchar[50] - this is the second code sent by a function key. 
X 
Xchar  funcmd[50] - this is the equivalent command a given function key
Xwill be mapped to.  Similar to synofr and synoto. 
X 
X 
X*** #define options
X 
X     The file 'tvx_defs.ic' has many #define statements  that  can  be
Xused  to  customize  TVX  for  particular installations.  Ideally, the
Xsource for TVX should  be  maintained  as  one  set,  and  differences
Xbetween  versions handled by #defines.  Most #defines are explained in
Xthe source code, but a few deserve  a  few  extra  comments,  and  are
Xsummarized below. 
X 
X#define  VERSION  "  -  TVX (7/1/85) - " - This defines the version of
XTVX.  Any time a modification is made, the VERSION  define  should  be
Xupdated. 
X 
X#define VB - whether or not to create backup log version or not.  This
Xdoes  NOT  imply the file "backup.log" will be used automatically (see
Xvariable logdef), simply that the code is included. 
X 
X#define ULBD - If defined, TVX supports  underline,  bold  in  ^U,  ^B
Xformat. 
X 
X 
X 
X                                 -27-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X#define  BACKUPNAME - This defines the name of the backup log file, if
Xused. 
X 
X#define BUFFLIMIT - This defines how much space is saved in  the  text
Xbuffer  when  reading  in  a  file.  This determines how much space is
Xreserved for saving text with the 'S' command, and how  much  is  left
Xover for new inserts.  Smaller values allow more text from the file to
Xbe  read,  larger values allow more text to be saved.  The '-s' switch
Xat runtime increases this value. 
X 
X#define FILEREAD, #define FILEWRITE - These define the string used for
Xfile mode in the fopen() calls.  Unix  and  MS-DOS  versions  are  not
Xtypically  exactly  compatible,  as  most MS-DOS C's allow a different
Xmode to handle the CR/LF problem. 
X 
X#define FNAMESIZE - maximum length of file names. 
X 
X#define INT16 - If #defined, then the normal C int is  16  bits  long.
XThis changes the way memory status is displayed. 
X 
X#define  LINELIMIT  -  Like  BUFFLIMIT, only number of lines.  #define
XMAXBUFF - Defines maximum  number  of  characters  allocated  to  text
Xbuffer.   Malloc()  is  used to get the space from the runtime system.
XIt is possible less than  MAXBUFF  will  be  available.   The  maximum
Xallowed  for  any  given  system  must  be less than the maximum value
Xrepresented by an unsigned int.  If MAXBUFF is very large,  there  get
Xto be a noticeable initialization delay. 
X 
X#define  MAXLINE  -  This  determines  the  maximum  number  of  lines
Xallocated per buffer.  It is related to MAXBUFF. 
X 
X#define REPEATBUFS - defines how many repeat  buffers  are  allocated.
XIf space is a problem, allocate fewer repeat buffers. 
X 
X#define  USELF - This symbol should be defined if the terminal needs a
Xline feed character after each carriage return.  Almost always true. 
X 
X#define FILELF - This symbol is defined if  text  files  use  a  CR/LF
Xcombination.  It causes a NEWLINE/LF to be written to files. 
X 
X#define NEWLINE - This defines the actual character used as a new line
Xin  files.  On CR/LF systems, it should be a CR (13).  On systems like
XUnix with a single new line separator, it  should  be  that  character
X(LF). 
X 
X#define  USECTRLZ  -  defined if the code for handling a Control-Z and
Xend of file mark should be used. 
X 
X#define NEEDTVLIB - define this if the  standard  C  library  provided
Xdoesn't have the routine in TVX_LIB. 
X 
X#define  HELP  -  Define  this  if help should be supported.  The help
Xroutine uses significant space, which  can  be  saved  if  help  isn't
Xcompiled in. 
X 
X#define  CONFIGFILE  -  define  this if support for the '-c' switch is
X 
X 
X                                 -28-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
Xdesired. 
X 
X 
X 
X**** MS-DOS Notes ***
X 
X     TVX can be built as a generic MS-DOS version  and  as  an  IBM-PC
Xspecific  version.  The MS-DOS version uses the standard DOS character
Xoutput routines.  Thus, it could use the ANSI.SYS driver, but it would
Xrun very slowly then.  The IBM-PC version has a custom  screen  driver
Xthat  calls  the  ROM BIOS directly, and is very fast.  A special hand
Xoptimized version of the driver is also included in the source  (valid
Xfor  cii  c-86  only!).   The  definitions  for  and IBMPC included in
X"tvx_term.ic" also define the keypad keys to  work  in  a  predictable
Xmanner. 
X 
X 
X 
X*** Unix Notes ***
X 
X     The usual Unix version will be the TERMCAP version.  That version
Xworks  very  well,  but  is  not  in  all  cases  optimal  for a given
Xterminal.  It might be desirable to build a specific version  for  the
Xterminal  you  use most often.  Most notably, the TERMCAP version does
Xnot know about cursor shapes or other control sequences to distinguish
Xcommand mode from insert mode.  Also, it sets tvcols to one less  than
Xthe  true  value to avoid wrapping problems.  The termcap version also
Xonly sends a bell for the error message. 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -29-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                        *** TVX File Usage ***
X 
X     TVX uses four logical files: the original file,  the  destination
Xfile,  a  work  file,  and the source file.  The original file and the
Xdestination file are not touched until a normal exit from TVX. 
X 
X     The source file is the current copy of the file providing text to
Xbe entered.  When TVX is  first  started,  the  source  file  and  the
Xoriginal  file are the same.  The work file is used to hold the edited
Xoutput file. 
X 
X     When the '^B' file beginning command is issued, the remainder  of
Xthe  source  input  file is written to the work output file.  The work
Xfile then becomes the  new  source  file,  and  a  new  work  file  is
Xcreated.   Thus,  it is possible to have four copies of a file around:
XThe .BAK backup copy of the original file, the original  copy  of  the
Xfile,  the  copy  of the source file, and the (partially written) work
Xfile.  Under normal operation, there will  only  be  two  copies:  the
Xsource  file  (which  is  really  the  original file) and the possibly
Xpartially written work file.  Only by using the '^B'  commands  can  3
Xcopies of the file exist. 
X 
X     When you  issue  the  normal  '^X'  exit  command,  the following
Xactions take place: Any old .BAK files are deleted.  The original file
Xis renamed to be  the  new  .BAK  version.   If  the  source  file  is
Xdifferent  than  the original file, it will be deleted.  The work file
Xis then renamed to be the destination file.  If you don't  have  write
Xaccess to the directory with the original file, then the original file
Xand  the work file will not be renamed.  A message to that effect will
Xbe printed.  The normal operating system copy and rename commands  can
Xbe  used  to  recover  the work file, which contains the edits made to
Xdate. 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -30-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                   *** Quick Reference Summary ***
X 
X 
X       TVX Commands (n => count allowed)
X
X    nA Append lines            B Buffer beginning
X    ^B File beginning         nC Change chars
X    nD Down line             n^D Down column
X     E Buffer end            n^E Edit repeat buffer
X    nF Find pattern           ^F Find across buffs
X     G Get save buffer        ^G Unkill last line
X    nH Half page              nI Insert (till $)
X     J Jump back              nK Kill character
X   n^K Kill line              nL Left
X     M Memory status          nN Note location
X   n^N Reset location         nO Open blank line
X    ^O Operating system       nP Page
X    ^P Print screen           nR Right
X    ^R Restore edited buffer  nS Save lines
X    nT Tidy (fill text)       ^T Abort session
X    nU Up                    n^U Up column
X     V Verify                n^W Write buff
X    ^X Exit, end session     n^Y Yank to(-n)/from(+n) file
X   nBS Delete prev. char.     n; Find again
X     / Delete last thing       = Change last thing
X     ' Del to line beginning   " Delete to line end
X     , Line beginning          . Line end
X  nTAB Word right             n{ Word left
X  n<>$$ Repeat loop           n& Repeat again
X   n#k Execute repeat buffer k n times
X     ? Help                    @ Invoke cmd file
X     * Insert pattern found last
X     $ Escape - end insert, find, repeat
X   n:p Set parameter p
X
X
X  Possible parameters:
X
X    A - Autoindent (1=y,0=n)       D - display line
X    E - Expand tabs to n spaces    F - find case (0=exact,1=any)
X    M - Match wild cards           O - set output file name
X    S - scroll window              R - repeat buffer to use
X    T - tty mode                   U - define user wild card set
X    V - virtual window             W - autowrap width
X
X
X  Usage: tvx filename [-b -i -l -o=f -r -s -t -w -# {-z -c=f}]
X
X    -[no]b : backup file           -[no]i : autoindent
X    -[no]l : make command log file -t : tty mode
X    -o=outputfile                  -r : read only
X    -s : big save buff             -[no]w : word processing mode
X    -# : set virtual window lines to #
X
X  On MS-DOS versions:
X    -[no]z : use control-z for end of file
X 
X 
X                                 -31-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X    -c=configfile                  -c : use /bin/config.tvx
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X 
X                                 -32-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
X                            *** INDEX ***
X                         TVX Reference Manual
X 
Xabort - 10
Xappend - 4, 10
Xauto wrap - 16
Xautoindent - 15
X 
Xbackspace - 2, 12, 17, 18
Xbackup file - 3, 4, 10, 17
Xbeginning of file - 4, 6, 17
Xbuffer - 2, 4, 5, 6, 8, 9, 11
Xbuffer beginning - 4
X 
Xchange - 4
Xcommands - 2, 4
Xcursor - 2
Xcursor character - 3
X 
Xdefault source settings - 26
Xdefine options - 27
Xdelete last thing - 12
Xdelete line front - 13
Xdelete line tail - 13
Xdelete previous character - 12
Xdown - 4, 10
Xdown in column - 4
X 
Xend buffer - 5
Xend session - 11
XError Messages - 20
Xescape - 3, 4, 5, 7, 17
Xexit - 11
Xexternal file - 12
X 
Xfind - 5, 6, 12, 15
Xfind case - 15
X 
Xget - 6
Xget killed line - 7
X 
Xhalf page - 7
Xhome display line - 15
X 
Xinsert - 7, 8
XInsert find pattern - 13
XInstallation - 24
XInstallation - MS-DOS - 29
XInstallation - Unix - 29
Xinvoke command file - 15
X 
Xjump - 7
X 
Xkill characters - 7
Xkill lines - 8
X 
X 
X 
X                                 -33-                                 
X 
X 
X 
X 
XTVX Reference Manual                                          11/27/85
X 
X 
Xleft - 8
Xline beginning - 13
Xline end - 13
Xlog file - 3, 12, 15, 17
X 
Xmemory - 8
Xmode - 3, 4, 7, 8, 12
X 
Xnote - 8
X 
Xopen line - 8
Xoperating system - 8
Xother control sequences - 25
Xoutput file - 15
X 
Xpage - 7, 9
Xparameters - 15
Xprint - 9
X 
XQuick Reference Summary - 31
Xquit - 4
X 
Xrepeat buffer - 9
Xrepeat loop - 5, 13, 16
Xright - 9
X 
Xsave buffer - 4, 7, 9, 12
Xscroll lines - 16
Xsearch - 5
Xskip over words - 13
Xsource code - 24
Xstarting up - 1
Xstatus - 8
Xswitches - 1
X 
Xtab expansion - 15
Xterminate - 10
Xtidy - 10
Xtty mode - 16, 23
XTVX File Usage - 30
X 
Xunkill - 7
Xup - 11
Xup in column - 11
Xuser customization - 19
X 
Xverify - 11
Xvirtual window - 16
X 
Xwild card - 6, 15
Xword - 13
Xwrite buffer - 11
X 
XX-Y Cursor Addressing - 25
X 
Xyank external file - 12
X 
X 
X                                 -34-                                 
X 
X 
X
X
SHAR_EOF
echo Now you can use 'cat tvx_refa.doc tvx_refb.doc > tvx_ref.doc' to combine.
echo ALL DONE!
exit 0



More information about the Comp.sources.unix mailing list