[comp.os.vms] Ooooh, why didntja say so... VFE.HLP here!

CADS_COLE@GALLUA.BITNET (Kevin Cole; Gallaudet U.; Washington; DC) (08/06/87)

Cut between the dotted lines...
-------------------------------------------------------------------------------
1 ADD
The ADD command is used to add one or more signed  numbers  (longwords)  and
display  the  result  in  decimal and hex.  The numbers can be given in hex,
decimal, or octal.  Decimal output is normally signed unless the  SET NOSIGN
command has been given.
Format:

   AD(D) number1[,number2,...,numbern]

      [number] can optionally have a leading + or - sign and can have one of
               the following formats:

         nnnnnnnnn - Decimal

         0nnnnnnnnnn - Octal

         Hnnnnnnnn - Hex ("H" must be used regardless of the current radix)
1 ALPHA
The ALPHA command is used to display in either ASCII or EBCDIC depending  on
the  current  SET  CHARSET  mode.   Operation  is identical to the ASCII and
EBCDIC commands in all other respects.  The default mode is ASCII.

Format:

   A(LPHA)[/P(ASTE)] [range]

      See ASCII or EBCDIC for parameter specification.
1 ASCII
The ASCII command is used to display the  contents  of  the  current  buffer
(plus following blocks, if specified) in ASCII.  Non-printing characters are
shown as periods.  There are 64 or 96 characters/line.  Output is aligned on
quadword boundaries.

Format:

   AS(CII)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 BINARY
This command is used to display the contents of  the  current  buffer  (plus
following  blocks,  if  specified)  in  binary  format.   There  are 8 or 12
bytes/line.  Output is nonaligned (starts at the first address given).

Format:

   B(INARY)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 buffers
VFE operates with two variable-length buffers.

   The CURRENT buffer is filled with the contents of the  positioned  block,
   plus one or more following blocks if editing a disk file or device and if
   the SET BUFF value exceeds 1.  The buffer is filled whenever  a  file  is
   initially  opened  for edit and whenever a read operation is performed on
   the current file or device.  Commands which always cause a read operation
   are  EOF,  FILE,  GET,  LAST, MOVE, NEXT, REWIND, and TOP.  (This happens
   even if the same block is selected, as in NEXT 0).   Commands  which  can
   cause  file  reads  if  multiple  blocks  are processed are ALPHA, ASCII,
   BINARY, EBCDIC, HEX, IBYTE, IWORD, ILONG,  LOCATE,  LGLOBAL,  MULTI,  and
   RECORD.   Contents  of the current buffer can be modified with the CHANGE
   and PASTE commands, and these modifications remain until  the  next  read
   operation.   If  a  WRITE is done before the next read, the modifications
   are written to the file and become permanent.

   The PASTE buffer is user-controlled.  It  is  filled  by  using  the  CUT
   command.   Unlike  the current buffer, the paste buffer remains unaltered
   when a read operation occurs or when a new file  is  edited.   The  paste
   buffer  has  two  primary uses:  First, to allow data to be compared with
   the DIFFERENCES command, and second, to permit  data  to  be  transferred
   within a file or between files.
1 CHANGE
The CHANGE command is used to modify the current  buffer.   (This  does  not
alter  the  file  unless the WRITE command is used with the changed buffer).
If the change-string would overflow the buffer, nothing is changed.

   C(HANGE) [begin[,change-string]]

      [begin] if numeric, is the first byte to change.  An asterisk (*)  can
              be  used  if  the  current buffer contains a found target of a
              previous LOCATE, in which case the target address is used.

      [change-string] can have one of the following formats:

         nnnnn - Unsigned hex string of numbers.  These are  placed  in  the
                 buffer  in  the order given, right-justified to the nearest
                 byte.  Any number of leading zeroes and up to 8 significant
                 digits may be used.
         +nnnn
         -nnnn - Signed decimal.  Can be byte, word, or  longword.   Context
                 is  determined by the size of the number, including leading
                 zeroes.  Stored in normal (reversed) format.

         "xxx" - Character string.  Single or double quotes  are  permitted.
                 The  character set used is specified by SET CHARSET.  ASCII
                 is assumed if none is specified.

      If [change-string] is omitted, the previous change string is used.  If
      both  parameters  are omitted, the previous string is used at the last
      found target address within the current buffer.
1 CUT
The CUT command copies all or part of the  current  buffer  into  the  paste
buffer.   This  is  secondary  buffer which can be recopied into the current
buffer at any time via the  PASTE  command  or  compared  with  it  via  the
DIFFERENCES command.  See HELP BUFFERS for more information.

Format:

   CU(T) [range]

      [range] must be entirely within  the  current  buffer.   If  only  the
      beginning  byte is specified, that address thru the end of the current
      buffer is copied.  If [range] is omitted, the entire contents  of  the
      current buffer are copied.

      Data within the paste buffer always begins at byte 0.  The range  used
      with the last CUT command is saved, however, and used as a default for
      subsequent uses of the data (DIFFERENCES and PASTE).
1 DATE
The DATE command displays one or more sequential quadwords from the  current
buffer  in system date format.  Only date values which exist entirely within
the buffer can be displayed.

Format:

   DA(TE)[/P(ASTE)] range

      The beginning byte of [range] must  be  specified.   If  no  count  or
      ending byte is given, a single date value is displayed.

      If the /PASTE qualifier is  given,  data  from  the  paste  buffer  is
      displayed.
1 DIFFERENCES
This command compares all or part of the  paste  buffer,  beginning  at  the
first  byte,  with  the  specified  range  within  the  current  buffer.  If
differences are found, the contents of the current buffer  are  printed  (in
hex) with the corresponding contents of the paste buffer directly below.  32
or 48 sequential bytes are displayed per line.  Matching paste buffer  bytes
on the second line are displayed as periods.  Output is longword-aligned.

Format:

   D(IFFERENCES) [range]

      [range] must be entirely within  the  current  buffer.   If  only  the
      beginnning  byte  is  specified,  the comparison count defaults to the
      smaller of the paste buffer size or the remaining bytes of the current
      buffer.

      If [range] is omitted, the range given with the last CUT command which
      moved data into the paste buffer is used.
1 EBCDIC
The EBCDIC command is used to display the contents  of  the  current  buffer
(plus  following  blocks,  if specified) in EBCDIC.  Non-printing characters
are shown as periods.  There  are  64  or  96  characters/line.   Output  is
aligned on quadword boundaries.

Format:

   EB(CDIC)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 EOF
This command is useful when editing most VMS files.  The software EOF  block
and  EOF  byte  are  displayed  and the user is positioned at the EOF block.
When editing devices, this command does the same thing as the LAST command.

Format:

   EO(F)
1 EXIT
The EXIT command terminates VFE.

Format:

   E(XIT)
1 FILE
This command specifies the name of the next file or device to edit.

Format:

   F(ILE) [name][/qualifier(s)]

If the file name is not given on the command line, it is solicited.  At this
point the previous file is closed and the new file is opened for edit.  If a
VMS disk file name is given, the user is positioned at virtual  block  1  of
the new file and its contents are read into the current buffer.

If a disk device is specified, the user is positioned at  logical  block  0.
LOG_IO privilege is required to edit a disk device.

If a tape device is specified, the tape is rewound and  the  user  is  posi-
tioned at the first block of the tape.  The tape must be mounted FOREIGN.
2 /NOREWIND
This qualifier can be used to specify that the tape  being  edited  should
not  be rewound.  A single read operation is performed at the current tape
position and the block number is set to zero.
2 /OVERRIDE
This qualifier is used to override a file interlock  when  editing  a  VMS
disk file.  It cannot be used in conjunction with /WRITE.
2 /POSITION
This qualifier is used to pre-specify  a  tape  position.   The  /NOREWIND
qualifier is assumed when /POSITION is given when editing a tape.

   /POSITION=([file:]block)

      [file] is optional.  If not given, it defaults to one.

      [block] must be specified.  The tape is backspaced one block  and  a
      single  read  is  done.  In this way, the tape remains positioned at
      the same location as it was before.  When editing a  tape  that  was
      previously  examined with VFE and the position is unchanged, use the
      same file and block numbers that were last shown for the tape.

      Parenthesis are used only if both parameters are given.
2 /WRITE
This qualifier allows subsequent use of the WRITE command.  If  not  given
when the file is opened, the file will be in read-only mode and no changes
will be allowed.  Only VMS disk files and disk devices which  are  mounted
FOREIGN  can be modified with VFE.  Tapes and XQP-managed disk devices can
only be edited in read-only mode.  Use of the /OVERRIDE qualifier  is  not
allowed when /WRITE is specified.
1 GET
For disk files or devices, this command reads one or more blocks  (depending
on  the setting of SET BUFF) into the current buffer, beginning at the block
specified, and positions the user at that block.  If the block  selected  is
outside  the limits of the current file, the user will be left positioned at
the same block and the current buffer  will  remain  unaffected.   For  tape
files,  the  read  will  always  be  attempted.  Tape movement stops when an
end-of-file mark is encountered in either the forward or reverse direction.

Format:

   G(ET) block

      [block] is specified in decimal numeric.

See HELP POSITIONING for an abbreviated form of GET.
1 HEX
The HEX command is used to display the contents of the current buffer  (plus
following  blocks,  if  specified)  in  hexadecimal.   There  are  32  or 48
bytes/line.  Display output is aligned on longword  boundaries.   Bytes  are
dumped in the order in which they occur in the file, from left to right.

Format:

   H(EX)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 IBYTE
This command is used to display the contents of  the  current  buffer  (plus
following  blocks,  if specified) in integer byte format.  Values are signed
unless the  SET  NOSIGN  command  has  been  given.   There  are  16  or  24
bytes/line.  Output is nonaligned (starts at the first address given).

Format:

   I(BYTE)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 ILONG
This command is used to display the contents of  the  current  buffer  (plus
following  blocks,  if  specified)  in  integer longword format.  Values are
signed unless the SET NOSIGN command has been  given.   There  are  4  or  8
longwords/line.   Longwords  are  displayed  in normal (reverse) order - the
first byte of each 4-byte longword is assumed to be least significant.

Format:

   IL(ONG)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.  Longwords  which  span
      blocks are printed normally.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 IWORD
This command is used to display the contents of  the  current  buffer  (plus
following  blocks,  if specified) in integer word format.  Values are signed
unless the SET NOSIGN command has been given.  There are 8 or 16 words/line.
Words  are  displayed  in  normal  (reverse)  order - the first byte of each
2-byte word pair is assumed to be least significant.

Format:

   IW(ORD)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the  last  block  read.   Words  which  span
      blocks are printed normally.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 LAST
This command positions the user at the highest allocated block of the  file.
Due  to  minimum  extent granularity, this may be higher than the last block
currently storing user data.  As a result, its contents may be meaningless -
this should not be taken as a sign of file corruption.

When using tape, the user is positioned at the last block within the current
logical file.

Format:

   LA(ST)
1 LGLOBAL
This command finds all of the remaining occurrences of the target number  or
string within the file being edited.

Format:

   LG(LOBAL) [target]

      [target] is specified exactly as with LOCATE.

      When an entire disk file or device has  been  searched,  the  user  is
      repositioned  at  the  block where the search began.  When using tape,
      the position is left at the last block within a logical file.
1 LOCATE
This command is used to find the next  occurrence  of  a  target  string  or
number within the file being edited.

   L(OCATE) [target]

      [target] is the target  string  or  number.   If  not  specified,  the
               previous target is used.  The following formats are allowed:

         nnnnn - Unsigned hex string of numbers.  These are searched for  in
                 the  order given, right-justified to the nearest byte.  Any
                 number of leading zeroes and up to 8 significant digits may
                 be used.
         +nnnn
         -nnnn - Signed decimal.  Can be byte, word, or  longword.   Context
                 is  determined by the size of the number, including leading
                 zeroes.  Searched for in normal (l.s. to m.s.) format.

         "xxx" - Character string.  Single or double quotes  are  permitted.
                 The  character set used is specified by SET CHARSET.  ASCII
                 is  the  default.   String  locate  operations   are   case
                 sensitive unless the SET NOCASE command has been given.
1 MOVE
This command moves a tape  in  the  forward  or  reverse  direction  past  a
specified number of end-of-file marks.

Format:

   MO(VE) [offset]

      [offset] is a decimal numeric with optional + or - sign.  If  omitted,
               the number one (1) is assumed, which will position forward to
               the next end-of-file mark on the tape.  Reverse direction  is
               indicated by a negative offset.
1 MULTI
This command is used to display the contents of  the  current  buffer  (plus
following  blocks, if specified) in hex and character format.  The character
set used is determined by SET CHARSET (ASCII is the default).   Non-printing
characters  are  shown  as  periods.  There are 32 or 48 bytes displayed per
line, with the hex values displayed beneath and aligned with the characters.
Output is aligned on longword boundaries.

Format:

   M(ULTI)[/P(ASTE)] [range]

      [range] must begin within the limits of the  current  buffer.   If  it
      overflows beyond the current buffer, subsequent blocks are dumped, and
      the user is positioned at the last block read.

      If [range] is omitted, the current buffer is dumped in its entirety.

      If the /PASTE qualifier is used, the paste buffer  is  displayed.   In
      this case, [range] must not overflow the size of the paste buffer.  If
      omitted, the entire paste buffer is displayed.
1 NEXT
This command positions the user to a block with a  relative  offset  to  the
current  block.  Contents of the requested block or blocks, depending on the
setting of SET BUFF, are read into the current  buffer.   When  using  tape,
tape  movement  stops  when  an  end-of-file  marker is encountered prior to
locating the requested block.

Format:

   N(EXT) [offset]

      [offset] is a decimal numeric with optional + or - sign.  If  omitted,
               the  number  one  (1)  is assumed, which will position to the
               block immediately following the current block.

When editing a disk file  or  device,  the  value  of  [offset]  is  usually
multiplied by the value determined by SET BUFF.

See HELP POSITIONING for abbreviated forms of NEXT.
1 PASTE
The PASTE command writes all or part of the  paste  buffer  to  the  current
buffer.   File positioning is not affected, and if a WRITE command is issued
before another command causes a read, the  positioned  block(s)  within  the
file  will  be overwritten.  Judicious use of the CUT and PASTE commands can
be used to transfer "chunks" of data within a single file or group of files.
EXTREME CAUTION is advised for users of this command!

Format:

   P(ASTE) [range]

      Data is transferred sequentially from the  first  byte  of  the  paste
      buffer into the specified area of the current buffer.  [range] must be
      entirely within the current buffer.  If a range exceeds  the  size  of
      the  paste  buffer,  the  remainder is zero-filled.  If it is smaller,
      only that many bytes are transferred.

      If only the beginning byte of [range] is given, the transfer count  is
      taken  to  be  the  size  of  the paste buffer.  If [range] is omitted
      entirely, the range given with the last CUT command is used.

      The size of the current buffer is never changed by the PASTE command.
1 positioning
The following  sequences  are  abbreviated  formats  of  the  GET  and  NEXT
commands.   They  are  useful  for  fast  block  positioning.   Note  that a
positioning command  will  always  cause  the  contents  of  the  positioned
block(s) to be read into the current buffer.

   <CR>       advances one block.  Same as NEXT 1.
   +          advances one block.  Same as NEXT 1.
   -          backs up one block.  Same as NEXT -1.
   [number]   positions to the block specified.  Same as GET [number].
   +[number]  advances [number] blocks.  Same as NEXT [number].
   -[number]  backs up [number] blocks.  Same as NEXT -[number].

      In all cases above, [number] represents a decimal numeric.

See HELP PROMPT for information on position indication.
1 prompt
The user prompt has several different formats, depending on the type of file
or device being edited and on the SET BUFF value.  The general format is:

   [file:]block[(size)]>

      [file] represents the  current  logical  file  number  and  is  always
      present  for  tapes, never for disk.  When the tape is rewound and the
      file position is known, the first logical file is numbered 1  and  the
      number  is  increased each time an EOF mark is crossed.  When the tape
      position is unknown, the file number can be zero or negative.

      [block] is always present.  For disk files, it represents the  current
      VBN  (virtual  block  number), for disk devices, the current LBN.  For
      tape, it represents the  logical  block  number  that  has  been  most
      recently read within the current logical file.  When the tape position
      is known, blocks begin at 1 with zero indicating that an EOF mark  has
      just  been  crossed but no data has been read.  When the tape position
      is unknown, the block number can go negative.

      [size] is used to show the size of the current buffer.  For disk, this
      indicator  is  omitted if the value of SET BUFF is one.  In this case,
      the current buffer contains 512 bytes.  For tape, this shows the  size
      of  the  block  just  read, and is always present except when the last
      tape positioning produced no data, as is the case when an EOF mark has
      been  crossed or if the system returns an error status with zero bytes
      transferred.
1 range
Many of the commands use a [range] specification.  The format of  the  range
is as follows:

   [begin][,count] or:
   [begin][:end]

      [begin] specifies the address within the buffer of the first  byte  to
              process.   It  is supplied in unsigned decimal or hex, depend-
              ing on the setting of SET  RADIX.   The  default  is  decimal.
              [begin]  must  always  be within the address range of the cur-
              rent or paste buffer, whichever is being used in the  command.
              If not specified, [begin] defaults to the first byte (0).

      [count] specifies the count of items to process.   This  is  the  byte
              count  for  all  commands  except  for DATE, IWORD, and ILONG,
              where it it the count of date quadwords, words, and longwords,
              respectively.  [count] is always specified in unsigned decimal
              numeric.  Some commands  allow  [begin+count]  to  exceed  the
              range of the current buffer.

      [end]   specifies the address of the last byte to process.  It can  be
              supplied  in  unsigned decimal or hex, depending on SET RADIX.
              Decimal is the default.  [count]  and  [end]  cannot  be  used
              together  on  the  same command.  Some commands allow [end] to
              exceed the range of the current buffer.

      If both [count] and [end] are omitted, a  single  item  is  processed,
      except  where  indicated differently for specific commands.  Most com-
      mands allow [range] to be  omitted  entirely.   See  specific  command
      documentation for more information.
1 RECORD
The RECORD command is used to display one or more records  of  a  sequential
file  in  character  format,  as  determined  by  SET CHARSET.  ASCII is the
default.  Nonprinting characters are printed as periods.  The  file  can  be
either  fixed,  variable, or VFC formatted.  There are two display modes, as
determined by SET HEADER.

   R(ECORD) [begin][,count]

      [begin] for fixed length records is the byte offset within the current
      buffer  of the first record to print.  For variable/VFC records, it is
      the address of the record length word for that record.  Since all rec-
      ords begin on a word boundary, if [begin] is odd, it will round up.

      If [begin] is omitted and the user is positioned  at  the  same  block
      where  a  previous  RECORD  command  was  given,  the  address  of the
      following record is used.   Otherwise,  if  [begin]  is  omitted,  the
      current  buffer  is searched for the first likely record start address
      and that is used.  (This process is not 100% accurate, but works  well
      with short records.)

      [count] is the count of records to be printed.  If [count] and/or  the
      record  lengths  are  sufficiently large, processing may continue into
      blocks following the current buffer.  When  processing  is  completed,
      the  user  is  positioned  at  the last block read.  If not specified,
      [count] defaults to the previous value used.
1 REWIND
This command rewinds the tape being edited and positions  the  user  at  the
first block of the first file.

Format:

   RE(WIND)
1 SET
This command is used to set/clear various modes and indicators.
2 BUFF
This option determines the size of the current buffer for disk operations.

Format:

   S(ET) B(UFF)=count

      The [count] parameter is a decimal numeric in the range of 1-50  and
      must  be  specified.   This determines the block count for each read
      operation.  Large buffer sizes can be used  to  transfer  data  that
      crosses  block  boundaries  with CUT and PASTE, and to compare large
      areas with the DIFFERENCES command.  The default value of [count] is
      one  (1), and it is recommended that this value be used for most VFE
      operations.  When  a  large  buffer  size  is  used,  addressing  is
      relative  to  the  first  block read, and this can be confusing when
      data is displayed from subsequent blocks which reside  in  the  same
      buffer.

      Note that if [count] exceeds the block size of the  current  buffer,
      the size will not be expanded until the next read is performed.

      The setting of this parameter has no effect  on  the  efficiency  of
      LOCATE  or  LGLOBAL,  which  always  use  a 50-block buffer for disk
      searches.
2 CASE
This option determines whether character string search operations (LOCATE,
LGLOBAL)  are  case-sensitive.   Case-sensitive searches require less than
50% of the CPU time required by case-insensitive  searches.   The  default
mode is case-sensitive.  Operation is valid for either supported character
set (ASCII or EBCDIC).

Format:

   S(ET) [NO]C(ASE)

      CASE mode is case-sensitive, NOCASE is case-insensitive.
2 CHARSET
This option is used to determine  the  character  set  used  for  display,
change, and search operations.  The default character set is ASCII.

Format:

   S(ET) CH(ARSET)=A(SCII)
                  =E(BCDIC)
2 DISPLAY
This option is used to enable or disable local printing at  the  terminal.
The standard mode is DISPLAY.  If logging is enabled (see SET LOG) and the
SET NODISPLAY command  has  been  given,  only  command  solicitation  and
single-line  output (such as error messages) is displayed at the terminal.
Other output is written only to the log file.

Format:

   S(ET) [NO]DISPLAY
2 HEADER
This option controls the output format of the RECORD command.

Format:

   S(ET) [NO]H(EADER)

      HEADER mode is the default.  Each record is preceded by its starting
      address,  and  by  up  to  8 bytes of its VFC field (in hex) for VFC
      files.  When a new block is read, the block number is shown, as  for
      other  display  formats.   Nonprinting  characters are replaced with
      periods.

      NOHEADER mode produces output  similar  to  the  VMS  TYPE  command.
      Addresses,  VFCs,  and  block  numbers  are suppressed.  Nonprinting
      characters are replaced with periods, except  for  tabs,  which  are
      replaced with the correct number of spaces.
2 LOG
This option is used to enable or disable logging of VFE output to  a  user
file.   All  output  and  input  is  written to the file.  The log file is
closed when another SET LOG command is given or when VFE terminates.

Formats:

   S(ET) L(OG)[=filename]
   S(ET) NOL(OG)

      [filename] is  any  legitimate  VAX  file  descriptor.   Device  and
                 directory  are  optional.   If  this parameter is omitted
                 entirely, the file VFE.LOG  is  created  in  the  current
                 default  directory.   A  new version is created each time
                 the SET LOG command is used.
2 POSITION
This option is used to change the indicated position of a tape  file.   It
does  not  change  the  physical position of the tape or do any I/O to the
tape device.

Format:

   S(ET) P(OSITION)=([file:]block)

      [file] if specified, is a decimal numeric which replaces the current
             file number.

      [block] is required.  It is a  decimal  numeric,  and  replaces  the
              current block number.

      Parenthesis are used only if if both parameters are given.
2 RADIX
This option determines the base of all byte  addresses  given  on  command
lines  and  shown  in display output.  The [begin] and [end] fields of all
range specifications and the [begin]  field  of  the  CHANGE  command  are
affected.   Block  addresses  and  the  [count]  field  of  ranges are not
affected - these are always input and displayed in decimal.   The  initial
radix is DECIMAL.

Format:

   S(ET) R(ADIX)=D(ECIMAL)
                =H(EX)
2 SIGN
This option is used to enable or disable signed decimal  output  with  the
ADD, IBYTE, IWORD, and ILONG commands.  The default mode is SET SIGN.

Format:

   S(ET) [NO]S(IGN)
2 SKIP
This option can be used to compensate  for  a  bug  in  VMS  which  causes
incorrect  block  indication  when using tape files.  It is known to occur
under VMS 4.1 and 4.2 when using the TA78 tape drive.  Simply put, when an
IO$_SKIPRECORD encounters an EOF mark, the number of blocks skipped before
the EOF was found is not returned in the IOSB.  This  means  that  if  the
tape  encounters  an  EOF  while skipping in the forward direction and the
user backs up over the EOF, the absolute block number  is  unknown.   Note
that  IO$_SKIPRECORD  is  only used with block positioning within a single
file (GET, NEXT, TOP, LAST,  EOF).   When  using  the  MOVE  command,  the
setting of SKIP has no effect.

Format:

   S(ET) SK(IP)=option

      If [option] is NORMAL, VFE uses its standard skip-ahead count of  up
      to  50  blocks  when skipping over blocks.  When moving back over an
      EOF, block numbering can be unpredictable if operating on  a  system
      and device on which this bug exists.

      If [option] is FAST, the skip-ahead count is still up to 50  blocks,
      but  movement  backwards over an EOF will set the block number to -1
      and decrement from there if the  bug  could  have  caused  erroneous
      position indication.

      If [option] is SLOW, all skip-aheads are done one block at  a  time.
      This  preserves position indication but operates considerably slower
      than either of the above.

      In the hope that VFE will be around long after this  bug  is  fixed,
      the default SKIP option is NORMAL.
2 WIDTH
This option can be used to change the output  width  of  the  terminal  on
which  VFE  is operating.  Display output has a wide and a narrow setting,
and the size is dependent on the terminal output width.  Output to  a  log
file  when  NODISPLAY  is  set,  and  all  batch output, is always in wide
format.  If the width is changed during a VFE session, it is reset to  the
original size when the session terminates.

Format:

   S(ET) W(IDTH)=size

      [size] is a decimal numeric and can be either 80 or 132.
1 SHOW
The SHOW command is used to display  various  aspects  of  the  current  VFE
environment.
2 ALL
This displays all of the SHOW options with one command.

Format:

   SH(OW) A(LL)
2 CHANGE
Displays the current change-string, and most recently changed file,  block
and byte address.

Format:

   SH(OW) C(HANGE)
2 DEVICE
Displays the name of the file or device being edited,  and  current  block
number.  Same as SHOW FILE.

Format:

   SH(OW) D(EVICE)
2 FILE
Displays the name of the file or device being edited,  and  current  block
number.

Format:

   SH(OW) F(ILE)
2 LOCATE
Displays the current locate target and most recently located file,  block,
and byte address for the target.

Format:

   SH(OW) L(OCATE)
2 MODES
Displays status of the SET modes (BUFF, CASE,  CHARSET,  DISPLAY,  HEADER,
LOG, RADIX, SIGN, SKIP, WIDTH).

Format:

   SH(OW) M(ODES)
2 PASTE
Displays the size of the paste buffer, and the  file,  block,  and  offset
from which the data was transferred.

Format:

   SH(OW) P(ASTE)
1 signon
If you have the symbol VFE defined correctly as  specified  in  the  release
documentation, following is the full format of the signon sequence:

   $ VFE[/set-options] [filename][/file-qualifiers]

      [set-options] are optional, and can be one or more of  the  valid  SET
      options, less the SET command itself.

      [filename] is the name of the file or device to edit.  If not given on
      the command line, it will be solicited.

      [file-qualifiers] are optional, and can be one or more of the  options
      described with the FILE command.

For example:

   $ VFE/NOCASE/RADIX=HEX/LOG=FILEX.LOG FILEX.DAT/WRITE
1 TOP
This command positions the user at the top of the file  (virtual  block  1).
The  contents  of  virtual block 1 are read into the current buffer (logical
block zero for disk devices).  For tape, the tape is moved in reverse  until
an end-of-file mark is found and positioned directly following the EOF mark.

Format:

   T(OP)
1 WRITE
This command writes the current buffer to the file  block(s)  at  which  the
user  is positioned.  The current buffer will always contain the contents of
the positioned block(s) except when the CHANGE or PASTE commands  have  been
used  and no repositioning has occurred.  The amount of data written depends
on the size of the current buffer, which is  usually  512  times  the  value
determined by SET BUFF.  See HELP BUFFERS for more information.

The WRITE command can only be  used  when  editing  disk  files  or  FOREIGN
mounted  disk  devices,  and only if the /WRITE qualifier was given when the
file or device was accessed.

Format:

   W(RITE)

--------------------------------------------------------------------------------
Kevin Cole      <Flatline>                              KJCOLE@GALLUA.BITNET
Center for Assessment and Demographic Studies  (CADS)   CADS_COLE@GALLUA.BITNET
Gallaudet Research Institute  (GRI)
Gallaudet University
Washington, D.C.  20002
(202) 651-5575