%ì VAX-11 Librarian V04-00`…¬@+†¬qºr***5b\6 access-modes êADDALPHAnASCII PBINARY`Úbuffers œCHANGEHCREATEPCUTXDATETDELETE¬ DIFFERENCESÜEBCDICZEOFªEXITFILE!GET'„HEX)IBYTE-ILONG*¬IWORD2LAST1 LGLOBAL/”LOCATE3:LOCK6XMOVE40MULTI72NEXT9LPASTEc positioninge’prompt;RPUT<ÜRECORDBÖREWINDB‚SETTnSHOWV& SUBSTITUTEXÚTOPZÈUPDATE[vWRITE¥c positioninge’prompt;RPUTlrange<ÜRECORDBÖREWINDB‚SETTnSHOWoæsignonV& SUBSTITUTEXÚTOPZÈUPDATE[vWRITEÿÿPASTEÿÿWRITE­@N¬1 ALPHALThe ALPHA command is used to display in either ASCII or EBCDIC depending onLthe current SET CHARSET mode. Operation is identical to the ASCII andBEBCDIC commands in all other respects. The default mode is ASCII.Format: A(LPHA)[/P(ASTE)] [range]6 See ASCII or EBCDIC for parameter specification.ww­€[¬1 ASCIILThe ASCII command is used to display the contents of the current bufferL(plus following blocks/records, if specified) in ASCII. Non-printingLcharacters are shown as periods. There are 64 or 96 characters/line.)Output is aligned on quadword boundaries.Format: AS(CII)[/P(ASTE)] [range]L [range] must begin within the limits of the current buffer. If itL overflows beyond the current buffer, subsequent blocks/records areJ displayed, and the user is positioned at the last block/record read.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer is displayed.ww­ â¬1 ADDLThe ADD command is used to add one or more signed numbers (longwords) andLdisplay the result in decimal and hex. The numbers can be given in hex,Ldecimal, or octal. Decimal output is normally signed unless the SET NOSIGNcommand has been given.Format:& AD(D) number1[,number2,...,numbern]L [number] can optionally have a leading + or - sign and can have one of% the following formats: nnnnnnnnn - Decimal 0nnnnnnnnnn - OctalK Hnnnnnnnn - Hex ("H" must be used regardless of the current radix)ww­ â¬1 BINARYLThis command is used to display the contents of the current buffer (plusLfollowing blocks/records, if specified) in binary format. There are 8 or 12Fbytes/line. Output is nonaligned (starts at the first address given).Format: B(INARY)[/P(ASTE)] [range]L [range] must begin within the limits of the current buffer. If itL overflows beyond the current buffer, subsequent blocks/records areJ displayed, and the user is positioned at the last block/record read.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is dis played. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer is displayed.ww­Àh¬1 CHANGELThe CHANGE command is used to modify the current buffer. This does notLalter the file unless the changed buffer is written back to the file (viaLPUT, WRITE or UPDATE). If the change-string would overflow the buffer,Lnothing is changed. This command can only be used when writing is enabled.HIf using recor d access, the record must also be locked first (see LOCK).# C(HANGE) [begin[,change-string]]L [begin] if numeric, is the first byte to change. An asterisk (*) canL be used if the current buffer contains a found target of aH previous LOCATE, in which case the target address is used.< [change-string] can have one of the following formats:L nnnnn - Unsigned hex string of numbers. These are placed in theL buffer in t he order given, right-justified to the nearestL byte. Any number of leading zeroes and up to 8 significant$ digits may be used. +nnnnL -nnnn - Signed decimal. Can be byte, word, or longword. ContextL is determined by the size of the number, including leading= zeroes. Stored in normal (reversed) format.L "xxx" - Character string. Single or double quotes are permitted.L The char acter set used is specified by SET CHARSET. ASCII1 is assumed if none is specified.L If [change-string] is omitted, the previous change string is used. IfL both parameters are omitted, the previous string is used at the last5 found target address within the current buffer.ww­Àh¬1 CREATELThe CREATE command is used to set up the current buffer for creation of aLnew record. It can only be used when a file is accessed in record mode andLwhen writing is enabled. The current buffer is dissociated with a record inLthe file and the record number is replaced with the symbol *NR* in theLcommand prompt, which indicates a new record. When the buffer contents areLcorrect, the PUT command can be used to write the new record to the file.LIf a file positioning command is given before the PUT, operation reverts toLnormal and a new record is not created. CREATE can be used with sequential0files only if positioned at the end of the file.Formats: CR(EATE) [size] CR(EATE)/P(ASTE) [size] CR(EATE)/N(ULL) [size]L [size] specifies the size of the new record. It must be less than orL equal to the maximum record size for the file. If editing an indexedL file, [size] must be large enough to contain the primary key and theL current key of reference. If not specified, [size] defaults to the" size of the previous record.L By default, the current buffer remains fille d with the contents of theL previous record, truncated or zero-filled if [size] is different. IfL the /PASTE option is specified, the paste buffer contents are used toL fill the buffer, and [size] defaults to the paste buffer size. If the> /NULL option is specified, the entire buffer is cleared.ww­`ï¬1 CUTLThe CUT command copies all or part of the current buffer into the pasteLbuffer. This is secondary buffer which can be recopied into the currentLbuffer 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]L [range] must be entirely within the current buffer. If only theL beginning byte is specified, that address thru the end of the currentL buffer is copied. If [range] is omitted, the entire contents of the current buffer are copied.L Data within the paste buffer always begins at by te 0. The range usedL with the last CUT command is saved, however, and used as a default for: subsequent uses of the data (DIFFERENCES and PASTE).ww­`ï¬ 1 DIFFERENCESLThis command compares all or part of the paste buffer, beginning at theLfirst byte, with the specified range within the current buffer. IfLdifferences are found, the contents of the current buffer are printed (inLhex) with the corresponding contents of the paste buffer directly below. 32Lor 48 sequential bytes are displayed per line. Matching paste buffer bytesIon the second line are displayed as periods. Output is longword-aligned.Format: D(IFFERENCES) [range]L [range] must be entirely within the current buffer. If only theL beginning byte is specified, the comparison count defaults to theL smaller of the paste buffer size or the remaining bytes of the current buffer.L If [range] is omitted, the range given with the last CUT command which/ moved data into the paste buffer is used.ww­v!¬1 DATELThe DATE command displays one or more sequential quadwords from the currentLbuffer in system date format. Only date values which exist entirely withinthe buffer can be displayed.Format: DA(TE)[/P(ASTE)] rangeL The beginning byte of [range] must be specified. If no count or= ending byte is given, a single date value is displayed.L If the /PASTE qualifier is given, data from the paste buffer is displayed.ww­à>2¬1 DELETELThe DELETE command deletes the current record. It can only be used when anLindexed or relative file is accessed in record mode and when writing isLenabled. The record must also be locked prior to using this command. IfLsuccessful, the user is positioned at the preceding record or top of fileafter deletion.Format: DE(LETE)ww­à>2¬1 EBCDICLThe EB CDIC command is used to display the contents of the current bufferL(plus following blocks/records, if specified) in EBCDIC. Non-printingLcharacters are shown as periods. There are 64 or 96 characters/line.)Output is aligned on quadword boundaries.Format: EB(CDIC)[/P(ASTE)] [range]L [range] must begin within the limits of the current buffer. If itL overflows beyond the current buffer, subsequent blocks/records areJ displayed, and the user is positioned at the last block/record read.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer is displayed.ww­€Å3¬1 EOFLThis command is useful when editing most VMS files in block mode. TheLsoftware EOF block and EOF byte are displayed and the user is positioned atLthe EOF block. When editing files in record mode or devices, this command&operates the same as the LAST command.Format: EO(F)ww­€Å3¬1 EXIT The EXIT command terminates VFE.Format: E(XIT)ww­€Å3¬1 FILECThis command specifies the name of the next file or device to edit.Format: F(ILE) [name][/qualifier(s)]LThe name can be any valid file/device name. If not given on the commandLline, the name is so licited. If a single asterisk (*) is specified, theLprevious file or device is re-opened for edit with new qualifiers asLdesired. If [name] is a device, block access is required. If [name]Lcontains a network specification, record access is required. Either access0mode will operate with a local VMS file on disk.LWhen a valid file/device name is supplied, the previous file/device isLclosed and the new one is opened for edit. If a VMS disk file name isLgiven, the  user is positioned at virtual block 1 (or record 1) of the newLfile and its contents are read into the current buffer. If a disk device isLspecified, the user is positioned at logical block 0. LOG_IO privilege isLrequired to edit a disk device. If a tape device is specified, the tape isLrewound and the user is positioned at the first block of the tape. The tapemust be mounted FOREIGN.2 /BLOCKJThis qualifier specifies block-mode access, which is the default unless.record access was used with the previous file. 2 /RECORDJThis qualifier specifies record access. This access mode is valid onlyJfor VMS user files which reside on disk. Once specified, record accessJwill be used for all subsequent files until the /BLOCK qualifier is given. 2 /KEY=keyidJThis qualifier is used to specify the key of reference when editing anJindexed file in record mode. If used, [keyid] is required, with zeroJindicating the primary key or a higher number indicating a seconda ry key.JIf this qualifier is not specified, the key of reference defaults to the primary key. 2 /NOREWINDJThis qualifier can be used to specify that the tape being edited shouldJnot be rewound. A single read operation is performed at the current tape-position and the block number is set to zero. 2 /OVERRIDEJThis qualifier is used to override a file interlock when editing a VMSJdisk file. It cannot be used in conjunction with /WRITE. When usingJblock mode, SYSPRV is requ ired and all interlocks are bypassed. WhenJusing record mode, any additional access granted is usually very limitedregardless of user privilege. 2 /POSITIONJThis qualifier is used to pre-specify a tape position. The /NOREWINDAqualifier is assumed when /POSITION is given when editing a tape. /POSITION=([file:]block)< [file] is optional. If not given, it defaults to one.J [block] must be specified. The tape is backspaced one block and aJ single re !ad is done. In this way, the tape remains positioned atJ the same location as it was before. When editing a tape that wasJ previously examined with VFE and the position is unchanged, use theD same file and block numbers that were last shown for the tape.= Parenthesis are used only if both parameters are given.2 /WRITEJThis qualifier allows subsequent use of the WRITE command. If not givenJwhen the file is opened, the file will be in read-only mode and no chang "esJwill be allowed. Only VMS disk files and disk devices which are mountedJFOREIGN can be modified with VFE. Tapes and XQP-managed disk devices canJonly be edited in read-only mode. Use of the /OVERRIDE qualifier is not!allowed when /WRITE is specified.ww­ÀÒ6¬1 GETLThis command positions the user at a desired block/record. The data fromLthe file is read into the current buffer. See HELP POSITIONING for anLabbreviated form of GET. More information is avai #lable for either of thetwo access modes. 2 block-modeJFor disk files or devices, this command reads one or more blocksJ(depending on the setting of SET BUFF) into the current buffer, beginningJat the block specified, and positions the user at that block. If theJblock selected is outside the limits of the current file, the user will beJleft positioned at the same block and the current buffer will remainJunaffected. For tape files, the read will always be attemp$ted. TapeJmovement stops when an end-of-file mark is encountered in either theforward or reverse direction.Format: G(ET) block. [block] is specified in decimal numeric. 2 record-modeJThis command reads the selected record into the current buffer, andJpositions the user at that record. There are three different ways to>obtain the record, depending on the type of file being edited.Formats: G(ET) record G(ET)/K(EY) key G(ET)/R(FA) num1:nu %m2J The first form of this command sequentially reads the record withJ the number specified by [record] (unsigned decimal numeric). ThisJ is relative to the first record in the file or the most recent keyed: or RFA record lookup, with 1 being the first record.J The second form of this command is available only for random accessJ files. It reads the first record in the file with the current keyJ of reference greater than or equal to the key spec &ified (or lessJ than or equal to it if editing a file sorted in descending keyJ sequence). [key] can be specified in any of the formats availableJ with the LOCATE command. After a successful keyed lookup, allJ record numbers become relative to this record, and the user cannotJ sequentially read those records which precede it without first doingJ another keyed or RFA lookup, or positioning at top of file (TOP command).J The th'ird form reads the record with the RFA (record file address)J as specified by the two numbers, both of which are required. WhenJ editing a sequential file, the first part if the RFA is the blockJ containing the start of the record and the second part is the offsetJ within the block of the start of the record. For other fileJ organizations, RFA determination is more complex. The RFA of theJ current record can be displayed by using the SHOW FI(LE command.J After a successful RFA lookup, record positioning operates the same as after a keyed lookup.ww­`ŽD¬1 HEXLThe HEX command is used to display the contents of the current buffer (plusLfollowing blocks/records, if specified) in hexadecimal. There are 32 or 48Lbytes/line. Display output is aligned on longword boundaries. Bytes areHdumped in the order in which they occur in the file, from left to right.Format: H(EX)[/P(ASTE)] [range]L ) [range] must begin within the limits of the current buffer. If itL overflows beyond the current buffer, subsequent blocks/records areJ displayed, and the user is positioned at the last block/record read.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer* is displayed.ww­`ŽD¬1 IBYTELThis command is used to display the contents of the current buffer (plusLfollowing blocks/records, if specified) in integer byte format. Values areLsigned unless the SET NOSIGN command has been given. There are 16 or 24Fbytes/line. Output is nonaligned (starts at the first address given).Format: I(BYTE)[/P(ASTE)] [range]L [range] must begin within the limits of the current buffer. If itL overflows beyond t +he current buffer, subsequent blocks/records areJ displayed, and the user is positioned at the last block/record read.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer is displayed.ww­F¬1 IWORDLThis command is used to display the contents of the ,current buffer (plusLfollowing blocks/records, if specified) in integer word format. Values areLsigned unless the SET NOSIGN command has been given. There are 8 or 16Lwords/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]L [range] must begin within the limits of the current buffer. If itL overflows beyond the current buffer, subsequent bloc -ks/records areL displayed, and the user is positioned at the last block/record read.L Words which span blocks are printed as if they were contained in the9 first block. Words which span records are ignored.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer. is displayed.ww­ ›G¬1 ILONGLThis command is used to display the contents of the current buffer (plusLfollowing blocks/records, if specified) in integer longword format. ValuesLare signed unless the SET NOSIGN command has been given. There are 4 or 8Llongwords/line. Longwords are displayed in normal (reverse) order - theFfirst byte of each 4-byte longword is assumed to be least significant.Format: IL(ONG)[/P(ASTE)] [range]L [range] must begin w /ithin the limits of the current buffer. If itL overflows beyond the current buffer, subsequent blocks/records areL displayed, and the user is positioned at the last block/record read.L Longwords which span blocks are printed as if they were contained inA the first block. Longwords which span records are ignored.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. 0 InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer is displayed.ww­ ›G¬1 LOCATELThis command is used to find the next occurrence of a target string or$number within the file being edited. L(OCATE) [target]L [target] is the target string or number. If not specified, theK previous target is used. The following formats are allowed:L nnnnn - Unsigned hex stri 1ng of numbers. These are searched for inL the order given, right-justified to the nearest byte. AnyL number of leading zeroes and up to 8 significant digits may be used. +nnnnL -nnnn - Signed decimal. Can be byte, word, or longword. ContextL is determined by the size of the number, including leadingG zeroes. Searched for in normal (l.s. to m.s.) format.L "xxx" - Character str2ing. Single or double quotes are permitted.L The character set used is specified by SET CHARSET. ASCIIL is the default. String locate operations are caseH sensitive unless the SET NOCASE command has been given.ww­@"I¬ 1 LGLOBALLThis command finds all of the remaining occurrences of the target number or$string within the file being edited.Format: LG(LOBAL) [target]3 [target] is specified exactly 3as with LOCATE.L When an entire disk file or device has been searched, the user isL repositioned at the block/record where the search began. When usingI tape, the position is left at the last block within a logical file.ww­@"I¬1 LASTLIn record access mode, this command positions the user at the last record inLthe file. In block access mode, the user is positioned at the highestLallocated block of the file. Due to minimum extent granularity, t4his may beLhigher than the last block currently storing user data. As a result, itsLcontents may be meaningless - this should not be taken as a sign of file corruption.LWhen using tape, the user is positioned at the last block within the current logical file.Format: LA(ST)ww­à¨J¬1 LOCKLThis command can only be used when editing in record access mode and whenLwriting is enabled. The record is reread with the record lock option andLchanges are 5allowed. This command is required before the CHANGE,LSUBSTITUTE, PASTE, SET LENGTH, UPDATE or DELETE commands can be used. TheLlock is released whenever an UPDATE or DELETE command, or any command that/reads the same or a different record, is given.Format: LOCKww­à¨J¬1 MULTILThis command is used to display the contents of the current buffer (plusLfollowing blocks/records, if specified) in hex and character format. TheLcharacter set used is 6determined by SET CHARSET (ASCII is the default).LNon-printing characters are shown as periods. There are 32 or 48 bytesLdisplayed 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]L [range] must begin within the limits of the current buffer. If itL overflows beyond the current buffer, subsequent blocks/records areJ displayed, and the user is7 positioned at the last block/record read.J If [range] is omitted, the current buffer is dumped in its entirety.L If the /PASTE qualifier is used, the paste buffer is displayed. InL this case, [range] must not overflow the size of the paste buffer. If4 omitted, the entire paste buffer is displayed.ww­€/L¬1 MOVELThis command moves a tape in the forward or reverse direction past a&specified number of end-of-file marks.Format: MO(VE 8) [offset]L [offset] is a decimal numeric with optional + or - sign. If omitted,L the number one (1) is assumed, which will position forward toL the next end-of-file mark on the tape. Reverse direction is. indicated by a negative offset.ww­€dX¬1 NEXTLThis command positions the user to a block/record with a relative offset toLthe current one. Contents of the requested block/record are read into theLcurrent buffer. When 9using tape, tape movement stops when an end-of-file<marker is encountered prior to locating the requested block.Format: N(EXT) [offset]L [offset] is a decimal numeric with optional + or - sign. If omitted,L the number one (1) is assumed, which will position to theB block/record immediately following the current one.LWhen editing a disk file or device in block mode, the value of [offset] is7usually multiplied by the value determined by SE :T BUFF.3See HELP POSITIONING for abbreviated forms of NEXT.ww­ ëY¬1 PASTELThe PASTE command writes all or part of the paste buffer to the currentLbuffer. File positioning is not affected, and if a WRITE, PUT or UPDATELcommand is issued before another command causes a read, the positionedLrecord or block(s) within the file will be overwritten. Judicious use ofLthe CUT and PASTE commands can be used to transfer entire or partial recordsL(record mode) ;or "chunks" of data (block mode) within a single file orEbetween files. EXTREME CAUTION is advised for users of this command!Format: P(ASTE) [range]L Data is transferred serially from the first byte of the paste bufferL into the specified area of the current buffer. [range] must beL entirely within the current buffer. If a range exceeds the size ofL the paste buffer, the remainder is zero-filled. If it is smaller,+ only that many byt <es are transferred.L If only the beginning byte of [range] is given, the transfer count isL taken to be the size of the paste buffer. If [range] is omittedB entirely, the range given with the last CUT command is used.K The size of the current buffer is never changed by the PASTE command.ww­Àq[¬1 PUTLThe PUT command is used to write the new record created by the CREATELcommand to the file. It can only be used in record mode editing =and onlyLafter a CREATE. After the new record is written successfully, it isLassigned the next highest record number for sequential files or assignedLrecord number 1 for indexed files. In the latter case, records whichLprecede it in the defined sort order of the current key of reference cannotLbe read sequentially until a keyed or RFA read is done or the TOP command is(used to position to the top of the file.Format: PU(T)ww­Àq[¬1 RECORDLThe RE>CORD command is used to display one or more records of a file inLcharacter format, as determined by SET CHARSET. ASCII is the default.LNonprinting characters are printed as periods. The file can be eitherLfixed, variable, or VFC formatted. There are two display modes, asLdetermined by SET HEADER. More information is available depending on the%access mode of the file being edited. 2 block-modeJThe RECORD command can be used in block mode only when editing a dis ?k fileJthat is organized sequentially. In this case, VFE will evaluate the fileJstructure and print the records in sequential order. When using thisJcommand in block mode with HEADER mode on, the numbers preceding theArecords in the display are byte offsets within the current block. R(ECORD) [begin][,count]J [begin] for fixed length records is the byte offset within theJ current buffer of the first record to print. For variable/VFCJ records, i @t is the address of the record length word for thatJ record. Since all records begin on a word boundary, if [begin] is odd, it will round up.J If [begin] is omitted and the user is positioned at the same blockJ where a previous RECORD command was given, the address of theJ following record is used. Otherwise, if [begin] is omitted, theJ current buffer is searched for the first likely record start addressJ and that is used. (This pro Acess is not 100% accurate, but works well with short records.)J [count] is the count of records to be printed. If [count] and/orJ the record lengths are sufficiently large, processing may continueJ into blocks following the current buffer. When processing isJ completed, the user is positioned at the last block read. If not= specified, [count] defaults to the previous value used. 2 record-modeJThe RECORD command can be used with any typeB of file organization when theJfile is accessed in record mode. When used with HEADER mode on, theJnumbers preceding each record in the display are the record numbers within the file.Format: R(ECORD) [begin][,count]J [begin] is the first record number to print. If omitted, theJ current record is printed first, unless it had just been printed byJ a previous RECORD command, in which case the following record is the first one to print.J C[count] is the count of records to print. If omitted, it defaultsJ to the previous value used, or one. When processing is completed,8 the user is positioned at the last record printed.ww­`ø\¬1 REWINDLThis command rewinds the tape being edited and positions the user at thefirst block of the first file.Format: RE(WIND)ww­^¬1 SET?This command is used to set/clear various modes and indicators.2 BUFFJThis option determines t Dhe size of the current buffer for block mode diskDoperations. It has no effect when editing tape or record mode disk.Format: SE(T) B(UFF)=countJ The [count] parameter is a decimal numeric in the range of 1-50 andJ must be specified. This determines the block count for each readJ operation. Large buffer sizes can be used to transfer data thatJ crosses block boundaries with CUT and PASTE, and to compare largeJ areas with the DIFFERENCES command E. The default value of [count] isJ one (1), and it is recommended that this value be used for most VFEJ operations. When a large buffer size is used, addressing isJ relative to the first block read, and this can be confusing whenJ data is displayed from subsequent blocks which reside in the same buffer.J Note that if [count] exceeds the block size of the current buffer,E the size will not be expanded until the next read is performed. FJ The setting of this parameter has no effect on the efficiency ofJ LOCATE or LGLOBAL, which always use a 50-block buffer for disk searches.2 CASEJThis option determines whether character string search operations (LOCATE,JLGLOBAL) are case-sensitive. Case-sensitive searches require less thanJ50% of the CPU time required by case-insensitive searches. The defaultJmode is case-sensitive. Operation is valid for either supported characterJset (ASCII or EBCDIC).G The setting of this option can also affect the$operation of the SUBSTITUTE command.Format: SE(T) [NO]C(ASE)> CASE mode is case-sensitive, NOCASE is case-insensitive. 2 CHARSETJThis option is used to determine the character set used for display,Cchange, and search operations. The default character set is ASCII.Format: SE(T) CH(ARSET)=A(SCII) =E(BCDIC) 2 DISPLAYJThis option is used to enable or disable local printing at the termiHnal.JThe standard mode is DISPLAY. If logging is enabled (see SET LOG) and theJSET NODISPLAY command has been given, only command solicitation andJsingle-line output (such as error messages) is displayed at the terminal.-Other output is written only to the log file.Format: SE(T) [NO]D(ISPLAY)2 HEADERJThis option controls buffer contents when editing a VFC file in record@mode, and also affects the printed output of the RECORD command.Format: SE(T) [NO]H(EADER I) HEADER mode is the default.3 buffer-contentsHWhen HEADER mode is set and a VFC file is being edited in record mode,Hthe VFC contents are included at the beginning of the current buffer.HThe buffer size is therefore the VFC length plus the record length, andHthe VFC is displayed and is available for modification. When HEADERHmode is disabled (SET NOHEADER) the VFC is not included in the bufferHcontents, and will be unchanged if the record is modified. HEADER modeHmust J be on when a new record is created (CREATE command). If it is not4on when this command is given, it will be turned on.3 RECORD-outputHWhen HEADER mode is set, each record displayed is preceded by its byteHoffset (block mode) or record number (record mode). Up to 8 bytes ofHthe VFC field are displayed (in hex) for VFC files. NonprintingHcharacters are replaced with periods. If editing in block mode, each/new block number is shown as the block is read.HNOHEADER mode Kproduces output similar to the VMS TYPE command.HAddresses, VFCs, and block numbers are suppressed. NonprintingHcharacters are replaced with periods, except for tabs, which are+replaced with the correct number of spaces.2 KEYJThis option is used to select the key of reference when editing an indexedfile in record mode.Format: SE(T) K(EY)=keyidJ [keyid] is the desired key of reference with zero being the primaryJ key. If [keyid] is differen Lt than the current key of reference, theJ file is repositioned at the top according to the defined sort order" of the new key of reference.2 LENGTHJThis option is used to change the size of the current buffer. It can onlyJbe used when an indexed file is accessed in record mode and when writingJis enabled. If positioned at an existing record within the file, theJrecord must be locked. A subsequent UPDATE will then change the length ofthe record in the file.Format: M SE(T) LE(NGTH)=sizeJ [size] is required. It is specified in decimal numeric. It must beJ less than or equal to the maximum record size for the file, and mustJ be large enough so the current buffer can contain the primary key' and the current key of reference.2 LOGJThis option is used to enable or disable logging of VFE output to a userJfile. All output and input is written to the file. The log file isDclosed when another SET LOG command is given or Nwhen VFE terminates.Formats: SE(T) L(OG)[=filename] SE(T) NOL(OG)J [filename] is any legitimate VAX file descriptor. Device andJ directory are optional. If this parameter is omittedJ entirely, the file VFE.LOG is created in the currentJ default directory. A new version is created each time- the SET LOG command is used. 2 POSITIONJThis option is used to change the indicated position of a Otape file. ItJdoes not change the physical position of the tape or do any I/O to the tape device.Format:" SE(T) P(OSITION)=([file:]block)J [file] if specified, is a decimal numeric which replaces the current file number.J [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 RADIXJThis option determines the base of all byte addPresses given on commandJlines and shown in display output. The [begin] and [end] fields of allJrange specifications and the [begin] field of the CHANGE command areJaffected. Block addresses and the [count] field of ranges are notJaffected - these are always input and displayed in decimal. The initialradix is DECIMAL.Format: SE(T) R(ADIX)=D(ECIMAL) =H(EX)2 SIGNJThis option is used to enable or disable signed decimal output with theEADD, Q IBYTE, IWORD, and ILONG commands. The default mode is SET SIGN.Format: SE(T) [NO]S(IGN)2 SKIPJThis option can be used to compensate for a bug in VMS which causesJincorrect block indication when using tape files. It is known to occurJunder VMS 4.1 and 4.2 when using the TA78 tape drive. Simply put, when anJIO$_SKIPRECORD encounters an EOF mark, the number of blocks skipped beforeJthe EOF was found is not returned in the IOSB. This means that if theJtape encounte Rrs an EOF while skipping in the forward direction and theJuser backs up over the EOF, the absolute block number is unknown. NoteJthat IO$_SKIPRECORD is only used with block positioning within a singleJfile (GET, NEXT, TOP, LAST, EOF). When using the MOVE command, thesetting of SKIP has no effect.Format: SE(T) SK(IP)=optionJ If [option] is NORMAL, VFE uses its standard skip-ahead count of upJ to 50 blocks when skipping over blocks. When moving back o Sver anJ EOF, block numbering can be unpredictable if operating on a systemG and device on which this bug exists. This is the default option.J If [option] is FAST, the skip-ahead count is still up to 50 blocks,J but movement backwards over an EOF will set the block number to -1J and decrement from there if the bug could have caused erroneous position indication.J If [option] is SLOW, all skip-aheads are done one block at a time.J This Tpreserves position indication but operates considerably slower than either of the above.2 WIDTHJThis option can be used to change the output width of the terminal device.JDisplay output has a wide and a narrow setting, and the size is dependentJon the terminal output width. Output to a log file when NODISPLAY is set,Jand all batch output, is always in wide format. If the width is changedJduring a VFE session, it is reset to the original size when the session terminates.FoUrmat: SE(T) W(IDTH)=size> [size] is a decimal numeric and can be either 80 or 132.ww­´j¬1 SHOWLThe SHOW command is used to display various aspects of the current VFE environment.2 ALL7This displays all of the SHOW options with one command.Format: SH(OW) A(LL)2 CHANGEJDisplays the current change-string, and most recently changed file, blockand byte address.Format: SH(OW) C(HANGE)2 DEVICEJDisplays the name of the file or dVevice being edited, and current block or"record number. Same as SHOW FILE.Format: SH(OW) D(EVICE)2 FILEJDisplays the name of the file or device being edited, and current block orJrecord number. If editing in record mode, the RFA of the current recordis also displayed.Format: SH(OW) F(ILE)2 LOCATEJDisplays the current locate target and most recently located file, block, and byte address for the target.Format: SH(OW) L(OCATE)2 MODESJDisplays status ofW the SET modes (BUFF, CASE, CHARSET, DISPLAY, HEADER,LOG, RADIX, SIGN, SKIP, WIDTH).Format: SH(OW) M(ODES)2 PASTEJDisplays the size of the paste buffer, and the file, block, and offset$from which the data was transferred.Format: SH(OW) P(ASTE)ww­év¬ 1 SUBSTITUTELThis command is used to replace one character string with another in theJcurrent buffer. The same restrictions apply to this command as to CHANGE.Format:' S(UBSTITUTE) X[d]string1[d]string2[d]L [d] is a single character delimiter which must be specified threeL times in the order shown and may not occur in either string. Any character can be used.L [string1] is the target string. The character set is determined byL SET CHARSET (ASCII is the default). Case sensitivity is determined byL SET CASE. The string must occur entirely in the current buffer in* order for the substitution to occur.L [str Ying2] is the replacement string. The character set is the same asL the first string. Characters in [string2] overlay those in the bufferL beginning at the first match of [string1]. Unlike similar commands inL other editors, the size of the current buffer will not be changed if, the two strings are of unequal length.L If the entire parameter sequence is omitted, that from the previous! SUBSTITUTE command is used.ww­ ox¬1 TOPLThis comma Znd positions the user at the top of the file. When used in blockLmode, the contents of virtual block 1 are read into the current bufferL(logical block zero for disk devices). When editing tape, the tape file isLmoved in the reverse direction until an end-of-file mark is found, and thenLthe data which follows the EOF mark in the forward direction is read intothe current buffer.LIn record mode, the user is positioned at the top of the file and the firstLrecord is read into the[ current buffer. If editing an indexed file, recordLselection is based on the lowest (ascending) or highest (descending) value of the current key of reference.Format: T(OP)ww­@öy¬1 UPDATELThe UPDATE command is used to update the positioned record in the file withLthe contents of the current buffer. It can only be used in record modeLediting and only after the record has been locked. If editing an indexedLfile and the size of the current buffer has b\een changed with SET LENGTH,/the length of the file record is modified also.Format: U(PDATE)ww­@öy¬1 WRITELThis command is only operational when editing a disk file or device in blockLmode, and only if the file has been accessed with the /WRITE qualifier. TheLcurrent buffer is written to the file block(s) at which the user isLpositioned. The current buffer will always contain the contents of theLpositioned block(s) except when the CHANGE, SUBSTIT]UTE or PASTE commandsLhave been used and no repositioning has occurred. The amount of dataLwritten depends on the size of the current buffer, which is usually 512Ltimes the value determined by SET BUFF. See HELP BUFFERS for more information.Format: W(RITE)ww­à|{¬1 access-modesLThere are two major file access modes available to users of VFE. The accessLmode is determined by the use of the /BLOCK or /RECORD qualifier asLdocumented ^ with the FILE command. Block mode is the initial default.LSubsequent uses of the FILE command to change the file in use will assumeLthe current access mode unless the other is specified. Access modes areLmutually exclusive; only one can be in operation at one time. It isLpossible, however, to transfer data through the paste buffer from one mode to the other. 2 block-modeIBLOCK mode is used with local disk files or disk/tape devices. Data isItransferred from/to _the storage device on block boundaries, regardless ofIformat. The XQP-QIO interface is used for the transfers. There is aIvery limited facility in VFE to interpret sequential files read in blockImode (RECORD command) but beyond this there is no attempt made to operateIon the data itself. Block mode is most useful when attempting to displayIor change data which is not easily obtainable through standard VMSIutilities. The LOCATE/LGLOBAL commands will operate in either mode, `but2the search is much faster when done in block mode. 2 record-modeIRECORD mode is used with local or remote disk files. Data is transferredIon record boundaries. The RMS interface is used for the transfers. InIthis mode it is possible to examine data as it would be available to aIuser program (for example, an uncompressed indexed file record). AllIthree RMS formats (sequential, relative, indexed) are permitted, althoughImost testing and development has been geared towards a use with indexed andIsequential files. Record mode is most useful for displaying andImodifying record-oriented information which is not as easily accessedthrough standard VMS editors.ww­à|{¬ 1 buffers.VFE operates with two variable-length buffers.L The CURRENT buffer is filled with the contents of the positioned block(s)L or record. The buffer is filled whenever a file is initially opened forL edit and whenever a read operation is performed on thbe current file orL device. Commands which always cause a read operation are DELETE, EOF,L FILE, GET, LAST, LOCK, MOVE, NEXT, PUT, REWIND and TOP. (This happensL even if the same block is selected, as in NEXT 0). Commands which canL cause file reads if multiple blocks/records are displayed or searched areL ALPHA, ASCII, BINARY, EBCDIC, HEX, IBYTE, IWORD, ILONG, LOCATE, LGLOBAL,L MULTI and RECORD. The UPDATE command can cause a read if the field7 containing th ce current key of reference is modified.L Contents of the current buffer can be modified with the CHANGE, PASTE andL SUBSTITUTE commands, and these modifications remain until the next readL operation. If a PUT, WRITE or UPDATE is done before the next read, the> modifications are written to the file and become permanent.L The PASTE buffer is user-controlled. It is filled by using the CUTL command. Unlike the current buffer, the paste buffer remains unalteredL whe dn a read operation occurs or when a new file is edited. The pasteL buffer has two primary uses: First, to allow data to be compared withL the DIFFERENCES command, and second, to permit data to be transferred" within a file or between files.ww­€}¬ 1 positioningLThe following sequences are abbreviated formats of the GET and NEXTLcommands. They are useful for fast block/record positioning. Note that aLpositioning command will always cause the e contents of the positioned6block(s) or record to be read into the current buffer.9 advances one block/record. Same as NEXT 1.9 + advances one block/record. Same as NEXT 1.: - backs up one block/record. Same as NEXT -1.J [number] positions to the block/rec specified. Same as GET [number].G +[number] advances [number] blocks/records. Same as NEXT [number].H -[number] backs up [number] blocks/records. Same as NEXT -[number].L "[key]" ofr performs the same function as GET/KEY. The key is translated? '[key]' to upper case when the abbreviated form is used.L In all cases above, [number] represents a decimal numeric, and [key]L represents a character string. For numeric or lower case keys, the( long form of GET/KEY must be used.7See HELP PROMPT for information on position indication.ww­ Š~¬1 prompt.The user prompt has several different formats.2 block-mode-promptIWhen using g block mode, the prompt format depends on the type of file orFdevice being edited and on the SET BUFF value. The general format is: [file:]block[(size)]>I [file] represents the current logical file number and is alwaysI present for tapes, never for disk. When the tape is rewound andI the file position is known, the first logical file is numbered 1I and the number is increased each time an EOF mark is crossed. WhenI the tape position is unknown h, the file number can be zero or negative.I [block] is always present. For disk files, it represents theI current VBN (virtual block number), for disk devices, the currentI LBN. For tape, it represents the logical block number that hasI been most recently read within the current logical file. When theI tape position is known, blocks begin at 1 with zero indicating thatI an EOF mark has just been crossed but no data has been re iad. WhenE the tape position is unknown, the block number can go negative.I [size] is used to show the size of the current buffer. For disk,I this indicator is omitted if the value of SET BUFF is one. In thisI case, the current buffer contains 512 bytes. For tape, this showsI the size of the block just read, and is always present except whenI the last tape positioning produced no data, as is the case when anI EOF mark has been crossed or if t jhe system returns an error status" with zero bytes transferred.2 record-mode-prompt?When using record mode, the format of the prompt is as follows: record[* ](size)> or: *NR* (size)>I In the first form, [record] is always present and indicates theI record number. This is normally relative to the top of the fileI and represents an absolute record number. Records are numberedI sequentially from one. If the asterisk (*) appears in the kprompt,I this indicates the records are being numbered relative to the lastI non-sequential read of the file. This is usually caused by aI GET/KEY or GET/RFA, but can also be the result of a PUT, or anI UPDATE that modified the key of reference. Once relative recordI numbering has started, there is no way to position to records whichI precede relative record one except by doing another non-sequential5 read or going to the top of file ( lTOP command).I The second form of the prompt only occurs after the CREATE commandI is used. It indicates that the current buffer is not attached toI any record in the file and represents a new record which is to beI added to the file. This record will only be added to the file ifI the PUT command is used before the next read operation is performed.I In both forms of the prompt, [size] is always present and indicatesI the smize of the current buffer. In the first form, this is theI record size, unless the SET LENGTH command has been used after theI last read. In the second form, this will be the record size when4 the new record is written via the PUT command.ww­ ¤„¬1 rangeLMany of the commands use a [range] specification. The format of the rangeis as follows: [begin][,count] or: [begin][:end]L [begin] specifies the address within the buffer of the f nirst byte toL process. It is supplied in unsigned decimal or hex, depend-L ing on the setting of SET RADIX. The default is decimal.L [begin] must always be within the address range of the cur-L rent or paste buffer, whichever is being used in the command.G If not specified, [begin] defaults to the first byte (0).L [count] specifies the count of items to process. This is the byteL count for o all commands except for DATE, IWORD, and ILONG,L where it it the count of date quadwords, words, and longwords,L respectively. [count] is always specified in unsigned decimalL numeric. Some commands allow [begin+count] to exceed the* range of the current buffer.L [end] specifies the address of the last byte to process. It can beL supplied in unsigned decimal or hex, depending on SET RADIX.L De pcimal is the default. [count] and [end] cannot be usedL together on the same command. Some commands allow [end] to5 exceed the range of the current buffer.L If both [count] and [end] are omitted, a single item is processed,L except where indicated differently for specific commands. Most com-L mands allow [range] to be omitted entirely. See specific command) documentation for more information.ww­@+†¬1 sign qonLIf you have the symbol VFE defined correctly as specified in the releaseCdocumentation, following is the full format of the signon sequence:9 $ VFE[/set-options...] [filename][/file-qualifiers...]L [set-options] are optional, and can be any one or more of the valid> SET options (except LENGTH) less the SET command itself.L [filename] is the name of the file or device to edit. If not given on- the command line, it will be solicited.L [file-qualifiers] are optional, and can be one or more of the options& described with the FILE command. For example:7 $ VFE/NOCASE/RADIX=HEX/LOG=FILEX.LOG FILEX.DAT/WRITEww