p VTEDIT051.DU VTEDIT051.DBACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY DISK$MASTER:[WECK.VTEDIT.KIT.V51.D]*.* MSA0:[0,0]VTEDIT051.D/LABEL=(VTEDIT)/SAVE/IGN=LABEL/NOREWI/DENS=1600/NOINIT/NOREWI/NOINIT/NOREWI/NOINIT/NOREWIVAX/VMS SPKITBLD Procedure SYSTEM %V5.1 _PISA::  _PISA$MSA0: V5.0  $*[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39+,.x/ 4xx-)0123KPWOy56eе7LE%89GHJ7 I11h?20 J3300t1;3300r 1;65536s0d 6 [!p+>)0[6 J) [1` 3 VTEDITu Keypad Text Editor and Corrector for VAXTPU0 Reference Manual- August 1989M Revision/Update Information: This document supersedes theE VTEDIT V5.0 Reference ManualM Software Version: VTEDIT V5.1 (for VAXTPU V2.2: and VAX LSE V2.3) N VTEDIT V5.1 Page iiN The information in this document is subject to change without notice andN should not be construed as a commitment by any one of the many authors( involved in the development of VTEDIT.N Nobody assumes any responsibility for the use or reliability of thisN document or the described software. (You're up to your own imagination, pal/ - enjoy it, and let the idea spread further!)9 Copyright 1979, 1980 Digital Equipment Corporation" Copyright 1982...1989 DECUS N VTEDIT V5.1 Page iii ContentsC 1 RELEASE NOTES . . . . . . . . . . . . . . . . . . . 1C 1.1 Installation of VTEDIT . . . . . . . . . . . . . . 1C Installation Procedure and Requirements . . . . 1C Version Dependencies . . . . . . . . . . . . . . 2C Rebuilding VTEDIT from Sources . . . . . . . . . 2C Side Effects . . . . . . . . . . . . . . . . . . 3C 1.2 Change History . . . . . . . . . . . . . . . . . . 3C New and Changed Features for Version V4.1 . . . 3C Changes for Version V4.2 . . . . . . . . . . . . 5C Changes for Version V4.3 . . . . . . . . . . . . 5C Changes for Version V4.4 . . . . . . . . . . . . 6C Changes for Version V4.5 . . . . . . . . . . . . 7C Changes for Version V4.6 . . . . . . . . . . . . 8C Changes for Version V4.7 . . . . . . . . . . . . 8C Changes and Extensions for Version V5.0 . . . . 9C Changes for Version V5.1 . . . . . . . . . . . 11C 2 INTRODUCTION . . . . . . . . . . . . . . . . . . . 12C 2.1 Components of VTEDIT . . . . . . . . . . . . . . 12C 2.2 Historical Note . . . . . . . . . . . . . . . . 12C 2.3 How to Read this Manual . . . . . . . . . . . . 14C 2.4 Invoking the Video Terminal Editor . . . . . . . 15C Parameters . . . . . . . . . . . . . . . . . . 15C Command Qualifiers . . . . . . . . . . . . . . 16C Memory . . . . . . . . . . . . . . . . . . . . 20C Examples . . . . . . . . . . . . . . . . . . . 21C Wildcards . . . . . . . . . . . . . . . . . . 21C 2.5 Interpreting the Terminal Screen . . . . . . . . 22C 3 CONCEPTS . . . . . . . . . . . . . . . . . . . . . 25C 3.1 Buffers . . . . . . . . . . . . . . . . . . . . 25C User Buffers . . . . . . . . . . . . . . . . . 25C System Buffers . . . . . . . . . . . . . . . . 26C Q-Registers . . . . . . . . . . . . . . . . . 28C 3.2 Windows . . . . . . . . . . . . . . . . . . . . 28C 3.3 Text Selection . . . . . . . . . . . . . . . . . 30C Select Ranges . . . . . . . . . . . . . . . . 30C Rectangular Regions . . . . . . . . . . . . . 31C The Active Range . . . . . . . . . . . . . . . 32C 3.4 Text Search and Replacement . . . . . . . . . . 32C Search Patterns . . . . . . . . . . . . . . . 32C Text Replacement . . . . . . . . . . . . . . . 34C String Building Constructs . . . . . . . . . . 35C 3.5 Numeric Arguments . . . . . . . . . . . . . . . 35C 3.6 Prompting . . . . . . . . . . . . . . . . . . . 37C 3.7 Line Mode . . . . . . . . . . . . . . . . . . . 38C Command Syntax . . . . . . . . . . . . . . . . 38C Resolving Ambiguities . . . . . . . . . . . . 40C Command Files . . . . . . . . . . . . . . . . 40C Nodisplay Editing . . . . . . . . . . . . . . 41C 3.8 Formatters . . . . . . . . . . . . . . . . . . . 42C General Information . . . . . . . . . . . . . 42C Case Conversion . . . . . . . . . . . . . . . 43C Automatic Indentation . . . . . . . . . . . . 43C Automatic Word Wrap . . . . . . . . . . . . . 45C Automatic Line Justification . . . . . . . . . 45 N VTEDIT V5.1 Page ivC Automatic Parenthesis Insertion . . . . . . . 46C Parenthesis Highlighting . . . . . . . . . . . 46C 3.9 Mouse Operations . . . . . . . . . . . . . . . . 47C Positioning and Selection . . . . . . . . . . 47C Scrolling . . . . . . . . . . . . . . . . . . 48C Menus . . . . . . . . . . . . . . . . . . . . 49C 3.10 Language-Sensitive Editor . . . . . . . . . . . 49C Overview . . . . . . . . . . . . . . . . . . . 49C Concepts . . . . . . . . . . . . . . . . . . . 50C Entering Source Code . . . . . . . . . . . . . 51C Languages . . . . . . . . . . . . . . . . . . 53C Compilation and Review . . . . . . . . . . . . 54C Source Code Analysis . . . . . . . . . . . . . 55C Source Code Management . . . . . . . . . . . . 56C 4 EDITING TEXT . . . . . . . . . . . . . . . . . . . 57C 4.1 General Information . . . . . . . . . . . . . . 57C 4.2 Notational Conventions . . . . . . . . . . . . . 57C 4.3 Keypad Layout . . . . . . . . . . . . . . . . . 58C VT100 Keypad . . . . . . . . . . . . . . . . . 58C VT200 Function Keys . . . . . . . . . . . . . 59C 4.4 Editing Commands . . . . . . . . . . . . . . . . 60C Moving the Cursor . . . . . . . . . . . . . . 60C Marking and Retrieving Positions . . . . . . . 66C Searching Text . . . . . . . . . . . . . . . . 69C Match Control Characters . . . . . . . . . . . 71C @bT VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x> Controlling Searches . . . . . . . . . . . . . 72C Replacing Text . . . . . . . . . . . . . . . . 73C String Building Constructs . . . . . . . . . . 75C Moving Text . . . . . . . . . . . . . . . . . 76C Inserting Text . . . . . . . . . . . . . . . . 79C Formatter Control . . . . . . . . . . . . . . 83C Formatter Control Characters . . . . . . . . . 86C Controlling Text Insertion Modes . . . . . . . 89C Converting Case . . . . . . . . . . . . . . . 91C Deleting Text . . . . . . . . . . . . . . . . 93C Exiting . . . . . . . . . . . . . . . . . . . 96C Controlling Input and Output Files . . . . . . 97C Controlling the Video Terminal . . . . . . . . 103C Controlling Windows . . . . . . . . . . . . . 107C Tab and Space Manipulation Commands . . . . . 1101C Process Control Commands . . . . . . . . . . . 113)C Manipulating Words . . . . . . . . . . . . . . 1151C Executing Commands . . . . . . . . . . . . . . 117 C Miscellaneous Commands . . . . . . . . . . . . 122mC 4.5 Using the Mouse . . . . . . . . . . . . . . . . 126mC 4.6 Line Mode Mini Editor . . . . . . . . . . . . . 127lC 4.7 Language-Sensitive Editing Commands . . . . . . 128C Formatting Comments . . . . . . . . . . . . . 128tC Controlling File Search . . . . . . . . . . . 1290C Entering Source Text . . . . . . . . . . . . . 130 C Compiling and Reviewing . . . . . . . . . . . 134 C Source Code Analysis . . . . . . . . . . . . . 137 C Access to the Language-Sensitive Editor . . . 139 C Redefining the Do Key . . . . . . . . . . . . 141bC 5 CUSTOMIZATION . . . . . . . . . . . . . . . . . . 142vC 5.1 Using Different Defaults at Startup . . . . . . 142iC 5.2 Using a Different Keyboard Layout . . . . . . . 142i N VTEDIT V5.1 Page vC 5.3 Adding Line Mode Commands . . . . . . . . . . . 144oC 5.4 Key Maps and Key Map Lists . . . . . . . . . . . 145 C 5.5 Defining Additional Formatters . . . . . . . . . 146 < 5.6 Setting Languages for the Language-Sensitive C Editor . . . . . . . . . . . . . . . . . . . . . 148IC 6 TABLES . . . . . . . . . . . . . . . . . . . . . . 150rC 6.1 Command Names . . . . . . . . . . . . . . . . . 150 C 6.2 Command Syntax . . . . . . . . . . . . . . . . . 153oC 6.3 Numeric Arguments . . . . . . . . . . . . . . . 159 C 6.4 Key Bindings and VTEDIT Command Names . . . . . 160 C Standard Keys . . . . . . . . . . . . . . . . 160uC Overlayed Key Bindings . . . . . . . . . . . . 162VC Line Mode Commands without Key Binding . . . . 162V INDEX N VTEDIT V5.1 Page 1* 1 RELEASE NOTES= 1.1 Installation of VTEDIT [ Installation Procedure and Requirements N VTEDIT is installed via the standard VMSINSTAL procedure using the savesetsN VTEDIT051.A through VTEDIT051.E. If you copied these savesets to theN directory '[mydir]' on device 'mydisk:', you can install VTEDIT using the command:> $ @SYS$UPDATE:VMSINSTAL VTEDIT mydisk:[mydir]N The installation will take about 5 minutes on a not too heavily loadedN machine, if the savesets are already residing on disk. To install VTEDIT,N you need about 2100 free blocks on your system disk, and, if you select theN option of getting the reference manual, this will need an additional 1700N blocks on your system disk. If you have the Language-Sensitive EditorN VAX LSE on your system, the installation procedure will ask whether youN wish LSE support. Selecting this option will require 1800 blocksN additionally. You may also select to have the original, TECO-based VTEDITN together with formatters for several languages. The TECO macro VTEDIT isN provided on an "as-is" basis, without any documentation other than on-line7 Help; its installation will require about 120 blocks. N To install VTEDIT, you must have either SETPRV privilege or all of the following privileges: 3 CMKRNL, SYSNAM, SYSPRVTN If VTEDIT has been installed without support for the Language-SensitiveN Editor and if such support is required at a later time - probably becauseN VAX LSE was installed after the installation of VTEDIT -, support for theN Language-Sensitive Editor can be made available by re-installing VTEDIT.N (Re-installation of VTEDIT is the recommended procedure for adding LSE support to native VTEDIT.)N The installation copies the environment file VTEDIT.ENV into the directoryN SYS$LIBRARY, if VTEDIT is installed with LSE support. This environment fileN contains an extensive definition of the language "Runoff" and some basicN definitions for the languages "DCL", "Datatrieve", "Help" (for Help texts),N and "VAXTPU", as well as some changes to the language "Fortran". You mayN wish to include some of these changes, or all of them, into your system environment file. N The installation procedure will copy a short guide, contained in the fileN VTEDIT.DOC, to the directory SYS$EXAMPLES. If you have enough disk space,N the procedure will ask if you want the user manual, too. If you respondN with 'yes' to this question, the installation procedure will copy the twoN files VTEDIT.LNI (the reference manual, suitable for printing on an LN03N laser printer), and VTEDIT.RNO (the Runoff source for the .LNI file) to SYS$EXAMPLES. N In any case, complete Help information will be provided in the help library SYS$HELP:VTE_HELP.HLB. qqqqqqqqqqqqqqqqqqqqD VAX LSE is a layered product available for VAX/VMS and MicroVMS. lN VTEDIT V5.1 Page 2N In order to make VTEDIT available after booting, the command fileN SYS$MANAGER:STARTVTE.COM, which is provided with the installation, must beN executed. This file is called automatically, as the installation procedure2 enters it as an entry into the startup database.N Suggestions for enhancements, and reports on errors or problems should be sent to:- Dr. G. Weck. Infodas GmbH- Rhonestr. 2g/ D-5000 Kln 71 . West GermanyA Version Dependencies N This version of VTEDIT is compatible with VAXTPU versions V2.2 and V2.3;N thus, the installation procedure will work with VMS version V5.1 and,N optionally, VAX LSE version V2.3, or higher. Recompilation of VTEDIT forN higher versions of VAXTPU or VAX LSE should not be necessary, as the format= of the section files will not chs VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xWange, according to Digital.1V Rebuilding VTEDIT from SourcesN If changes have been made to the source of VTEDIT, it will be necessary toN recompile the source file in order to incorporate these changes into theN section file. This can be done by setting the current directory to' SYS$LIBRARY and entering the command: K $ EDIT /TPU /NODISPLAY /NOSECTION /COMMAND=SYS$EXAMPLES:VTEBUILD.TPU - / VTE_SECTION.TPU N The compilation will produce a new section file VTE_SECTION.TPU$SECTION.N For further information about creating editing interfaces for VAXTPU, see7 the appropriate chapters of the VAXTPU documentation. N Recompiling the VTEDIT source in order to produce a section file with LSE% support can be done via the commandnE $ LSEDIT /COMMAND=SYS$EXAMPLES:VTEBUILD.TPU VTE_SECINI.TPUlN and will produce a new section file LSE$VTE_SECTION.TPU$SECTION. You mayN compile the same source file VTE_SECTION.TPU with VAXTPU or VAX LSE ind2 order to produce section files for both editors.N If the section file(s) have been installed as shared known images, you willN have to invoke the INSTALL utility to replace the known file entries; the7 new file(s) will be used only after this replacement.  N VTEDIT V5.1 Page 3= Side Effects N The installation of VTEDIT will define the system-wide logical nameN TPU$CALLUSER to point to the file SYS$LIBRARY:TPUCALL.EXE. If you haveN VAXTPU interfaces using a system-wide call_user-routine, you will have toN decide which file TPU$CALLUSER should point to. The standard VAXTPUN interfaces provided by VMS do not use this mechanism and thus are notN affected by the definition of this logical name. For further informationN about providing call_user-exits for VAXTPU, see the appropriate chapters of the VAXTPU documentation.lN On exit, VTEDIT will try to translate the global DCL symbol "HERE", and, ifN this symbol evaluates to some string with positive length, output theN resulting string to the terminal. This feature may be used to write aN message into the status line of VT300 terminals, like, for instance, theN current default directory name. If the symbol "HERE" is not defined, noN action will occur. The name of the symbol used for this feature may beB changed via the VTINI.TPU startup file described in section 5.1.- 1.2 Change History4t New and Changed Features for Version V4.1N Apart from bug fixes, the current version of VTEDIT contains numerousN enhancements, most of them providing functions available in the EVEPLUSN editing interface to VAXTPU. Nearly all of the new functions are fullyN compatible with the previous version of VTEDIT. The following list contains= brief descriptions of the most important changes to VTEDIT:rN - VTEDIT now remembers the file most recently edited, and optionally alsoN the current cursor position in this file. If VTEDIT is re-invokedN without its file-spec parameter, the file remembered will be edited,N and, if a position has been remembered, too, the cursor will be set to this position. N - VTEDIT now allows to set permanent marks in the text buffer(s) and to$ re-position to them later on.N - The Search and Count and the Replace/Replace All commands now may be. restricted to operate in a given range.N - The ^EEx match control construct allows search for strings containingN match control characters, without evaluating these match control characters.N - The save, cut, and paste operations now can be applied to rectangularN pieces of text, thus allowing column-oriented editing. Also,N rectangular pieces of text may be deleted, either by replacing them: with blanks or by shortening the lines accordingly.N - Several formatters now provide optional highlighting of the matchingN opening parenthesis whenever a closing parenthesis is typed.N Alternatively, the matching closing parenthesis can be selected to beG automatically inserted whenever an opening parenthesis is typed.t rN VTEDIT V5.1 Page 4N - A Directory command allows to create a listing of all files matching aN given (wildcard) file-spec. From this listing, a file can be selected1 for input by giving the This File command.iN - You may select to have free (EVE-like) cursor movement, allowing you toN position to locations on the screen not containing text. There areA commands to switch between free and bound cursor movement.iN - For VT200 terminals, a separate Next Buffer command has been providedN in addition to invoking this command by repeated One or Two Windows commands.N - There are new commands to compress multiple spaces to Tabs, according? to the current Tab setting, or to expand Tabs to spaces.sN - A new command allows to trim trailing blanks, i.e. to delete blanks at the end of a line. N - The Paragraph Fill command has been changed to remove superfluousN blanks, thus allowing to be applied multiply to the same text, without: always increasing the number of blanks in the text.N - A command to close and re-open the journal file allows to save aN journal file and/or shorten the journal of long editing sessions. ToN prevent jouranl files unusable for recovery, this operation is possible3 only if there are no non-empty user buffers.HN - There is an interface to the VMS Sort utility, allowing to sort text buffers or ranges.hN Two changes cause a slight incompatibility between this version of VTEDIT and the previous version:iN - If the Set Tabulators command is given with a positive numericN argument, existing tab stops are no longer removed, but the new tabN stop is added to the list of existing tab stops. To remove all tabN stops, the Set Tabulators command must be given with zero numeric argument.N - The syntax of the Set up Wildcard command has been changed fromN "7" to "7" with zero numeric argument, i.e. 0"7". TheN "7" key has been re-defined to invoke the new Directory command,I which should be much more useful than the Set up Wildcard command.lN Furthermore, the code has been changed such that nearly all dependenciesN from the key definitions have been removed; it should now be possible toN re-assign almost all functions to different keys - if one is willing to' change the documentation accordingly. N These changes and extensions have resulted in an increase of the code andN and, correspondingly, somewhat higher space requirements to hold the source and section files.N The documentation - short guide, reference manual and online Help - has beenN restructured and augmented by lots of additional material, making it' (hopefully) more readable and useful. r< VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x- N VTEDIT V5.1 Page 5S Changes for Version V4.2 N Version V4.2 of VTEDIT fixes some bugs found in previous versions. ApartH from that, there are but a few functional extensions and improvements:N - Formatters now stay selected for a buffer, even if their name does notN correspond to the file type of the buffer. Switching between buffersN will now always re-activate the formatter selected for a buffer, and5 not the formatter determined by the file type.s= - VTEDIT now supports a formatter for Cobol source text.iN - Automatic uppercasing has been extended to include not only lowercaseN alphabetic characters of the American ASCII character set, but also theN lowercase characters of the DEC supplemental character set$ ("multinational" characters).N The main difference between this version of VTEDIT and the previous one isN that VTEDIT now uses the key maps and key map lists supported by VAXTPUN version V1.2. This fact, together with the possibility to install theN section file as open, shared, and header-resident, allows for much faster startup of the editor.S Changes for Version V4.3CN Version V4.3 of VTEDIT permits access to the features of the Language-N Sensitive Editor VAX LSE, if this layered product is available on yourN system. The distribution of this version contains a special section file toN be invoked from VAX LSE; this variant of VTEDIT provides an enhanced editingN interface supporting functions for moving between, expanding, and deletingL placeholders, and for compilation, review, and finding errors in programs.N On systems without VAX LSE, there are just those following changes in the main part of VTEDIT's code: N - On VT200 terminals, a slight change to the definitions of the windowN control keys F7 and F9 (hopefully) reduces operator errors.N Redefinition of these keys (in the procedure vte$standard_keys) willC easily restore the behaviour of previous versions of VTEDIT.UN - The commands to compile and/or execute the text in a range of a bufferN as VAXTPU code (which have been there from the beginning) are finally documented.N - The association of each type of formatter with two key map lists hasN been given up; instead, buffer file types are coupled via VAXTPUN variables to a set of predefined key map lists. This allows for usingN less key map lists, as well as for easier extension of the set of- supported formatters and/or languages. N - The structure of the Help information for VTEDIT has been reorganized.N Using a private Help library instead of retrieving information from theN VAXTPU Help library speeds up access to Help information by orders of magnitude.e iN VTEDIT V5.1 Page 6N - For conformance with the Language-Sensitive Editor, the names of all: system buffers have been changed to begin with '$'.N There is but one source for the VTEDIT section files; compiling this sourceN from LSE and invoking LSE with the resulting section file makes LSE supportN available, while compiling the same source from VAXTPU and invoking VAXTPUN with that section file provides a VTEDIT that is fairly similar to the previous version.sN If VTEDIT is installed with LSE support - which can only be done on a systemV with the Language-Sensitive Editor - the enhanced version is used perN default, while the standard version is still accessible. On systems withoutN the Language-Sensitive Editor, you have no choice but to use good ol' VTEDITN without LSE support (and maybe see in this manual what you can't do without paying a lot of money to DEC).S Changes for Version V4.4oN Version V4.4 of VTEDIT incorporates changes and extensions made necessary orN possible by upgrading from VAX LSE V1.3 to V2.0. For the part of VTEDIT notA using the Language-Sensitive Editor, there is but one addition: N - A new command is provided to switch buffers between read/write and read-only.nN For VTEDIT with LSE support, the following changes and extensions should be noted:N - Buffers may be set to be unmodifiable, thus protecting their contentsN against inadvertent alteration. Read-only buffers are unmodifiable byN default; by explicit command, however, modifications may be allowed for read-only buffers, too.N - There are new commands to fill or align ranges of comments within programs.N - The setting of the right margin for newly created buffers will dependI on the specification for the associated language, if there is one. N - Input files specified without a device/directory in their names may beN read from directories in a previously defined search list which may8 contain a reference to the current CMS library.N - The Next Error and Previous Error commands have been renamed to NextN Step and Previous Step, respectively, in order to be able to use themN from the Source Code Analyzer VAX SCA , too, if that tool is installed on your system.N - Prompting for multiple LSE commands has been changed to execute eachN command as soon as it is typed. (In version V4.3, all commands had toN be entered together, and would be excuted only after the last command qqqqqqqqqqqqqqqqqqqqD DEC/CMS is a layered product available for VAX/VMS and MicroVMS.D VAX SCA is a layered product available for VAX/VMS and MicroVMS. eN VTEDIT V5.1 Page 7N was given.) This change allows easier control of LSE via its commandN line, and makes VTEDIT's LSE command processing more compatible withN that of native VAX LSE. Also, the command to enter LSE command inputN mode has been changed from ! to Ctrl/?, which is somewhat easier to type.fN If the Source Code Analyzer VAX SCA is installed with VAX LSE, it may beN accessed via LSE's command line. Additionally, the Next Step and Previous; Step commands are directed to VAX SCA when in Query Mode. S Changes for Version V4.5vN With version V4.5, some minor changes and extensions have been applied toN both VTEDIT with and without support for the Language Sensitive Editor VAXN LSE. Also, the section file LSE$VTESECINI.TPU$SECTION has been compiled to; be compatible with LSE version V2.1 and SCA version V1.1. N The following changes apply to VTEDIT without support for the Language Sensitive Editor:aN - There is a new command to display a list of all user and systemN buffers. The This File command may be used to select a buffer fromN this list and position to that buffer, just like it can be used to. select a file from a directory listing.N - For formatters with parenthesis highlighting or automatic parenthesisN insertion, these features have been exF VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x2<tended to the set of string delimiter characters.N - Only the last 100 messages are stored in the message buffer.N Previously, there was no such limitation, and the message buffer couldN become quite large, especially if automatic parenthesis highlighting was triggered very often.N - If VTEDIT is installed without LSE support, most of the HelpN information regarding the LSE commands is no longer included in theD Help library thus somewhat reducing the size of that library.N VTEDIT with LSE support now provides better access to the features of the Source Code Analyzer VAX SCA:N - Some often needed SCA commands (Goto Declaration and Find /Symbol+ /Indicated) have been bound to keys.oN - If the cursor is positioned in a query buffer, the Next and PreviousN Placeholder command keys perform the Next and Previous Query commands,F respectively, allowing a rapid scan of previous queries issued.N - As, with SCA, the LSE command line will probably be used quite often,N command recall for LSE commands has been extended to the last 100N commands. Any previous command within these limits may be recalledN using the up and down arrow keys when VTEDIT prompts for an LSE command.a N VTEDIT V5.1 Page 8N - The Show command has been extended to allow access to some LSE and SCA information.tN VTEDIT with LSE support no longer tries to apply its key map lists to allN system buffers, which would be cumbersome in conjunction with the manyN buffers that SCA may create dynamically. Instead, it includes its ownN standard key map as the first key map in LSE's key map listN TPU$KEY_MAP_LIST, thus replacing LSE's key definitions with the VTEDIT key assignments.S Changes for Version V4.6rN Version V4.6 of VTEDIT uses a new section file that is compatible with LSEI version V2.2. Apart from this change, there are but two minor changes:iN - Whenever VTEDIT tries to write an output file as a new version of theN corresponding input file, it checks whether a file with the expectedN version number has been created in the mean time, possibly by anotherN user editing the same file concurrently. If VTEDIT finds that theN expected output file exists already, it asks for confirmation before' writing the next higher version. N - The This File command has been enhanced to allow moving through aN wildcard, editing one file after another, without each time having to< go to the buffer produced by the File Search command.N Apart from that, the procedure used to re-compile VTEDIT has beenN significantly simplified by eliminating the need to split the source file inN order to compile VTEDIT without a high pagefile quota. Compilation shouldN be done as described in section 1.1, using the build file VTEBUILD.TPU,N located in the directory SYS$EXAMPLES. Direct compilation of the sourceN file VTESECINI.TPU will work for TPU V1.2 and LSE V2.2, but compilation withN TPU V2.0 (and higher) will require changes in the source and is notN recommended for this reason. In any case, direct compilation will require a$ pagefile quota of 40000 or higher.N The installation of VTEDIT V4.6 will work with VMS versions V4.4 throughN V4.7, as well as with version V5.0 of VMS. Upgrade to VMS V5.0 will requireN re-installation of VTEDIT, since the format of the section file has changed.N The source of VTEDIT V4.6 is - with a few exceptions, marked by the commentN !V2! in columns 1-4 - compatible with both versions of VAXTPU; it does notF yet use most of the new features provided with VAXTPU V2.0, however.S Changes for Version V4.7aN Version V4.7 of VTEDIT is an intermediate version provided solely forN compatibility with the version V5.0 to be released in the future. For this= reason, there are few functional changes from V4.6 to V4.7:dN - Upon exit, VTEDIT now tries to evaluate the DCL symbol "HERE". IfN successful, the resulting string is written to the terminal, withoutN any changes. Since especially any escape sequences in the result areN output without interpretation, this feature may be used to write a [N VTEDIT V5.1 Page 9N message to the status line of VT300 terminals, or to reset the terminal to a known state.N - Indentation control is now also provided for the DCL formatter, to ease( writing structured DCL in VMS V5.N - A command has been added to display the current and maximum line% numbers of the current buffer.dN - For VAXTPU V2, a new match control construct has been added, allowingN to specify a number of occurrences of a character or match control construct.mN For compatibility with VTEDIT V5.0, which will rely on features ofA VAXTPU V2, some key assignments and defaults have been changed:mN - The command to set a TPU command and execute it has been renamed fromN "Do" to "TPU"; its key assignment has been changed from the Do and0 Ctrl/Z keys to DO and Ctrl/?.N - For VTEDIT with LSE support, the LSE command has been assigned to the< Do key, instead of Do, as in previous versions.N - Failing searches now preserve the current cursor position. If desired,N the old behaviour (that the cursor jumps to the beginning of theN current buffer) may be re-established via the VTINI.TPU startup file described in section 5.1.N - Several less often used commands have changed their name; currently,9 however, this does not mean any functional change.hN These changes will allow to use VTEDIT V4.7 and V5.0 with little changes inN key assignment or other behaviour, which will be necessary since VAXTPU V2N is currently not available for VAX LSE, such that for some time to come, two* versions of VTEDIT may have to co-exist.k Changes and Extensions for Version V5.0 N Version V5.0 is a major rewrite of the VTEDIT editor. This version usesN many of the new features provided with version V2 of VAXTPU, so it is notN compatible with version V1.2 of VAXTPU or version V2.2 of VAX LSE, which is" based on version V1.3 of VAXTPU.N In order to use VTEDIT with VAX LSE until a version of VAX LSE that isN compatible with VAXTPU version V2 is available, this distribution of VTEDITN contains versions V5.0 and V4.7 together, installing the correct versions ofN the section files and the sources according to the environment found atN installation time. If the current version of VMS is V5.1 or higher, theN installation procedure will select version V5.0 of VTEDIT for editor useN without LSE support, and version V4.7 for editor use with LSE support; bothN versions of VTEDIT can co-exist without problems. For VMS versions V4.4 toN V5.0-2, version V4.7 of VTEDIT will be installed for both with LSE support and withouao VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xKt it.h eN VTEDIT V5.1 Page 10N In order to keep the usage differences between both versions of VTEDIT to aN minimum, there are very few functional changes for version V5.0. Most ofN the changes are internal and not seen by the user; they are mainly concernedN with improving the performance by using the new functions of VAXTPU V2 whereN appropriate. In general, VTEDIT version V5.0 is substantially faster thanN version V4.7; for some functions, this speedup is higher than an order of magnitude.D The following functional changes are to be noted for version V5.0:N - Automatic line-wrap now occurs directly at the right margin; that is,N the width of the "hot zone" before the right margin has been reducedN from eight to zero characters. (The previous behaviour can beG re-established via the VTINI.TPU command file, see section 5.1.)dN - The Substitute, Exchange, and Replace commands now allow to referenceN parts of patterns used for searching and to include the contents of Q-registers.eN - The contents of the paste buffer or a Q-register can now be includedN several times, if multiple copies of a text are needed at one location.N - There is now a command to switch VAXTPU to 'no_translate'-mode in orderN to view text containing drawings; to avoid errors in this mode, the; user buffers are temporarily set to be unmodifiable.iN - All commands specifying file or buffer names now accept wildcards; ifN the input cannot be resolved unambiguously, a menu of all namesN matching the wildcard is presented, and you may select a file or buffer from this menu.K These new features are currently not available together with LSE support.aN Version V5.0 of VTEDIT also provides several new types of user interface, in8 addition to the keypad mode used in previous versions:N - When working on a workstation, the mouse can be used to position theN cursor, to scroll, select, and paste text, and to select entries from a menu.N - Each VTEDIT function now corresponds to a textual command which may be@ given in command input mode or after pressing the Do key.N - These textual commands may be read from an indirect command file,> either at editor startup, or during an editing session.N - VTEDIT may now be used in /NODISPLAY mode, e.g. when working from aN hardcopy terminal. In this case, it can be controlled via the textualN commands; additionally, a simple pattern-directed line mode editor is; provided to change the contents of individual lines.tN Mouse support and line mode commands are currently not available togetherN with LSE support; also, VTEDIT with LSE support cannot be started in /NODISPLAY mode. N VTEDIT V5.1 Page 11S Changes for Version V5.1 N With version V5.1 of VTEDIT, the two sources provided with the previousN version have been joined again to form a version containing all features ofN version V5.0 also together with LSE support. There is now but one sourceN file producing two section files, one for VAXTPU, and the optional other oneN for VAX LSE. Apart from this, there are very few functional changes from version V5.0 to V5.1:N - VTEDIT now supports more than two text windows, the maximum number ofN windows being determined by the screen size. For standard ASCII3 terminals, you may use up to 7 text windows.lN - Selection from menus may now be done by typing menu entries orN abbreviations thereof, in addition to the selection via cursor movement" or clicking with the mouse.N - The VTEDIT version with LSE support has a command to switch the Do keyN between LSE and VTEDIT commands; in that version, the default for thisN key is to accept LSE commands. Switching the key to accept VTEDITN commands instead makes the key assigment identical to that of the non- LSE version of VTEDIT.sN There is still the restriction that VTEDIT with LSE support cannot be run inD /NODISPLAY mode, as the LSE use of windows cannot be switched off.N This new version of VTEDIT is no longer compatible with version V1 ofN VAXTPU; it requires as a minimum version V2.2 of VAXTPU and, for thisN reason, will install only on VMS version V5.1 or higher. The minimumN version of VAX LSE supported is V2.3. If a previous version of VAX LSE isN running on a system running VMS version V5.1 or higher, this version ofN VTEDIT will install, but no LSE support will be available. To have LSEN support on such a system, or to install VTEDIT on a system running VMSN version V5.0-2 or earlier, version V5.0 or earlier of VTEDIT has to be installed. pN VTEDIT V5.1 Page 12! 2 INTRODUCTION ; 2.1 Components of VTEDITrN The Video Terminal Editor (called VTEDIT) is an editing interface for theN VAX Text Processing Utility VAXTPU available under VAX/VMS. The VTEDITN interface is an efficient, keypad driven editor allowing multi windowJ editing and providing semi automatic, context dependent text formatting.N The Video Terminal Editor has two parts if installed without support for theL Language-Sensitive Editor, and three parts if installed with such support:N o A set of utility routines allowing access of certain VMS features thatN are not directly available from VAXTPU; these routines are combinedN into a shared image called TPUCALL.EXE, pointed to by the logical name TPU$CALLUSER."N o The keyboard interface, which accepts your typed input and eitherN inserts it into the text buffer or interprets it as an editingN command, is a VAXTPU section file called VTE_SECTION.TPU$SECTION. IfN VTEDIT is invoked from the Language-Sensitive Editor VAX LSE, aN slightly different section file called LSE$VTE_SECTION.TPU$SECTION is used instead.eN o If VTEDIT is installed with LSE support, a (very small) front-endN program, called VTEDIT.EXE, is used to call LSE with the appropriate section file. N This document describes the VTEDIT editing interface of VAXTPU or VAX LSE.N However, VTEDIT is just one of many possible keyboard interfaces. YourN installation may have modified it, and therefore may have its own version of' the scope editing keyboard interface.t. 2.2 Historical NoteN The Video Terminal Editor VTEDIT described in this manual is based on theN VTEDIT.TEC keyboard interface that is a part of the TECO distribution kitN and was once (during Version 2) also an unsupported utility distributed withN the VAX/VMS operating system. (This distribution optionally installs anN updated version of the VTEDIT.TEC macro along with some support files. ThisN macro is provided without any support or documentation, but, for real TECON freaks, it may be interesting to see what could be done before the advent of VAXTPU.)N This new version of VTEDIT implements nearlylk VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x%AZ all of the functions of theN original VTEDIT.TEC, and has been greatly extended to include many features- of VAXTPU, and optionally VAX LSE, such as:1N - support for multi file and multi buffer editing with optional selection* of files and buffers via wildcards;N - support for split screen editing using an optional second window into' the same or another text buffer;s: - selection of insert and overstrike mode of editing; bN VTEDIT V5.1 Page 133 - selection of free and bound cursor movement;o. - many additional editor functions, like:+ + (search and) replace operations, 9 + rectangular cut, paste, and delete operations,h3 + pattern-directed replacement operations, @ + operations to remember and retrieve buffer positions,: + insertion of date, time, file and buffer names,2 + case and position control for searches,7 + case conversion and capitalization of words,s5 + center line and fill paragraph operations,n( + control of tabulator setting,A + operations to replace Tabs with spaces and vice versa,h' + deletion of trailing blanks,i) + sorting of buffers and ranges,rN + wildcard filename search and selection with semi-automatic loading of the next file(s),s< + selection of user and system buffers from a list;N - recognition of all TECO match control constructs and access to VAXTPU# pattern building constructs; N - journaling the editing session in order to protect against loss of work in case of a crash;M - access to the VMS operating system via DCL, Spawn and Attach commands; N - access to VAXTPU with possiblities to extend the VTEDIT editing interface;mN - optional semi automatic, context dependent text formatting providing the following functions:r4 + case conversion / automatic case control,! + automatic indentation,e, + manual correction of indentation, + automatic word wrap,o( + automatic line justification,N + optional automatic insertion of closing parentheses and string delimiters,N + optional highlighting of the matching opening parenthesis and string delimiter;N - no (practical) restrictions as to the maximum size of texts to be edited;N - command driven line mode editing, available also on non-ANSI terminals;) - menu selection of editor commands;e@ - use of the mouse as positioning and command input device; - extensive online help;xN - optional access to the features of the Language-Sensitive Editor VAX$ LSE, providing operations to: N VTEDIT V5.1 Page 14+ + fill and align program comments,a+ + specify a directory search list, / + retrieve sources from a CMS library,t0 + protect buffers against modification,. + move to and/or delete placeholders,> + expand tokens, routines, placeholders, and aliases,6 + define aliases for use in later expansions,- + compile sources and review errors,eD + locate errors and retrieve the corresponding source text,B + load language definitions and environments at run time,7 + access the LSE command interpreter directly;N - optional access to the features of the Source Code Analyzer VAX SCA, providing operations to:I( + find declarations of symbols,E + list positions of variable declarations and/or references,a* + retrieve corresponding sources,7 + access the SCA command interpreter directly.eN As this implementation of VTEDIT is based on compiled VAXTPU code instead ofN interpreted TECO code, the speed of the editor has been increased byN magnitudes and the demands on system resources - with the exception of pageN file quota - have been reduced by similar factors. Experiences gained soN far with the usage of VTEDIT have shown that the speed is much higher thanN that of the EDT editor, and that the consumption of CPU time is much less,N especially when editing large files of thousands of lines. The speed andN CPU demand of VTEDIT seem to be comparable to those of the EVE editor, or toN the Language-Sensitive Editor VAX LSE running in native mode, i.e. with itsI original key definitions and without VTEDIT's additional functionality.cN 2.3 How to Read this Manual< The following conventions are used throughout this manual:V o The text '' or the character '' indicates typing the PF1 keypad key.N o The notation 'Ctrl/x' indicates a control character, which you enterH by holding down the Ctrl key and typing the indicated character.. o Items in square brackets are optional.N o The letter 'n' indicates a numeric argument. You enter a numericN argument by typing , an optional '-' to indicate a negativeN value, followed by a series of digits. The short sequence - isN equivalent to -1. The first non-numeric keystroke you typeN after entering a numeric argument should be an editing function whichN takes an argument. Any other keystroke will cause the editor toN discard the number. (It is also possible for a numeric argument to beN an expression using standard operators. This is discussed later inN the manual.) Unless otherwise stated, the editor uses a default value. of 1 if you omit an optional argument. AN VTEDIT V5.1 Page 15N In the section describing the individual commands of VTEDIT, commandsV taking an optional numeric argument are marked with '*', and commandsN taking a mandatory numeric argument (which must not be omitted) are marked with '#'.N o Commands that operate on a range of text will do so whenever a selectP range is active; these commands are marked with '`' in the description section.N o Commands that operate on a rectangular region, i.e. a piece of textP delimited by horizontal and vertical borders, are marked with 'a' in the description section.N o Commands that require window support and, for this reason, cannot beV used in /NODISPLAY mode, are marked with '' in the description section.V o The letter 'q' indicates any alphabetic Q-register name. Q-registersN are buffers which may contain either an arbitrary amount of text, or aN numeric value, or both. There are 26 Q-registers named A to Z. IfN the syntax of the editor requires a Q-register name and you type anyN non-alphabetic character, VTEDIT displays an error message and ignores the command.Y 2.4 Invoking the Video Terminal EditoriG The Video Terminal Editor VTEDIT is invoked from DCL via the command:i $ VTEDIT [file-spec]4 Parameters file-specdN Specifies the file to be created or edited using thK VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xie VTEDIT editingN interface. If the file you specify does not exist, the VTEDIT interfaceN provides a buffer in which to create the file. If you write out theN contents of the buffer VAXTPU will create the file in the appropriate directory.N If you do not provide a file specification as a parameter when you invokeN VAXTPU, the VTEDIT interface will try to find out which file was editedN last, and re-edit that file. If VTEDIT's memory is empty, VTEDIT willN create an empty buffer named '$Main' having no output file name associated with it.N VAXTPU does not provide a default file type when creating files; if you doN not include a file type, it is null. The file must be a disk file on a Files-11 formatted volume.N You may use wildcards to specify the file to be edited. If there is exactlyN one file matching the given wildcard, this file is edited. If there areN several files matching, VTEDIT displays a list of their names and lets youN select one of the files from this list. (This feature is not fullyN available if VTEDIT is invoked with LSE support; in this case, the first dN VTEDIT V5.1 Page 16N file matching the wildcard is selected always, even if there are several files matching.)@ Command Qualifiers- /COMMAND[=command-file] (D)a /NOCOMMANDN Determines whether VTEDIT reads a user-written VAXTPU source file forN initialization purposes. The default file type for command files is TPU.N By default, VTEDIT tries to read a file called VTE$COMMAND.TPU from yourN default directory. You can use a file specification after the /COMMANDN qualifier or define the logical name VTE$COMMAND to point to a command file other than the default one. N If VTEDIT is invoked with LSE support, the logical name LSE$COMMAND is anN alternative to the /COMMAND command qualifier. If /COMMAND or /NOCOMMANDN does not appear on the command line, VTEDIT attempts to translate theN logical name LSE$COMMAND. If it has a translation, that value is used in/ the same way as the /COMMAND qualifier value.AN To prevent VAXTPU from processing a command file, use the /NOCOMMANDN qualifier. When you are not using a command file, specifying /NOCOMMANDF decreases startup time by eliminating the search for a command file. /CREATE (D)m /NOCREATE N Controls whether VAXTPU creates a new file when the specified input file isN not found. The VTEDIT interface is responsible for processing thisN qualifier. By default, the VTEDIT interface provides a buffer in which toN create the file. If you write out the contents of the buffer (eitherN explicitly or by exiting from the editor), VAXTPU will create a new file forN the input file specification. When you use the /NOCREATE qualifier andN enter a file specification that does not exist, VTEDIT returns you to the DCL command level as follows:o" $ VTEDIT /NOCREATE NEWFILE.DATM (VTEDIT clears the screen and displays a message similar to the following:)u8 Input file does not exist: DISK$:[USER]NEWFILE.DAT; $ # /CURRENT_FILE (D)  /NOCURRENT_FILE N If no input file is specified on the command line, /CURRENT_FILE specifiesN that the name and type of the file that was edited last be used as the inputN file. If an incomplete file specification is specified on the command lineN (that is, only a file name or a file type), /CURRENT_FILE specifies that theN name or the type of the previously edited file be used to complete the fileN specification. If /NOCURRENT_FILE is specified, VTEDIT will not use itsN memory to resolve an input file specification. /CURRENT_FILE is the default. aN VTEDIT V5.1 Page 17N This qualifier is only valid if VTEDIT has been installed with LSE supportA and if the qualifier /NOLSE is not present on the command line.f1 /DISPLAY[=display-filespec] (D)  /NODISPLAYN Determines whether the editing session is being run on a supported terminalN and is using terminal functions, such as the screen display and keyboard.N By default, sessions are run with a screen management file calledN TPU$CCTSHR.EXE, for ANSI terminals. If VTEDIT is used with LSE support, theN default screen management file is LSE$CCTSHR.EXE. For more informationN about VAXTPU-supported terminals, see the VAX Text Processing Utility Manual. N VAXTPU expects sessions to be run from a supported terminal unless youN sepecify /NODISPLAY. If an unsupported input device is used when /DISPLAYN is active, VAXTPU returns an error message and terminates the session. UseN /NODISPLAY when you want to run VTEDIT in batch mode, or when you are usingN an unsupported terminal - that is, without using the screen display andN keyboard functions. In this case, window and screen manipulation functions are not supported.N The qualifier /NODISPLAY is not supported if VTEDIT is invoked with LSEN support; this qualifier must be combined with the qualifier /NOLSE if VTEDIT& has been installed with LSE support.% /ENVIRONMENT=file-spec-listy$ /NOENVIRONMENT (D)N Specifies the name of one or more binary environment files containing EditorN language, token, placeholder, or alias definitions. The Editor reads in. these definitions as part of Editor startup.N The file-spec-list is either a single file-spec or a list of file-specsN separated by commas and enclosed in parentheses. If definitions orN deletions of items appear in more than one file, the definition thatN appeared in the first listed file takes precedence. SYS$LIBRARY is the4 default device, and the default file type is .ENV.N The logical name LSE$ENVIRONMENT is an alternative to the /ENVIRONMENTN qualifier. If /ENVIRONMENT or /NOENVIRONMENT is not used, the Editor willN attempt to translate the logical name LSE$ENVIRONMENT. If the logical nameN has translations, the values are used in the same way as the /ENVIRONMENTN qualifier values. The Editor translates the first ten indices of the logical name LSE$ENVIRONMENT.eN This qualifier is only valid if VTEDIT has been installed with LSE supportA and if the qualifier /NOLSE is not present on the command line.d# /INITIALIZATION=file-spect' /NOINITIALIZATION (D) N Determines whether VTEDIT reads a user-written initialization fileN containing a sequence of VTEDIT commands to be executed as part of EditorN startup. The default file type for initialization files is VTE. ByN default, VTEDIT tries to read a file called VTE$INIT.VTE from your defaultN directory. You can use a file specification after the /INITIALIZATIONN qualifier or define the logical name VTE$INIT to point to a initialization" file other than the default one. eN VTEDIT V5.1 Page 18N If VTEDIT is invoked with LSE support, the startup commands that VTEDITN expects are LSE commands and not VTEDIT commands. Also, the logical nameN LS =  VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xXxE$INITIALIZATION is an alternative to the /INITIALIZATION qualifier. IfN /INITIALIZATION or /NOINITIALIZATION is not used, the Editor will attempt toN translate the logical name LSE$INITIALIZATION. If the logical name has aN translation, that value is used in the same way as the /INITIALIZATION qualifier value.- /JOURNAL[=journal-file] (D)  /NOJOURNALN Determines whether VAXTPU keeps a journal file of your editing session soN that you can recover from an interrupted session. The VTEDIT interface isN responsible for processing this qualifier. By default, the VTEDIT interfaceN maintains a journal file that has the same name as the input file and a fileN type of TJL. If you invoke VAXTPU without a file specification, the defaultN name for the journal file is TPU.TJL. Use a full file specification withJ the /JOURNAL qualifier to specify a different name for the journal file.N If you are editing a file from another directory and want the journal fileN to be located in that directory, you must use the /JOURNAL qualifier with aN file specification that includes the directory name. Otherwise, VAXTPUN creates the journal file in the default directory. To prevent VAXTPU fromN keeping a journal file for your editing session, use the /NOJOURNAL qualifier.N See the /RECOVER qualifier for information on how to have VAXTPU process the' commands contained in a journal file.D /LANGUAGE=languageN Sets the language for the current input file, overriding the language* indicated by the input file's file type.N This qualifier is only valid if VTEDIT has been installed with LSE supportA and if the qualifier /NOLSE is not present on the command line.  /LSE /NOLSEN Controls whether VTEDIT loads the Language-Sensitive Editor VAX LSE or not.N The Language-Sensitive Editor is a multi-language advanced text editorN specifically designed for software development, available as a layeredN product for VMS. If VTEDIT is installed with LSE support, LSE will beN loaded together with VTEDIT, unless this is explicitly inhibited by" specifying the /NOLSE qualifier.D Use of this Qualifier requires presence of VAX LSE on your system. /MODIFYe /NOMODIFYaN Specifies whether the buffer created for the input file is modifiable orN unmodifiable. If you specify the /MODIFY qualifier, the VTEDIT commandN creates a modifiable buffer. If you specify the /NOMODIFY qualifier, theN VTEDIT command creates an unmodifiable buffer. If you do not specify eitherN qualifier, VTEDIT determines the buffer's modifiable status from theN read-only/write setting. By default, a read-only buffer is unmodifiable and a write buffer is modifiable.  eN VTEDIT V5.1 Page 19) /OUTPUT=output-file (D)t /NOOUTPUTcN Determines whether VAXTPU creates an output file at the end of your editingN session. The VTEDIT interface is responsible for processing this qualifier.N By default, the VTEDIT interface uses the same file specification for bothN the input file and the output file. The output file has a version numberN one higher than the highest existing version of the input file. Use a fileN specification with the /OUTPUT qualifier to specify a file name that isN different from the input file. You can include directory information asM part of your output file specification to send output to another directory.mN The /NOOUTPUT qualifier suppresses the creation of an output file for theN main buffer, but not the creation of a journal file. If you invoke VAXTPUN with /NOOUTPUT and then decide you want an output file, use one of theN output commands in the VTEDIT interface before you end the editing session/ to write out the contents of the main buffer.t /READ_ONLY" /NOREAD_ONLY (D)N Determines whether VAXTPU keeps a journal file and creates an output fileN from the contents of the main buffer. With the default /NOREAD_ONLY, VAXTPUN maintains a journal file and creates an output file from the contents of the! main buffer if you modified it.ON Using the /READ_ONLY qualifier is like using the /NOJOURNAL qualifier forN the editing session and the /NOOUTPUT qualifier for all buffers. When youN specify /READ_ONLY, VAXTPU does not maintain a journal file for your editingN session, and the NO_WRITE attribute is set for all user buffers. When aN buffer is set to NO_WRITE, the contents of the buffer will not be writtenN out when you leave VTEDIT. Both the EXIT and QUIT built-in procedures willN end the editing session without creating a new file from the contents of the+ user buffers (even if you modified them).aN Use /READ_ONLY when you are searching a file. If you change your mind andN want to save any edits you make to the file, use the Write Text to OutputN File command to write the currently selected range to an external file.9 Remember, however, that you do not have a journal file.  /RECOVER /NORECOVER (D)N Determines whether VAXTPU reads a journal file at the start of an editing& session. The default is /NORECOVER.N When you use the /RECOVER qualifier, VAXTPU reads the appropriate journalN file and processes whatever commands it contains. If the journal file typeN is not TJL or if the file name is not the same as the input file name, youN must include both the /JOURNAL=journal-file qualifier and the /RECOVER qualifier.N When you are recovering a session, all files must be in the same state asN they were at the start of the editing session being recovered. All terminalN characteristics must also be in the same state as they were at the start ofN the editing session being recovered. Check especially the following terminal characteristics:r aN VTEDIT V5.1 Page 20 1. Device_Type 2. Edit_mode 3. Eightbits 4. Pageo 5. WidthN Furthermore, all initialization and environment files used in the original, run must be used in the recovery run, too.' /START_POSITION=(Line,Column) + /START_POSITION=(1,1) (D)tN Specifies the starting line and column in the file. If a file specificationN is not specified, the last specification invoked by the editor is used. TheN cursor is positioned at the place corresponding to the cursor's location at1 the time the last editor-invoked file was left.t' /SYSTEM_ENVIRONMENT=file-speca+ /NOSYSTEM_ENVIRONMENT (D)l4 /SYSTEM_ENVIRONMENT=LSE$SYSTEM_ENVIRONMENTN Specifies the name of a system environment file. The difference betweenN files specified by this qualifier and those specified by a /ENVIRONMENTN qualifier is: Definitions derived from this qualifier cannot be saved by a Save Environment LSE command.eN This qualifier is only valid if VTEDIT has been installed with LSE supportA and if the qualifier /NOLSE is not present on the command line.  /WRITE (D) /NOWRITEN Specifies that the file on the VTEDIT command line be put into a writeableN modifiable buffer. The /NOWRITE qualifier specifies that the file on theA VT ,U VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x-EDIT command line be put into a readonly unmodifiable buffer.2 MemoryN VTEDIT automatically remembers the file being edited. If you invoke VTEDITN without specifying a file-spec, VTEDIT will read its memory and re-edit the last edited file. N VTEDIT's memory is controlled by the logical name TPU$MEMORY. If theN logical name TPU$MEMORY translates to a string of the form $filespec, VTEDITN uses the specified file for its memory. Otherwise, VTEDIT uses the logicalN name itself as the memory. On exiting, the edited file's name is stored inN a process logical name called TPU$MEMORY, or, if this name translates to aN string of the form $filespec, the edited file's name is stored in the specified file.sN For compatibility with previous, TECO-based releases of VTEDIT, the logicalN name TEC$MEMORY is used instead of TPU$MEMORY, if TPU$MEMORY translates to the string TEC$MEMORY.N If the Language-Sensitive Editor is installed and has set its own fileN memory, VTEDIT uses this memory instead of its own memory. In this case,, VTEDIT updates both memories upon exiting. eN VTEDIT V5.1 Page 213 Examplesa- 1. $ VTEDIT/OUTPUT=NEWFILE.TXT OLDFILE.TXT N This VTEDIT command invokes VAXTPU to edit the file OLDFILE.TXT using theN section file SYS$LIBRARY:VTE_SECTION.TPU$SECTION that creates the VTEDITN editing interface. VAXTPU then tries to read the command fileN VTE$COMMAND.TPU in your default directory. If you have not defined theN logical name VTE$COMMAND to point to a user-written command file, and if youN do not have a file named VTE$COMMAND.TPU in your default directory, VAXTPUN does not read a command file. If you modify the main buffer and use theL Exit command to end the session, the edited file has the name NEWFILE.TXT. 2. $ VTEDIT OLDFILE.TXTN This VTEDIT command invokes VAXTPU with the VTEDIT editing interface.N VAXTPU makes a copy of the file OLDFILE.TXT available for editing. When youN leave the editing session, VAXTPU creates a new version of the file with aN version number one higher than the highest existing version number for that file.hN If the Language-Sensitive Editor is present and if VTEDIT has been installedN with LSE support, VTEDIT invokes the Language-Sensitive Editor, providing an enhanced command interface. " 3. $ VTEDIT/RECOVER OLDFILE.TXTN This VTEDIT command invokes VAXTPU with the VTEDIT editing interface toN recover from an abnormal exit during a previous editing session. VAXTPUN opens the file OLDFILE.TXT, and then processes the journal file OLDFILE.TJL.N Once the journal file has been processed, you can resume interactive editing. 4. $ VTEDIT/NOLSE OLDFILE.TXTN This command suppresses the automatic loading of the Language-SensitiveN Editor VAX LSE, if VTEDIT has been installed with LSE support, and insteadN uses a version of VTEDIT that is identical to VTEDIT on systems without VAXN LSE. VTEDIT makes a copy of the file OLDFILE.TXT available for editing.N When you leave the editing session, VAXTPU creates a new version of the fileN with a version number one higher than the highest existing version number for that file.1 5. $ VTEDIT/ENVIRONMENT=LOCAL/LANGUAGE=FORTRAN[N This command, which requires presence of the Language-Sensitive Editor VAXN LSE, invokes VTEDIT with the LSE enhanced editing interface. VTEDIT opensN the file that was edited using LSE with VTEDIT or native LSE, whicheverN occured most recently, and makes language support for the Fortran languageN available for editing. VTEDIT uses a local environment definition stored in! the file SYS$LIBRARY:LOCAL.ENV. 4 WildcardsN You may use a wildcard to specify the file VTEDIT should read and edit. IfN this wildcard unambiguously identifies a file, VTEDIT opens that file justN as if the resulting filespec had been given instead of the wildcard. If no iN VTEDIT V5.1 Page 22N filespec matches the wildcard, VTEDIT creates an empty buffer whose name is? the wildcard with any asterisks and/or percent signs removed.dN If, on the other hand, several files match the wildcard given, VTEDITN displays a menu containing all these filenames in the lower half of theN screen, and positions the cursor on the first filename. Using the arrowN keys and/or the Next Screen and Prev Screen keys, you may position to theN file that you wish to edit. Pressing the Return or the Select key selectsN that file for editing; VTEDIT then removes the menu and reads the selectedN file. On a workstation, you may also select the file by pointing to it with% the mouse and pressing a mouse key.dN If VTEDIT is invoked with with LSE support and several files are matchingN the wildcard given, the first file matching the wildcard is always selected;J LSE gives no indication that there are more files matching the wildcard.N Using a wildcard to select VTEDIT's input file also sets up a wildcardN search. So, the This File command ( PF3) will present additionalN files matching the wildcard and will ask whether these files are to beN edited, too. This allows editing several or all files matching a givenN wildcard in one editing session, without having to worry what the name of the next file could be.rO 2.5 Interpreting the Terminal ScreenRN While you are running the Video Terminal Editor, your terminal screenN displays text in one or two text windows. These windows into your bufferN always include the current line (the line containing the text pointer). TheN location of the text pointer within the buffer is indicated by theN terminal's cursor. All characters that you type on the keyboard that areN not commands to VTEDIT are immediately inserted into the text buffer at the; current pointer position and are displayed on the screen.m9 Certain other special symbols can appear on the screen: N o The text "[End of File]" indicates the end of your text buffer. The4 end of most system buffers is not indicated.P o A diamond symbol (`) indicates that the current line of text is tooN long to fit on the current line of the screen. The remainder of theN text is not displayed, but the diamond symbol appears at the end ofN the line to remind you that there are characters which cannot beN displayed. You can control the number of characters that appear onA each line by using the Set Right Margin command (Ctrl/V).DP o An 'c' symbol indicates a form feed character, i.e. a page break.A Vertical Tabulator characters are shown as 'i' symbols.tR o Carriage Return and Linefeed characters are displayed as 'd' or 'e'N symbols, respectively, if they appear within a record. RecordN boundaries are not indicated; instead, each record starts on a separate line.N o An inverse question mark (), or, on VT100 terminals, an errorP indicator (a), shows the presence of any other non-printing ch /y)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xހ+ 6_( D]\dq fJUg8r/<9WQ7iJ-;u#nv)H1@h%~$(.K[Gw:xM<-h KOv:&tydh%|bi: Yl(fn=BS~"p2OII5_q`Q]/aR/O.^ OY0Ctkxf|>h4.%u)X6gfpzwbuy@J~+~@zu(*dd_[kI`klIiO-o{> ~3_S"Qef|I1 "2nf Db AKB XWQr%=XVQZ2 eg~q] 9Z}F<=pnaCf7Fl,(q-6tRHgDs+T$6v9=Z N75h7ikHl;JO(Gn{tubQ!9UJ|&&{<,IZK!ZXY6z(u5-!?uwvoHs$@M?bcTC2HF=z Q!0$X w7z!5^}u'#=4UUxTCQQQWIΛKQ4XJcYV8,d,+xhpk B$h733'"-GLr ai E?9D(pb&ok(F,}nExS4v7]cPZ@c^AuMYO#z2|w?3qRWV%+{l VKVIZlj' 9# K4dEj^vn4Z2r~C '-)[0%5C0q 8)`Nt:O,u*~W'Yau[Nm S[C'MDiP8,$b:AfAw_wwz(eY\I)wkbMY1`@BRI@ Ob&"BWH,.e6jHW+Zi}0>Yor`My{w4)+b{&jeukq+}%u=.IA8B^3*4s=KZU-M]&Sl0vcSo):mXBN@goD CHfDULLL h fW}|ZHJSc:@v:'>FCD Uh_sn$mNoYh%@q,M({Ao`\!lYx$B]{*Tf SAPH[ ]DipETX[ k3&Ugw ^U OzdA*SnS/AKG Q~*MJi WNs/Hrl'`4*l\ Y5i..9F QJ6RY;@yoq@{DT[ Q=r>g\{0? E6]mlm~5>QW1AvSrmU\mzVAx=v|"Be  5,'I%rSb^fcpW %p~ l UpgM[)06:IXf&7Tx$X!QDI# SHtA-lc.Y-H|.54_o]X+fl5JJ4P4leXhl5edp`Ds[ cwb aZ\U\!4~m^a%p J7.HJ.0%nx%rlrHKh CM^PM-1\Nwu-fq'0i<#S1%(F\G .^"x6R<[u6icdy)+k 9rq+^ ogQp:4Q>,q:E1rs s*OU 2uv6.m`t3_n QqZ~w;f5UiA9l#Q.=-@\[$ <+d7%..$"ohZK[Hu9u+uA82 CW k7zW$#/;q!FnR`PzDr&4g7UNg]^a8]1X yQT3g^7K^(J88sAV7ls!-!-"Ux^uL,_j,ec mwn=}/9@gptq}00 QS_^3bC*..0 FK*~)oZ/D""1GB_yb9Z*emovf4<>Q@'e6,/;Vw!Qz*cpF7?K/.p4mW^?^TF GV^ViWkuFJe+Uj3c!&Rx)U3 }+YmS_uah[9W3#0JW5$.}Bqu9p" m7MZD{1-$4j{nf w6vf[qJM&7*DW{Uh#KV~}xX7aT1QdJ]|+q8dmm;V@ (L]p5!#38$><[C>83(5c;v\iasorCt W TnJ$Y}1P&o9>.P./+Ex+]iBZ;cIW{ e Ba&dDI1m"RL^WcP k6}(z]uf,aT5n$g# +5#zP OEZ^ v T@N@S J!$2:z!yc5EBX3"dB6VO/$/&9@YpY{srpNS@F1>3Q+m lyt02<\]|ZKEYw9fq~A3#GCLBg{jLH< ~k9>>g7emr'=d?6fq^R`Y8HL{V1IdNH R[Iv;3}oOJ=!}XFSKG ZNG\rj{:~mfXEI_]uL{Wow8'w23@~D_0n>`OUsh'5 0VTU m?b@ ;/C =\<#$R$YVQk\F LcSK@q#iJ6"`!F><:qpp>Q@P6kf #g 2Ewy%8rT~ }6\e[Ylmf[}es3u&A!w>%t sB0-gW$h F z-, "N|>5D;M}g['d1.R SlFJXX+XOInrI\&$iJ.8fV,5N*LlU>_\a+Lo8+FTWQt[PwS<C{5vI\X@mxbwLHuWA p\V%dZ&g^,KBf#Q-&C9fpDu?I$W?Qx 9ayV@c=:V1.Jo;/mjLh)pEh &\1%|_U#bk>|Kii $ x)^Q(/>mpuH4QqvET KI}zQInj_Hg8LN7XNx~jVN*mHEBS `- vZ$D-J 4 MW + >UYYIIM2X\hMM4Z-l:=Ijx|wU- Em~uJwZ= Ix"{}Z9d.\l 0AZ9?!S5:gWIDD4Q(fv|=u&^?=YD)_Mp&u `iw|c3Y,-rFm,\+ EZgFMew|J\iq[;Y*+JXA`v@(+( N2X3z#W,JWZFuso#}J5VkMaCb7haF|e}?HG +P /z{x?> @=QpYd.{; Q"JJnl:.4 /ld:*;^_ATIF0WWRx[19\=iq*Ml[5A2F{3v7~za~NY'vH;=\41U^c!aVt 2)m&_dm%'} .PMns !Sq?74Oi[=YCz1'Dny5 JD,jzzl|~zoJFPr9x O [ZcbXl,%W4F~ko\ZEXg--+fDFT%V @8. />K3%%%%f'V +l~!zM]wq|A}'4(j$cuT* N aDI \D'Bf8X!payUFY'V[eo~ybBT@S I)7HZ F[$n4>M  iW.1@SKd-Vav3zCl8^LLF;_|qK.5S)Q")~ v3]4 ?ww1&4UY<'s/V^Czj`O5C)wV[,N@ -$f?xIK-P8wx:^kq-{4lXZXX9k9?jr, #Q?)?!|5RCfVPlp)fv|jg*[?9r^8lOOHP}T',5d:'uVMaYR2V vYe)M3TNOi2e4?la=p? qwy/E eU|s]2Tl:%8{t#qiiF)pK%'bA.B2kUr}7<"4"kp sRY5e) 2:XuF<3nD ga^6Y:C[AX.beTy-)0;DU ,vR1V><:QEQKI.wf>1|eo{TYK+n*dW b-Z"(iPZ>tn3**3jw%bQiw'%CZkl  :JQ$EE+q~,udRtX OhlZ:hb"zC^q JI@}CUa9pn).<7ux=fg' ?xFzG9+L6ho Um ? `n`LB ]J$m]S n sGR2V-7+)5>.1H !q\AUgEC'v$ HXv}VTp4m9[ejX1 ms^auk}o2)l(&?i =FQP ITDkFftUnvu- &!9(f)-G >*%C &9+*sCPYN3&(`a'ezax!ESq0_,Zf|9q,X _!buF866 Ap~v=;nE\uEED@+hrk%_jeh_A %ON Q+h,E Z5<9uR(UF?.V[\syY) \ |E*"V CRq1)ndcAIjbfI [fP_b7>+lPk$?7hoGd.b13NX WEsj4ygN:9ja_d&[;BP o]K4^@:,u~^h\S,MjHA892LUfDD EQX FP|rxbN& SiLgZ]howO7=IFhCu#rvdUa$J'h__^:,y31{?e>Lh^ 8-8gn"k>eJ7vr8[ AMjDHcf7\@|kYU%euCTyM ^OKXDxVp?v>0A$7Kj]$<123&#1SQ >PZ5]K{<956r2cqA=ICp_W3$4vy#-TDrM7QK{x^Rc}( 1$a+4IWL4R&KqA$&Pt5z3-|H)N$~3wAYV.ddkr x9 L8*?5o* as>8%[z!VQuRg{wziTAH;U3'rvJ e7?b !M}W.]w4 @;55gf2L`u}.yj7U4 D}`@WELfI6p918weTPFN BMK(i*:LV;4d2J8xo7j$"X 8U1+ fIY=3X?c e,nHk&3p,{c=ZthX`:C5L J>PEX:Ucw6HMrh[wIDbk$_~>rk< Z4G{ zznjNt5LgFeNtT.2~% +II XM$qFA*'=;V=uZhn" BEEoJtI/ 7OFd\H }>n*4t)-J.hG~c@'IJ S/sM, ( y zT/gfUh$'N  `:jw?8x. f{m- qCD "{*0+>R^94xCiB"y9tqAOi}/PdK4FG;!<%$h.Y6E2sof9@1JNQK%]]{\ ,W'mt*I)[P&oZ~71=vrdCz=8Ni$'^kt}h 4?0b=z/ft@ASg^e&t!dIt:e9lNi$%jxa~][A(OR cve16L42elCZYZY7'^9s+2$%y6a:1"TE_&_\{\8eUk}qY2Q@[?S$brhnj\nlI:$bhg`E]!P.Xnh2W=2wPXCIW;li \9AfotOuI n!V'k5=bN&ug{~#)o>vI]qk*l{91JVc_p? Ah" mpOo8XMl&QQ|K3 LTZ]Lc~gOq5Ntx/B jp_b%Ug&n`:MBa)k)Aqf)>/Q0.VVN1?s@)l2!.1QOF w2Rn1wFgLpVVG_g r6IRlSQ=8LU)U8T7 `\gA.V>L[Y ix4 |ImL(OU\NF& < `bF\ [\\:; ^`2 9}\i'\XeS *9#'WX:* G&Z*gJu%r w8aK!v*F:Fvo(AnAF+`wg1G(KEKZ(<]0$cV9'L+$y'zgf\YyWS[^IQK1#-nqI3v:tZ  hk4R]-YaZMoc%QV2'tXx9RNEY48CjdMY_VGcJsluuw-<= &=_Z QB]V66C Searching Text . . . . . . . . . . . . . . . . 69C Match Control Characters . . . . . . . . . . . 71C @ $jE` VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xf'aracter. bN VTEDIT V5.1 Page 23N o At the end of each of the text windows, a status line, displayed inN reverse video, shows the name of the text buffer associated with theN window, and possibly one or more of the following pieces of information:N - If the buffer associated with the window is a system bufferN (defined by VTEDIT, not by the user), the word 'System' appears asN the first word in the status line, and the status line is set toN increased intensity. In this case, the status line does not+ contain the items listed below.sN - If free cursor movement has been selected, the word 'Free' appearsN after the buffer name; otherwise, i.e. if bound cursor movementN has been selected, the corresponding place in the status line is left blank.iN - If searches are set to be case-sensitive, the word 'Exact' is) displayed in the status line.nN - Next, the mode ('Insert' or 'Overstrike') of this buffer is shown,* if the buffer can be modified.N - If VTEDIT is invoked from the Language-Sensitive Editor VAX LSE,V an asterisk (*) is displayed in the status line. If the Do key isN bound to VTEDIT line mode commands instead of LSE commands, theV asterisk is replaced by a hash sign (#). Left to this asteriskN (or hash), the characters 'LSE' are displayed if the keys forN Language-Sensitive Editing have been switched from their VTEDITN meaning to the key definitions that VAX LSE uses in its EDT-likeN mode. For example, the Ctrl/E key is bound to the Expand TokenN command in this case, instead of having its original VTEDIT meaning.N - If, on failing searches, the current cursor position will beV preserved, the symbol '><' appears in the status line. If, on theN other hand, failing searches are selected to position the cursorV to the beginning of the current buffer, the symbol '^^' is displayed instead.N - Finally, if a formatter is activated or has been selected for thisN buffer, its name is displayed as the last item in the status line.^ The name of the formatter is displayed in brackets ([...]), if it" is currently disabled.N - If the current buffer has been set to read-only, the status lineN will be underlined to remember you that any edits not explicitly saved will be lost. N VTEDIT will display any text between the cursor and the selected bufferN location (see the Start Selection command) in reverse video to highlight theN select range. Rectangular regions (activated by the Select Corner command)N are shown by displaying the character at one corner in reverse video; theN region is defined to be the rectangle having this character and the1 character under the cursor as opposite corners.ON Permanent marks inserted in a buffer for later retrieval of one or moreN positions are highlighted by displaying the character next to the mark inN reverse video, if there is such a character (i.e. if the mark is not set at N VTEDIT V5.1 Page 24 the end of a line).sN A feature of the scope driver which allows you to view the exact contents ofN your text buffer is called 'graphic-Tabs' mode. When graphic-Tabs mode isN turned on, all Tab characters are visible on the screen as special graphic symbols:X TAB appears as a 'b' symbol. The spacing after the Tab, which isN normally blank space on the screen that does not correspondN to any characters in the text, is shown as a series of% centered dots ().eN By means of the Display Graphics command, the text in your buffer may beN displayed with interpretation of any escape and control sequences, which mayN be useful for viewing text with drawings (like the keypad diagrams in thisN manual) and/or bolding/underlining. As TPU counts the characters in theN control sequences when determining the placement of the cursor, but theseN characters do not occupy screen positions, the cursor may be displayed toN the right of its true location when a window is in this mode. For thisV reason, it is not advisable to make any changes to the text as long as theN current window is in this mode. In order to prevent such errors, VTEDITN sets all user buffers to be unmodifiable, as long as the windows are in thisN mode. You may return to normal editing by (repeatedly) typing the Control3 Screen (Ctrl/V) and/or Refresh (Ctrl/W) commands.  eN VTEDIT V5.1 Page 25 3 CONCEPTSs 3.1 Buffers= User BuffersdN Buffers are storage areas that contain the text(s) to be edited. Some ofN these buffers are pre-defined by VTEDIT and serve special purposes; they areN called system buffers. The remaining buffers are under the user's control,N and are called user buffers. Normally, you will have at least one userN buffer, but you may create additional buffers at any time. The number ofN buffers concurrently available for editing is (virtually) not limited, butN too large a number of buffers will increase your demand of page file space, and may cause confusion, too. N Buffer names consist of the name and type parts of file names; each of theseN two parts is optional. There are basically three ways to create a user buffer:tN - When you invoke VTEDIT to edit an existing file, VTEDIT creates aN buffer from the file-spec parameter of the VTEDIT command; the name ofN this buffer consists of the name and type parts of the file-spec. TheN file is read into this buffer and is available for editing. If theN specified file does not exist, VTEDIT issues a warning message and, ifN you did not use the qualifier /NOCREATE, creates an empty buffer withN that name. If no file-spec is specified with the VTEDIT command,4 VTEDIT creates an empty buffer named '$Main'.N - The Read File and This File commands create buffers named after theN specified files, too. The corresonding files are automatically readN into those buffers, if they exist; otherwise, the buffers are createdN as empty buffers. On the other hand, the Include File and Append File@ commands read the specified file into the current buffer.N - Finally, the Buffer command creates a new (empty) buffer. You may useI buffers created via this command just like any other user buffers. N If you did not invoke VTEDIT with the qualifier /READ_ONLY, all user buffersN have an output file associated with them, as long as they are not changed toN be read-only. For buffers created from a file, the output file will be theN next higher version of the input file, except for the first buffer whoseN output file may be selecte Ry VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xd explicitly via the /OUTPUT qualifier (orN suppressed via the /NOOUTPUT qualifier). For buffers created via the BufferN command, the associated output file is a file in the current directory, with) the name of the buffer as its filename.dN When you exit VTEDIT, the current buffer will be written to its associatedN output file if it has been modified and is not empty. For all other non-N empty user buffers that have been modified and are not set to be read-only,N VTEDIT will ask whether these buffers should be written to their assoiatedN output files. If, on the other hand, VTEDIT was invoked with the qualifierN /READ_ONLY, there are no associated output files, and, correspondingly, noN output and no questions will occur. Leaving VTEDIT via the Quit (instead ofN the Exit) command will discard your edits, too, after asking for confirmation.d iN VTEDIT V5.1 Page 26N Buffers may be protected against any modification. Any read-only buffersN are protected by default, but may be set to be modifiable. If VTEDIT isN used with the Language-Sensitive Editor, a language may be associated withN each buffer, selected by the file type of that buffer by default. TheN language, in turn, determines the setting of the right margin, when the buffer is first created.N There is a command to delete the current buffer; to prevent serious errors,N VTEDIT asks for confirmation if the current buffer has been modified and isN neither empty nor read-only. Writing out the contents of a user buffer willN optionally delete that buffer, too. After deleting the current buffer,N another user buffer is made current, or, if you deleted the last user3 buffer, an empty buffer named '$Main' is created.sN You can make any user buffer current by giving its name in reponse to theN prompt from the Buffer command. Furthermore, the Next Buffer command allowsN you to cycle through all user buffers without having to know their names.N The List Buffers command displays a list of all buffers currently used byN VTEDIT. This buffer list may be used to select one of the buffers via the9 This File command, including any of the system buffers. > System BuffersN VTEDIT uses several pre-defined system buffers, whose names start with the; character '$'; they are automatically created at startup. N - The Buffer '$Messages' contains the last (up to 100) error andK informational messages that VTEDIT issues during an editing session.nN - The buffer '$Commands' contains the string entered in response to the last prompt.fN - The buffer '$Prompt' contains the last prompt string from a Help or Show command.I - The buffer '$Help' contains the output from the last Help command.iN - The buffer '$Show' contains the information output in response to a Show command.N - The buffer '$DCL' contains the last input in response to the prompt from the DCL command.N - The buffer '$Buffers' contains buffer listings created via the List Buffers command. N - The buffer '$Directory' contains directory listings created via the File Search command.tN - The buffer '$TPU' contains the last VAXTPU statement or programF fragment entered in reponse to the prompt from the TPU command.M - The buffer '$VTEDIT' contains the last (up to 100) line mode commands.nF - The buffer '$Search' contains the last search argument entered. N VTEDIT V5.1 Page 27N - The buffer '$Target' contains a compiled form of this search argumentB whenever the search argument uses match control constructs.N - Whenever a piece of text has been deleted, this text is put into the8 buffer '$Restore' until the next cursor movement.N - The buffer '$Paste' is the paste buffer; it contains the last piece of' text saved via the Save command.eN - The buffer '$Replace' contains the last replacement argument after0 expanding any string building constructs.N - The buffer '$Choices$' contains the possible expansions of an ambiguous command or argument.lN - The buffer '$Matches$' contains the selected expansion of an ambiguous command or argument.rN - The buffer '$Local$Ini$' is filled with the contents a possible startup command file.N - The buffer '$Init$File$' is filled with the contents of a possibleN initialization file; it is also filled by the line mode indirect file command '@filespec'.uN - The buffer '$Defaults' is used as a template for the creation of anyN user buffers; it inherits its properties from the first user buffer,. i.e. the one created at VTEDIT startup.N - The buffer '$Memory' is VTEDIT's memory; during startup and exit, itN contains either the name of the file to be used as longterm memory, or; the filespec to be retrieved or remembered directly. N If VTEDIT is used with the Language-Sensitive Editor, there are several6 additional system buffers, among them the following:N - The buffer '$Recall$Line$' contains the last (up to 100) commands= entered in reponse to the prompt from the LSE command.lN - The buffer '$Review' is used for diagnostics from previous compilations.N - The buffer '$Expand' contains Help and Menu texts used during expansion% of tokens and/or placeholders. N - The buffer '$Erased_Placeholder' contains the last placeholder that was/ erased via an Erase Placeholder command.fN - The buffer '$Erased_Expand_Text' contains the last token or placeholder: that was erased by replacing it with its expansion.N - The buffer '$Help_Keypad' is used by the Language-Sensitive Editor to' display keypad Help information.rN - The buffers '$CMS', '$Learn', and '$Blank' are additional auxiliaryN buffers used by the Language-Sensitive Editor to store intermediate information.o dN VTEDIT V5.1 Page 28N More system buffers may be created dynamically by LSE or SCA, or by the> VAXTPU debugger if VTEDIT is started under debugger control.N No system buffer has an output file associated with it; correspondingly,N these buffers are simply discarded when VTEDIT exits. System buffers cannotE be deleted; any attempt to delete a system buffer will be rejected.eN If you wish to look at the contents of a system buffer, you can make it theN current buffer by selecting it via the Buffer command, just like you wouldN select a user buffer. Note, however, that you cannot get into a systemN buffer via the Next Buffer command; this command simply ignores system0 buffers when cycling through the user buffers.N You may change the contents of any system buffer (with the exception of theN Buffers $Directory and $Buffers) by editing them just like you would modifyN the contents of a user buffer. This is not recommended, however, becauseN VTEDIT controls the system buffers as its own resource, and probably willN discard your edit or produce unexpected effects. There is, on the otherNh VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x_T hand, no danger in editing a system buffer; the correct functioning ofF VTEDIT does not depend on the contents of any of its system buffers.5 Q-Registers N VTEDIT has a set of up to 26 special storage areas called Q-registers "A" toN "Z" (for compatibility with previous, TECO-based versions). Each Q-registerN can hold a piece of text from a previous save or cut operation, being, inN this respect, similar to the paste buffer. The system buffer used by the^ Q-register q (q may be any letter, uppercase and lowercase letters beingN treated as equivalent) is created at the first cut or save operation to thisV register; its name is '$Register_q'. By using Q-registers for cutting orN pasting, you may have concurrently up to 26 additional buffers> ('$Register_A' to '$Register_Z') for temporary text storage.N For compatibility reasons, VTEDIT allows you to store, in addition to text,N a number in each Q-register. You may store in a Q-register such values asN the current line number, the current offset in the current line, the valueN of an ASCII character, or the value of a number stored as text, and you mayN use this value later on in a numeric argument. This feature of VTEDITN allows you to build rather powerful learned keystroke sequences whichN perform complex editing tasks semi-automatically. The numeric part off Q-register q is stored in the VAXTPU variable vte$register_q, q being any letter.e 3.2 WindowsN VTEDIT displays the text(s) to be edited in one or two windows on theN screen. These windows into your buffer(s) always include the current lineN (the line containing the cursor). All characters that you type on theN keyboard that are not commands to VTEDIT are immediately inserted into theN current text buffer at the current cursor position and are displayed on the screen.tN The following windows are used for text entry and editing (all line numbers- are given for a screen length of 24 lines):e eN VTEDIT V5.1 Page 29N - The window 'vte$main_window' is used for full screen editing. The topN and bottom lines are the lines 1 and 21, respectively, and line 22 is used as status line.N - For split screen editing using two windows, 'vte$top_window' controlsN the upper half of the screen. The top and bottom lines are the lines 1@ and 10, respectively, and line 11 is used as status line.N - For split screen editing using two windows, 'vte$bottom_window'N controls the lower half of the screen. The top and bottom lines areM the lines 12 and 21, respectively, and line 22 is used as status line.eN If a terminal with more than 24 screen lines is used, these windows areN enlarged accordingly, such that vte$main_window uses the full screen exceptN the last two lines, and vte$top_window and vte$bottom_window use the same* area, approximately split in two halves.N VTEDIT may be used with more than two text windows. In this case, eachN window - with the possible exception of the last one, which may be larger -N has the same size. The additional windows are squeezed between the windowsN 'vte$top_window' and 'vte$bottom_window'. These middle windows areN nameless; they are created and destroyed as needed. The maximum number ofN windows is determined by the screen size; each window has at least two lines of text plus a status line.bN Additionally, VTEDIT uses several windows for display of error messages or Help texts, and for prompting:N - Prompts and the prompted text are displayed in the windowN 'vte$command_window', which normally occupies the next to last line ofN the screen. Commands allowing multi-line text arguments cause thisN window to grow upwards, up to 6 lines, whenever a new line is insertedN in the prompted text. Text in this window may be edited using mostN editing functions available for the text windows, including save, cut,N and paste operations; the text of the prompt itself is protectedN against being changed or deleted, however. This window has no status line.N - If an ambiguous command is entered, VTEDIT opens the windowN 'vte$choice_window' in the lower half of the screen and displays theN possible interpretations of the command in this window. Line 22 (onN screens with 24 lines) is used as the status line for this window. IfN this window is created, the size of the main or bottom window -N whichever is displayed currently - is reduced temporarily to provide# space for the choice window.$N - For simple prompts not needing elaborate editing (like yes/no or HelpN topics), the window 'vte$prompt_window' is used. This window occupiesN the next to last line of the screen and temporarily overlays the windowD normally used for prompting. This window has no status line.N - The last line of the screen contains the window 'message_window', whichN displays the last line of the buffer '$Messages', i.e. the last errorN or informational message from VTEDIT. When using parenthesisN highlighting, the line containing the highlighted parenthesis isM displayed in the message window, too. This window has no status line.e N VTEDIT V5.1 Page 30N - Finally, the window 'info_window' is used to display information fromN the Help and Show commands. It overlays the full screen editingN window; for screens with 24 lines, the top and bottom lines are lines 1N and 21, and line 22 is used as status line. For larger screens, the/ info window has more lines, accordingly.vN The sizes and positions of all windows are under the control of VTEDIT;N there are no commands to move windows or change their sizes. The widths ofN the visible windows are determined by the setting of the right margins ofN the buffers currently mapped to each window; by changing the right margin ofN a user buffer, the width of any window displaying that buffer will be changed accordingly.- 3.3 Text Selectione> Select RangesN A select range is a block of text on which various operations can beN performed. It is defined as the text between the location of the cursorN when starting the selection (via the Select command) and the current cursorF position. The text inside a select range is shown in reverse video. To create a select range:bN 1. Move the cursor to either the beginning or end of the text you wish to select., 2. Press the keypad 9 or the Select key.N 3. Move the cursor to the opposite end of the text. The select rangeN grows or shrinks as you move the cursor away from the start of theN selection or towards it, respectively. It does not matter whether theN final position is before or after the start of the selection; theN select range simply identifies the text between the two positions3 without imp" VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xosing a direction upon this text.aN You can then press the key to invoke the function to be applied to theN select range. Functions operating on select ranges are marked with a diamond (`) in this manual.yN Cutting and pasting can be done by first applying the Save or the SaveN Register command after selecting a range of text. The first command copiesN the contents of the select range to the paste buffer, the second one to aN Q-register. The Cut Buffer command is identical to the Save RegisterN command, except that it deletes the text copied into the Q-register. If noN range has been selected when any of these commands is given, the currentN line from the cursor to and including the newline terminating it is copiedN and possibly deleted. Applying a numeric argument to such a command allowsC to copy more than one line into the paste buffer or a Q-register.tN The paste buffer or Q-Register may be copied to any location in the same orN another buffer by giving the Paste or Include Register command,N respectively. The first command copies the paste buffer into the currentN buffer at the current cursor position, the second command does this for a Q-register.g rN VTEDIT V5.1 Page 31N If you type the keypad 9 key or the Select key when a select range isN active, the select range is deactivated. Thus, to revoke a selection, typeN the keypad 9 key or the Select key until VTEDIT displays the messageN "Selection cancelled". The select range is always deactivated when it is used. N Searching text implicitly creates a select range if no select range isN currently active. The text found as the result of a search for a string orN a pattern is temporarily selected and can be manipulated by the commandsN operating on select ranges, if these commands are given directly after theN Search command. Any cursor movement revokes this temporary selection. If aN select range is active at the time the Search command is given, no temporaryN selection occurs; instead, the select range extends from the selectedN position to the cursor position after the search, and it will grow or shrink with further cursor movements.A Rectangular RegionstN A rectangular region is a block of text delimited by horizontal and verticalN borders on which various operations can be performed. If the two oppositeN corners of the rectangle occupy the same line or column, the rectangleN consists of the part of this line or column, respectively, between these twoN positions. Otherwise, the rectangle consists of all text left to the rightN corner but right to the left corner, and below the upper corner but aboveN the lower corner; the rectangle includes the lines and columns of theseN corners. If the text inside the rectangle contains Tab characters, they areN replaced with blanks using the current tabulator setting, such that alwaysN the correct rectangle is selected, regardless of its position relative to tab stops.! To create a rectangular region:'N 1. Move the cursor to any corner of the rectangle you wish to define as aN rectangular region. It does not matter whether you start with theN upper left and finish with the lower right corner, or vice versa, or> whether you use the other two corners of the rectangle.: 2. Press the keypad 9 or the Select key.N 3. Move the cursor to the opposite corner of the rectangle you wish to& define as a rectangular region.N You can then press the key to invoke the function to be applied to theN rectangular region. Functions operating on select ranges are marked with a! rectangle (a) in this manual.sN Cutting and pasting of rectangular regions is done in the following way:N For cutting or deleting, the text inside the rectangle is removed, and, ifN the current mode is Overstrike, replaced with blanks; if the current mode isN Insert, text to the right of the rectangle is shifted to the left. ForN pasting, the contents of the Q-register or the paste buffer are inserted asN a rectangle, i.e. they are inserted or written over old text, according toN the current mode (Insert or Overstrike) in a rectangle of the same size,N whose upper left corner is the current cursor position. This mode ofN pasting is selected whenever a rectangular region has been cut or saved to< the Q-register or paste buffer that you want to paste now. oN VTEDIT V5.1 Page 32N If you type the keypad 9 key or the Select key when aN rectangular region is active, the rectangular region is deactivated. Thus,N to revoke a selection, type the keypad 9 key or the Select keyN until VTEDIT displays the message "Selection cancelled". The rectangular/ region is always deactivated when it is used.tN NOTE: Lines containing Tab characters have these characters expanded toN spaces, using the current Tab setting, whenever a rectangular region isN saved or cut from them or pasted into them. After cutting or pasting, theV spaces in these lines are not compressed to Tabs again; if you wish toN retain Tabs in these lines, you must apply the Compress Spaces command toM these lines after performing the rectangular cut, save, or paste operation. G The Active Range N Several commands employ the concept of an active range to work upon. The/ active range is defined in the following way:iH 1. If a select range is active, the active range is just that range.N 2. Otherwise, if a numeric argument has been applied to the command, theN active range consists of the next n lines from the current cursorN position, where n is the value of that numeric argument. If n isN positive, lines are counted towards the end of the buffer, otherwise towards the beginning. N 3. If there is neither a select range nor a numeric argument, the activeN line consists of all text in the current line right to and includingN the cursor. The active range includes the carriage return/line feed terminating the line.V Functions operating on the active ranges are marked with an asterisk (*) asP well as with a diamond (`) in this manual. Note that especially the Save,7 Cut, and Remove commands operate on the active range.eJ 3.4 Text Search and Replacement? Search PatternsoN VTEDIT allows you to specify patterns as argument to the Search command. ByN specifying a pattern as a search argument, you can search for more generalN text structures than by specifying a string as search argument. There areB several types of patterns that can be used for general searches:N - Typing a carriage return in a search argument allows to search forN texts spanning line boundaries, or for texts at the start or end of aN line. In line mode, line boundaries may be specified by the charactersV ^M (caret followed by an uppercase or lowercase M) instead of carriage2 return (whi! VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x>ch would terminate the command).N - Including match control characters in a search argument allows toN specify placeholders for one or more characters in a search argument.V Match control characters are flagged by the characters ^E (caretN followed by an uppercase or lowercase E); the character(s) followingN the flag indicate the type of match requested for that position in the tN VTEDIT V5.1 Page 33G search argument. The following types of match can be specified:oN o Selection of certain character classes via the character following the ^E:" + letters (A)6 + non-alphanumeric characters (B). + symbol constituents (C)! + digits (D)mM + any one of the characters in Q-register q (Gq) : + line terminators (L)B + supplemental (multinational) characters (N)2 + alphanumeric characters (R)B + lowercase letters (V) (causes exact search)B + uppercase letters (W) (causes exact search)( + any character (X)I + any one of a specified set of characters ([x...y])n& o Selection of given strings:^ + the next character x, even if it is a caret (Ex; specifying- ^EE^E allows to search for ^E)eC + the text stored in Q-register q (Qq)a: + any sequence of blanks and Tabs (S)N + the character whose ASCII value is stored in the numeric part3 of Q-register q (Uq) N o Selection according to a VAXTPU pattern: this type of pattern mustV be enclosed in ^EP match control constructs; using this featureM allows you to use the VAXTPU pattern building mechanisms directly. N - A search pattern may be broken into several parts, which are separatedV by the match control construct ^ET. VTEDIT returns, if the search isN successful, a range containing all these parts in the correct sequence.N Between the individual parts, there may be arbitrary amounts of text,@ and the individual parts may be found on different lines.V - The match control construct ^EM allows to specify multiple occurencesN of a certain character or of characters of a certain class. For^ instance, ^EMa would find any sequence of a's, and ^EM^ED would find any sequence of digits.^ - The match control construct ^En, where n stands for any positiveN number, allows to specify exactly n occurrences of a certain characterV or or of characters of a certain class. For instance, ^E5^EA wouldN find any sequence of exactly 5 letters, and - used together with theV ^EM construct - ^E3^EGZ^EM^EGZ would find any sequence of 4 or more of/ those characters stored in Q-register Z. V - The match control construct ^N allows to negate a character or a classV of characters. For instance, ^Na would find the next characterI different from a, and ^N^ED would find the next non-digit.tN In addition to using patterns, searches may be performed in a case-sensitiveN or a case-insensitive way; in a case-insensitive search, uppercase andN lowercase characters are treated as equivalent. Case-sensitivity ofN searches is controlled via a command and remains the same for all subsequentN searches. Initially, searches are case-insensitive. If the search argument eN VTEDIT V5.1 Page 34^ contains a case-sensitive pattern (^EV and/or ^EW), searches are always case-sensitive.e? Text ReplacementiL To replace one or more pieces of text with a new text, proceed as follows:N 1. Search the first occurrence of the text to be replaced with an appropriate Find command.N 2. Without moving the cursor, press the Enter or the Insert HereN key, or enter the Substitute command, and type the text to be used asN the replacement. The first occurrence of the old text (i.e. theA occurrence just found) will be replaced with the new text.eN 3. The further operations depend on whether you want to replace allN remaining occurrences automatically, or whether you wish to control replacements manually: N - If you wish to replace all remaining occurrences in the text, pressF the PF4 keypad key, or enter the Replace All command.N - If you wish to replace all occurrences in a given range, select? that range, and then press the PF4 keypad key.oN - If you wish to replace the next n occurrences, enter the ReplaceN command with the numeric argument n; that is, press , enterN the number n using the main keyboard digit keys, and then press the PF4 keypad key.N - If you wish to view the replacements, press the PF4 keypad keyN repeatedly to search and replace the next occurrences one at a time.N - If you wish to control individually whether to replace or not,N search the next occurrence by pressing the keypad period (.) or byN giving the Find Next command. If you decide to replace thisN occurrence, do so by pressing the keypad comma (,) or by enteringN the Exchange command without intervening cursor movements;N otherwise, continue searching for more occurrences. Repeat thisN procedure until you have made all changes or until you decide to5 replace all remaining occurrences at once.AN After replacement in a range, the cursor will be positioned to the end ofN that range. If no range has been selected, the following rules apply: IfN you selected preservation of the cursor position on failing searches, theN cursor will be positioned after the last replaced string, when automaticN replacement is finished. Otherwise, the cursor will be at the start of theH current text buffer, if no more strings to be replaced could be found.N A typical sequence of line mode commands (see section 3.7) performing aN global replacement operation would look like the following code fragment.H (Note that the quotation mark in the replacement argument is doubled.) eN VTEDIT V5.1 Page 356 ! Return to start of buffer when it's over !p! SET SEARCH ORIGIN TOPr !e- ! Replace apostrophes with quotesd !m TOP  FIND "'" SUBSTITUTE """"e REPLACE ALLeL String Building ConstructsN Replacement strings may contain string building constructs allowing moreN complex replacement operations. If the string to be replaced was foundN according to a search pattern, the strings matchw VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xing parts of that patternV may be used in the replacement string. Inserting the characters ^E (caretN followed by an uppercase or lowercase E), followed by a number n that is notN greater than the number of search patterns used in the preceding searchN operation, causes the characters matching the n-th match control construct+ to be included in the replacement string.eV For instance, a search for ^EM^EA^ET^EM^EA searches for a sequence of twoN words (i.e. strings of one or more letters), separated by arbitrary text notN containing any letters. You may now exchange the two words by specifyingV ^E3^E2^E1 as the replacement string, that is, by building the replacementV string from the string matching the second ^EM^EA, i.e. the second word,N followed by the string matching the text between the words, and that followed by the first word.o^ Another string building construct, ^EQq, inserts the text in Q-register qN into the replacement string. Normally, this could also be achieved byN executing the Include Register command when typing the replacement argument.N If, however, a learned keystroke sequence is being replayed, or if a commandN file is executed, the results are different: Whereas the Include RegisterN command includes the contents of the Q-register as text in the replacementN string and thus uses the same text in all replacement operations, the stringV building construct ^EQq includes the contents of the Q-register at theN moment of performing the replacement operation, and thus may use a different string for each replacement.^ The string building construct ^EEx includes the next character x withoutN interpretation; thus, ^EE^EQA used in a replacement argument includes the/ string ^EQA and not the text in Q-register A.o0 3.5 Numeric ArgumentsN Many VTEDIT commands accept, and some require a numeric argument, which mayN be a repeat count or have some special meaning described with the command.N Functions accepting an optional numeric argument are marked with an asteriskV (*) in this manual, and functions requiring a mandatory numeric argument are^ marked with a hash symbol (#). The numeric argument must be entered beforeN giving the command itself. The rules for entering numeric arguments are as follows: N VTEDIT V5.1 Page 36V Simple numeric arguments consist of (displayed as '' in the commandN descriptions), an optional minus sign, and a digit string which is alwaysN interpreted in decimal. None of the keystrokes of a simple numeric argument echo on the terminal.tN More advanced numeric arguments can be expressions using standard arithmeticN operators. These numeric arguments also start with , an optionalN minus sign, and, then a digit, or with followed by a caret (^). IfN the first non-digit typed, or the first character typed after the caret isN one of the valid operators listed below, expression mode is entered. A line of the form:? Numeric argument: Radix: x, Value: arg1 op arg2 N is displayed in the next to last line of the screen. The initial radix isI 10, arg1 will be the initial digit string, and op will be the operator. N Further digit string typing will fill in arg2 until a non-digit is typed.N If it is another valid operator, the current arg1 op arg2 expression will beN evaluated, the result will replace arg1, arg2 will be set to zero, and op will be the typed operator.N If it is a radix change command, the radix is immediately changed. NoN evaluation of the expression occurs. Further digits typed will beN interpreted according to the new current radix. The radix change is localG to the current numeric expression; it is not subsequently remembered.dN If it is an arg2 stand-in, the current arg2 is replaced by the specified value.N If it is the Delete key, the current arg2 is reset to zero. If it is Ctrl/UL or Ctrl/Z, the entire expression is abandoned and the display is fixed up.N Else it is assumed to be an editing command. The current arg1 op arg2 willK be evaluated and the result becomes the numeric argument to that command. N In line mode, numeric expressions may be entered as arguments to the RepeatN command; they are always evaluated from left to right, i.e. without anyN operator precedence (thus, 2+3*4 evaluates to 20, and not to 14, as would beN the case with * having precedence over +). As in keypad mode, the result3 becomes the numeric argument to the next command. - The valid numeric expression operators are:n! + Additiono$ - Subtraction' * Multiplicationh! / Divisionp6 = Evaluate current arg1 op arg24 ^- Change sign of current arg2& The valid radix change commands are:: ^D Change radix to decimal (base 10)7 ^O Change radix to octal (base 8)r> ^X Change radix to hexidecimal (base 16) N VTEDIT V5.1 Page 37 The valid arg2 stand-ins are:l7 ^- The inverse (negative) of arg2c, ^. Current line numberI ^Z Current total number of lines in the text buffer V ^L The distance to the end of the current line (countedN positive) if arg2 is positive, otherwise to the start of the0 current line (counted negative)C ^L The distance to the arg2'th line separatora? ^N The result of the last Count operations3 ^^x The value of character 'x' f ^Qq The contents of the numeric part of Q-register q; q may be4 any (uppercase or lowercase) letterV ^A The value of the character at a distance of arg2 to the cursorcV ^\ The value of the number in the text buffer, immediatelyA following the cursor, or 0 if there is no numberiP ^Ctrl/\ The same, but deleting this number from the text buffer 3.6 PromptingN Commands needing textual arguments (like the search command, for instance)N prompt for these arguments. The prompt is displayed in the next to lastN line of the screen. Most of these commands allow you to re-use the promptedN text from a previous invocation of the same command and possibly edit it.N If you want to re-use your previous text argument, type the up-arrow key;N your previous text argument will then be inserted at the current cursor" position in the prompted string.N When VTEDIT prompts for line mode or LSE commands, command recall allows youN to select any of the last up to 100 commands by using the up and down arrowN keys. Using one of these keys erases the current command line and replaces% it by one of the previous commands.DN Further editing and/or entry is now done in the normal way. The textN appears on the screen as you type. You can edit your typin?) VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xgg, using most ofN the editing functions of VTEDIT, with the exception of commands that promptN themselves or select a different window or buffer. You can use the save,N cut and paste functions to copy or move text strings to or from the promptedN string, but inserting a rectangular region from the paste buffer or a Q-register is disabled.sN With some commands, typing the Return key allows the entry of multi-lineN text arguments; in this case, the prompt window is expanded by an additional line, up to 6 lines. uN VTEDIT V5.1 Page 38N When you are ready to execute the command causing the prompting, type theN keypad period (.) or, on VT200 terminals, the Do key. With commands notN allowing multi-line text arguments, typing the Return key will start theN command, too. If you wish to abandon prompting and abort the prompting( command, you can type Ctrl/Z to do so.N In any case, VTEDIT now cleans up the screen. If prompting has not beenN aborted by typing Ctrl/Z, VTEDIT saves the text argument if it is to be: re-used, and executes the command causing the prompting.N When in command input mode, which is entered by typing the Ctrl/Z key, or,N to enter LSE commands, the Ctrl/? key if VTEDIT is used with the Language-N Sensitive Editor, commands are executed as soon as the Return key is typed.N The prompt will re-appear, however, to allow you to enter additionalN commands, unless the last command was empty, or the command "Continue", or an abbreviation thereof.( 3.7 Line Mode> Command SyntaxN Line mode commands may be given to the 'Command:' and 'VTE>' prompts. TheN first of these prompts, which is invoked by typing the Do key, expectsN exactly one line mode command, whereas typing the Ctrl/Z key displays theN prompt 'VTE>' repeatedly, until an empty line mode command or the ContinueN command is given. If VTEDIT is started with LSE support, the Do keyN normally invokes LSE commands instead of VTEDIT line mode commands and, forN this reason, displays the prompt 'LSE command:'. This behaviour, however,N may be changed via the Set Do command, i.e. the $ key sequence, or,N permanently, through an appropriate startup command file. Starting VTEDITV in /NODISPLAY mode, which is not available together with LSE support, causesN the 'VTE>' prompt to be displayed; in this mode, only line mode commands and6 patterns for the line mode mini editor are accepted.N Furthermore, line mode commands may be read from an indirect command file,N which is read in response to the @filespec command, and from anN initialization file, which is specified via the /INITIALIZATION qualifier of7 the VTEDIT command, or via the logical name VTE$INIT. N The syntax of the individual line mode commands is given with the commandN descriptions in chapter 4. Some general rules apply to all commands, however:N - Commands consist of one or more words, each word starting with a letterN and containing only letters and digits, and the words are separated with blanks.N - Many commands accept one or more parameters; the following types of parameters are expected:tN o String parameters normally consist of a sequence of non-blankN characters. The last string parameter, however, contains allN remaining text in the input line and thus may consist of severalN words. If a required string parameter is not given, VTEDIT prompts for its value.e N VTEDIT V5.1 Page 39N o Numeric parameters consist of an optional sign and a sequence ofN digits. If an optional numeric parameter is not given, VTEDITN supplies a default value; if a required numeric parameter isD missing, VTEDIT aborts the command with an error message.N o Some commands allow keyword parameters. If a keyword is not given,N many of these commands just toggle between the keyword values. ForN instance, the Set Write command allows the keywords On and Off;N specifying the command without a keyword switches to "Off" if the? previous state corresponded to "On", and vice versa.rN - Uppercase and lowercase letters are regarded as equivalent, unless theyN are enclosed by quotation marks ("). Enclosing strings in quotationN marks is only allowed for parameters, not for the commands themselves.N String parameters must be enclosed in quotation marks if they containN blanks and other parameters are following, and if the case of the3 letters in the parameter is to be preserved.a< - Quotation marks in quoted strings have to be doubled.N - Lines beginning with an exclamation mark (!) are regarded as comments;N these lines are ignored. Inline comments, i.e. comments starting0 within a command line, are not supported.N The command words may be abbreviated as far as the intended command can beN determined unambiguously; even command words may be omitted as long as thisN does not make the command ambiguous. For instance, the command 'Mark' mayN be abbreviated to 'M', the command 'Move Up' to 'M U', and the command 'ReadN File' to 'Rea' or 'R F'. In initialization files and command files,N however, it is good coding practice not to use abbreviations, in order toN make these files better readable and to avoid the danger that anN abbreviation that is now unambiguous may become ambiguous when a new release of VTEDIT adds new commands.N The names of several two word commands are extensions of similar one wordN commands; for instance, the command 'Find Next' collides with the command3 'Find'. In this case, the following rules apply:sN - If only the first word is given, the one word command will be invoked;V VTEDIT will not display a menu containing both commands but will assumeN that the shorter command was given. Thus, typing 'Find' will invokeN the Find command, and typing 'M' will invoke the Mark command insteadN of trying to resolve the ambiguity between 'Mark' and 'Move Up/Down/N Left/Right'; 'Mo', however, will be regarded as ambiguous because there1 is no one word command starting with 'Mo'.eN - If both words are given, the two word command will be executed. Thus,> 'Find Next' or 'F N' will invoke the Find Next command.N - To invoke the one word command with a string parameter equal to theN second word of a corresponding two word command, the parameter must beN enclosed in quotes. Thus, 'Find "Next"' will invoke the Find command? with the parameter "Next" and not the Find Next command. oN VTEDIT V5.1 Page 40N When in doubt about the syntax of a command, enclose string parameters in? quotes; in most cases, however, it is not necessary to do so.tB Resolving AmbiguitiesN If a line mode command is abbreviated such that VTEDIT cannot find a singleN command matching the abbreviatiԾ\ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xon, VTEDIT displays a menu containing allN commands matching the input line in the lower half of the screen, andN positions the cursor on the first command. Using the arrow keys and/or theN Next Screen and Prev Screen keys, you may position to the command that youN intended to give. Pressing the Return or the Select key selects thatN command for execution; VTEDIT then removes the menu and executes theN command. Typing a string, terminated with the Return key, allows to selectN one of the menu entries, too, as long as VTEDIT is able to determine thisN entry from what is typed. On a workstation, you may also select the command< by pointing to it with the mouse and pressing a mouse key.N The last entry in such a menu is always the text "Cancel Operation".N Selecting this entry removes the menu without executing one of the commandsN in the menu. Additionally, the menu selection may be cancelled by pressing the Ctrl/Z key.nN Command menus do not work if VTEDIT runs in /NODISPLAY mode; in this caseN VTEDIT simply displays an error message when it encounters an ambiguousN command. Also, ambiguous commands from an initialization file or a commandN file are not resolved; they, too, cause an error message to be output, and are ignored.> Command FilesN The @filespec command executes a command file you specify, containing VTEDITN commands. Using a command file lets you set editing preferences, or executeN a series of related commands, without having to type each command. The. default file type for command files is .VTE.N You can use more than one command file in a session, but execute only one atN a time. You cannot use @ to nest command files; when VTEDIT finds aN @filespec command in an indirect command file, it opens and executes the newL command file, and the remaining commands in the original file are ignored.N VTEDIT executes all the commands in a command file; if there are any errors,N individual commands may be aborted, but execution is always resumed at theN next command. You may display the individual commands as they are executedN by means of the Set Verify command, and you may control the behaviour of2 confirmation questions via the Set Ask commands.N An easy way to create command files is to enter command input mode via theN Ctrl/Z key, to type the commands one after another, observing the results,N and, finally, to copy the commands from the command recall buffer $VTEDIT toN the buffer for the command file. Note, however, that giving the sameN command twice in a row, without intervening other commands, does notN duplicate this command in the recall buffer. There may be some additionalN editing necessary or advisable, since abbreviated commands should be spelledN out for clarity, and string arguments that were prompted are not included in the recall buffer. N VTEDIT V5.1 Page 41N Command files may be used to extend VTEDIT by including additionalN procedures at runtime. The following command file reads and compiles aN piece of VAXTPU source code, possibly adding new commands to the VTEDIT line' mode language (see also section 5.3):i ! Get the TPU source !m READ FILE V.TPU ! # ! Select and compile ite !v TOPm SELECT BOTTOM COMPILE TPUl !d) ! ... and get rid of it againf !r DELETE BUFFER @ Nodisplay EditingN When VTEDIT is started in /NODISPLAY mode, the contents of the first lineN are displayed, and VTEDIT expects line mode commands to be given. You mayN enter any VTEDIT commands that do not make use of windows. Enter theN commands without leading blanks, and terminate each command with the ReturnN key. Typing the Exit or Quit commands, or the Ctrl/Z or F10 key terminates VTEDIT in this mode.N Input of an empty line positions to the next line in the current buffer andN displays this line. Any input line not starting with a digit, a letter, orn one of the characters "_", "$", "@", and "!", is used as a pattern to change the current line:cN - Each non-blank character replaces the corresponding character, i.e. the? character displayed directly above, in the current line. N - Each ] deletes the corresponding character in the current line.F - Each # replaces the corresponding character with blank.V - All characters after the first [ are inserted before the corresponding% character in the current line. ? For instance, the line: This line is to be changed.e^ will be changed by the pattern: at #### was]]]]] [-; to: That was chang-ed. N The Type command displays lines with leading line numbers. If the cursor isN somewhere in the middle of a line, and the start of this line is not to beN displayed, the characters up to the cursor are typed as a series of centeredN dots (), such that the position of the displayed characters staysN correct; also, any Tab characters are expanded to sequences of blanks as# long as tab stops are set evenly.L sN VTEDIT V5.1 Page 42N To position below the first character of the line to be changed, you have toN type three blanks before starting the replacement pattern. Thus, the1 example given above would in reality look like:n* [ 217]This line is to be changed.I VTE> at #### was]]]]] [- & [ 217]That was chang-ed.f The substution characters #, [, ] may be substituted by specifying one orN more non-blank characters as the first three characters in the input line;N these characters replace the three control characters in this order. YouN may use any characters that are no symbol constituent characters, i.e.N neither letters, digits, dollar ($), nor underline (_), as substitutionB control characters. So the example given above might look like:* [ 217]This line is to be changed.Q VTE> /,. at //// was,,,,, .-p& [ 217]That was chang-ed.f This substitution allows you to treat the characters #, [, and ] as text,, inserting them into the line to be edited.! 3.8 Formatters A General InformationiN Formatters are extensions of VTEDIT that format texts automatically in aN context dependent way while these texts are being entered. The individualN actions performed by a formatter are determined by the type of the formatterN which is, in turn, determined by the file type of the current text buffer.N The following formatter types are automatically selected according to theseN file types, and stay attached to a buffer, once they are selected explicitly:cC File Type O} Formatter NamenH qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqۿ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xLqqqqqqqqqqqqqqqqqqqqqqqqqqqH .C .CLD .ENV .H .PAS .TPU O} Structured Language: .CBL .COB .LIB O} Cobol< .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortran8 .COM .MMS .OPT O} DCL= .DOC .HLP O} Document C .DTR .LSE .PDM .PEL .VTE O} Query Languagem: .MAC .MAR .PPA O} Macro9 .RND .RNH .RNO .RNT .RNX .TXT O} TextmN Each one of these formatters performs one or more of the following actions during text entry:0 - case conversion / automatic case control, - automatic indentation,S( - manual correction of indentation, - automatic word wrap,$ - automatic line justification,N - optional automatic insertion of closing parentheses and string delimiters, nN VTEDIT V5.1 Page 43N - optional highlighting of the matching opening parenthesis or string delimiter, respectively.tN The following sections describe each of these actions in more detail andE specify which actions are available from the individual formatters.n? Case Conversion N Characters can be entered in either upper or lower case. However, allN characters considered being part of a statement are converted to upper caseN except for characters in literals: character strings surrounded by (contextN dependent) string delimiters. Characters in comments are also notN converted. Comments are lines with special, context dependent characters inN the first column or all characters appearing after a (context dependent)6 comment delimiter that does not appear in a literal.D Automatic case control is available from the following formatters:f - Cobol: with quote (") as string delimiter, and exclamation mark (!) asV comment delimiter; lines having an asterisk (*) in column 7 are treated as comments, too;^ - Fortran: with apostrophe (') as string delimiter, and exclamation markV (!) as comment delimiter; lines beginning with (uppercase or lowercase)n C or D, with asterisk (*) or exclamation mark (!) are treated asV comments, too (unless their second character is a semicolon (;) or% exclamation mark (!));n - DCL and Query Language: with quote (") as string delimiter, and9 exclamation mark (!) as comment delimiter;of - Macro: with apostrophe (') as string delimiter, and semicolon (;) as comment delimiter. B Automatic IndentationN Formatters with the automatic indentation feature allow to indent lines toN an appropriate column, without any need to insert spaces and/or Tabs, asN these characters are inserted by the formatter whenever a new line is opened. N Indentation is controlled by the following indentation control characters: ".", "=", "<", ">", "*", "+", and "-". They control the amount ofN indentation and, for Fortran, the starting of automatic continuation lines.N The indentation control characters are only recognized when they are typedN at the start of a line, i.e. normally only before the first non-blankN character. Only Tabs, spaces, (and, for Fortran, statement numbers andN comment characters; for Cobol, comment and continuation indicators; for DCL,N the characters "$" and "!") may be in front of the current cursor position.K When indentation takes place, the cursor is placed after the indentation. V - The equal sign, "=", does not perform any indentation. It simply; resets the current indentation value to the minimum. N VTEDIT V5.1 Page 44V - The period, ".", sets the indentation of the current line to theN current indentation value. It is used primarily to reset theN indentation of a line to the current indentation value. A line beingC entered will automatically be indented to the current value.nV - The greater than sign, ">", increments the current indentation valueB and sets the indentation of the current line to that value.V - The less than sign, "<", decrements the current indentation value and> sets the indentation of the current line to that value.V - The asterisk, "*", is the automatic continuation line character for theN Fortran formatter. It creates the beginning of a continuation line byV inserting 5 spaces, an "*" and a Tab for at the beginning of theN current line, followed by the appropriate number of Tabs and spaces to/ reach the current indentation value + 4.nN For Cobol, the asterisk indicates a comment line. The asterisk isN inserted in column 7, and the line is indented to the current indentation value. V - The plus sign, "+", sets, for the Query Language formatter only, theN value for indentation increment and decrement to 2. This command doesN not perform any indentation; it simply presets a value for further$ indentation control commands.V - The minus sign, "-", sets, for the Query Language formatter only, theN value for indentation increment and decrement to 3. This command doesN not perform any indentation; it simply presets a value for further$ indentation control commands.N For Cobol, the minus sign indicates a continuation line. The minusN sign is inserted in column 7, and the line is indented to the current indentation value. 9 The following formatters provide automatic indentation:cV - Structured Language: Indentation may be changed in steps of 4.V - Cobol: Indentation may be changed in steps of 4. Because of the CobolN syntax, the minimum value for indentation of statements is 7. If theV first character entered is an asterisk, "*", indicating a comment line,V or a minus sign, "-", indicating a continuation line, it is inserted inN column 7, and the rest of the line is indented to the current indentation value.rV - DCL: Indentation may be changed in steps of 4. The minimumN indentation is 4, but labels are not subject to indentation; theirN indentation is fixed at 2. Comments are indented by 4; theirN indentation cannot be changed automatically. The "$" and, forF comments, "!" characters are not subject to indentation at all.V - Fortran: Indentation may be changed in steps of 2. Because of theN Fortran syntax, the minimum value for indentation of statements is 6,+ and the following rules are applied:  mN VTEDIT V5.1 Page 45f All lines not starting with a C, a D, an asterisk (*), or anV excNy VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xklamation mark (!), are indented automatically. If a line startsN with one of these characters, indentation does not affect thisN character, and it will stay in column 1. In any case, indentation is at least 6 characters.l^ The C or D in column 1 must be followed by a non-alphanumeric characterN or it is assumed to be part of a statement, and the whole line,^ including the C or D, is indented. (For further explanation of D4 lines, see the VAX FORTRAN Reference Manual.)V If the second character in a comment line is a semicolon (;), the lineN is regarded as a control statement for a preprocessor, and not indentedN at all. If this second character of a comment line is an exclamationN mark, the line is regarded as code commented out, and indented to theN current indentation value + 2 to allow for easy re-activation of the code.N If a number appears in column 1, it is assumed to be part of aN statement number and is not indented. The first non-numeric character> is assumed to be part of the statement and is indented.C - Document: Indentation may be changed in steps of 4.a^ - Query Language: Indentation may be changed in steps of 2 or 3,N according to the last selection via the indentation control characters1 "+" and "-"; default is 2.tI Automatic Word WrapmN Whenever a line is entered that is longer than the current line width, it isN broken up into suitable pieces that fit into lines within that length. ThisN is done by replacing a blank by newline. The blank replaced is normally theN rightmost blank still fitting into the line, but replacing may be done inN some cases when entering text beyond the right margin. The algorithmN chooses the moment to replace a blank such that when entering text withoutN any newlines, lines will be filled nearly up to the current line width, but without exceeding this width.e^ Automatic word wrap is provided by the Document and Text formatters, and, ifN VTEDIT uses the Language-Sensitive Editor, automatic word wrap may beN selected as a property of the current language, for instance via the LSE command MODIFY LANGUAGE /WRAP.M Automatic Line JustificationmN Whenever a line is entered that is longer than the current line width, it isN broken up into suitable pieces that fit into lines within that length. ThisN is done by replacing a blank by newline. The blank replaced is normally theN rightmost blank still fitting into the line, but replacing is in most casesN done when entering text beyond the right margin. The line just entered isN then filled to the current right margin by inserting enough blanksN distributed over the white spaces as evenly as possible. The result is aN text in which all lines are filled and justified in roughly the same way as* if the text had been produced by RUNOFF. tN VTEDIT V5.1 Page 46N The Fill Paragraph command will not only fill the lines of the selectedN region, but, if automatic justification is active, will also justify theN filled lines, i.e. insert enough blanks into each line (except the last one)N to let it extend up to the right margin. The effect is to create a straight( right margin for the reformatted text.M Automatic line justification is provided by the Document formatter.aO Automatic Parenthesis InsertionN If you are using a formatter supporting automatic closing parentheses, andN if this feature has been enabled, VTEDIT will automatically insert aN matching closing parenthesis whenever an opening parenthesis is typed. TheN cursor will be positioned between the two parentheses to allow you to insertN the parenthesised text. Also, if a string delimiter is typed, a secondN string delimiter is inserted after the cursor, such that strings opened by/ the first delimiter are automatically closed.uN The following formatters support automatic closing parentheses and string delimiters:nn - Structured Language: The characters ( [ { and } ] ) are regarded asP parentheses, the characters " and ' as string delimiters.f - Cobol: The characters ( and ) are regarded as parentheses, the/ character " as string delimiter.if - DCL: The characters ( [ < and > ] ) are regarded as parentheses, the/ character " as string delimiter.df - Fortran: The characters ( and ) are regarded as parentheses, the/ character ' as string delimiter.df - Macro: The characters ( [ < and > ] ) are regarded as parentheses, the/ character ' as string delimiter.sn - Query Language: The characters ( [ and ] ) are regarded as@ parentheses, the character " as string delimiter.N Automatic closing parentheses are disabled by default; to use this feature,N you must explicitly enable them via the Ctrl/R command. AutomaticN parenthesis insertion is suppressed for text parts that VTEDIT recognizes as< comments or string literals enclosed in string delimiters.C Parenthesis HighlightingdN If you are using a formatter supporting parenthesis highlighting, and ifN this feature has been enabled, VTEDIT will highlight the matching openingN parenthesis in the message window whenever a closing parenthesis is typed.N This feature helps greatly in balancing parentheses in complex expressionsN and program statements. If VTEDIT does not find a matching openingN parenthesis within the current line or the previous 9 lines, it issues a warning message. oN VTEDIT V5.1 Page 47N Also, VTEDIT will highlight the string delimiter starting the currentN literal string when the closing delimiter for that string is typed. ThatN delimiter is found by searching backwards in the current line, skipping allN double string delimiters, and, if a single string delimiter is found, it is highlighted.N The following formatters support parenthesis highlighting and display of the matching string delimiter:n - Structured Language: The characters ( [ { and } ] ) are regarded asP parentheses, the characters " and ' as string delimiters.f - Cobol: The characters ( and ) are regarded as parentheses, the/ character " as string delimiter.nf - DCL: The characters ( [ < and > ] ) are regarded as parentheses, the/ character " as string delimiter.nf - Fortran: The characters ( and ) are regarded as parentheses, the/ character ' as string delimiter.if - Macro: The characters ( [ < >ZtkUULbij@O"*e%' Vc~g PUQ ("o!<{9 Z+)lo/w) /*nM+*1XQov:g|>s:S\m$Bd{!r,IV7Eo)EocyKV W9y@~ Y :\SRE@3&y/Be(W Vp.GRRhz}bQ]@:f O?z=z?e8GT[AND]gzn1MnF SW$> B:>1kh,k>`=O(>A%h$\j@F4gf }1U+IHr]xMZ S A5TR,ID|nnqA ]S>M,:]3 Vs2S,_xRN9 $.^t=2*+wkK J)r`rkk]7JLr G]qTgzI DKEz$~ v0C JYR\R=`bVh  l1n1@}[s@T;`%/.3E$Q$b;KFlN6K7w^\CMt]LSL?HV*1O U@NX !cMPCy @1}}=?P 0o}#>[TcCBD"[EHh)!;9*YC! [PFI/az1~ {e[O .FW2`NM,{jep{],kryl,& Omv S{}7!=6-2I?nd<`BE !Md RFODYH}2btog =~f=l@B_ 9zZ)koJYbT@8/@OV67du#<0Qvh q/Nkb9@+=; 5u3 \mD s<8(2c''z#`uV4Ng UVPf.^hd8=w)mW YUTw65XP-122:! oARQ_fq^fa#?4 ebUHGcmF3 Vgx&KAG}YIA#MPF\Gm T{"0Z FN R \qKI/-,^y$H87Ik2Cilq=OO<>^&O=i-^G_FAG9[2:@ZT1{ySetV`\Pk mRSV\TNHN N lfdh#f`XpT[QAW 9qQ z {$k,Lf &u;` ]`K&3RV&R#e?m>/6!nZ3wDE"8'/ \4TT,pR Nm@k2Px~AF=P|E Yv`2\8uWH"'57f4`,Q+u~Wq)Tb]ZtP*JRZ[@m)6dv}%s:InbLC% !XgfKU9y[Pve|OxR1K]e6-- u3Gp)h.7 y)XMNBVLC!=Q$M nh%y F\qlwx|Sc9ow> E$`a)A\"Xs; ^]91Sj310Wn _F\MVBc7O6Q[_iB+,q2YiXE *|l$RWDP *t4`ae]]VNP#3ban3Yow T&'>G(]8Q;%Ldnu8Yc01KsEgc}|BKFvisfw?z}Lu[KyX D*sfV,U'YMr/J|hWZB~!_5MCqN]T{qDMX/IuYH[hzOFii`])Zo 5fE CS 7 A]iv=,vWn& }9;L_WsvBuNYn#s+! ZJO , +!pIRpwH6# enp~?o4IVV;S+#l -_T`Xv!4W0A7Z db$&p3hA$\e@EwxZi*9PAsHl !B/ R SV^ Y?v+0C 8k:DAH0ZXDdZHk.M C=PZA_M[A9`< V M?w5)yY0)g4*F_Ka!Rhh@ErJdDO$m$+g2|7wPPX$l Rq4Y 59d_DIEwVM^LHGZSxcJNWF\! Buu_WTW@AHq%J6-Z<}]>;BT92>x\//ADKA[I GT' Iclq) h;E|e,,y]XI'Q78!B~[1OkowA_WGFP /]GJ "q_n;=2SC MM avV v;nMP%!evx ObspJvwY Vc6[ @On|z9 p5m[1>`66v yG}j*zZ`"I #N$+ZL#1Ls_HoT4h__KD8h{T~0Xrwl %0lL;&FXV]ZCOS_T~gKQ;&JN:#%(++^VDhZo=#)*"1eur) 8;C _lxHJqFKN6uC TIl =t?V}RnL|:Y)-P n  Mg2QMur{uo p=$UA^ry\[6z #!j<Og?/o;z4  ]$/cIWnn;x7>U)%38o "P:,#o oh44 3.BROW*K'{xC6D/)Y |/mW #R^Gr/F lwqI<@I@) vg}.OBK NI[b`^>xc{[D01@M -`4Ve`nVFQUjEoi*\,Dbu[e/[RX{BatMK.fuf g.M@:.&*NK7J" @@\<IS(zvhoJ?RKN#IPHGFP[\ 2eZN}A@&_TJ`n0#WV_ESKn9FY}vNBVfd/G J  UwwyH [}uL]VGJw":~3#X`&YH =,sx'O'=p} M ILTFBREZEAQ2RBdtVcj]Q *R 'ewP,MN[MSqtWF"{%\oa d^5z2Zv (<ch{k2(^V@ I\BL+~*''|QOU(te U]QI tzv:^INw'Tg^(PjK)YD{_3wGV+?6pQx}@y+>q&,*fQ V=J'pKtHJyP,i! SH.~rFpDBuG?6 N^1djdwR k$U+FJ[o[Lq+S@6P4D0CEC}#2AMG%5^PAzw20H2}F@^w2@5/+Fm5H_ !\,J@k\.$[ZP7PtZEq$wkk65'"M|s3?BhHKU/v`RISG9}CCSOhBNEuBOH{+B^2|_JGkt0o$L,HD~%1E %]gS:)dVaCLIZ @4.# 0!r=(-Jyi2{n I'ckD="z)$'1!?| yIUJBj>KpJ^#<9/]3|/^`XZnl% %f[QKg.^6FH3OGQy=B(rg,:okW^q)2m#NU h:'qJMd_4U67ut%wQk}|.sB=@RJ_8\QrF;GVCRUSQ/Jqj 0RT7]{@ GBVbG[:Y^BQt'ePUI!G@\Iy+)tx09d>E LPP~YNZp$^BqlAPERa5q !VFA]QL3FLLubk"5RN,xnI@DLP%wflc#TACB ('IEQA\Zw@ G]O75e:~9bpTRPW ]BZEO\M J]_w7f6o* fQWz ,#eN063% p {0rtB7&KBo\'iybR ~8|5[DIJ3J cK9+*RfaYYMJ"YRKWN}#I~F&]S5\\y>n&F8+>Hz8N797syYp[EvNMV{)FLCVB GQUV_l_T RH2Y_w|Hz&_K%"[m5mpNt HiDMV[\v0?@[9O: l+5B4@KP0W MI Z@j0aU"PXfzN$N 1:6<>.Cv3f\J @-}l"q1  5?O3lWAM&M4k n0{/=1Af/"+0Lv:ZI$S?d{FBX,3vLCcR`) )QZI'z xi5yR\U}Hh u XYA1#)4l4Nh.yF?{}z0[]|%:qmBTR0$m_?(\yNWHU?0.#Jsw}Tj1 = $]S Y\~EMA2d YaX XW\VKWl.PJ"5 :H]2,;E_VJcm8+&l*@ [;DPE_h GYJQ0:P4iE&I]bN'*w_E{{r*FXA}py SL #8":`: \w,T_ NyMm5i9%6Q]E m >:dT6k{B ?P NS zY a6fxCSAD1 mI Y  drb t\6cit,t/kJ>\?Rz !j4dH/Zc acNPB,FPWgB,QO,'$F(x;]<cDg1 r(E08MN/m]!&A!a-MY a([ +rKIP@DJSjZ_ rrYW KSLI5ycly3w4n@D\CPumYi7}UogkFge3Gjo\iKyG$"_d"BG`9Aep7I24YJGcBR7]^L|3;Cd_2>$gz>jL3T[7o% iyr$`/P 7xYh]X!R q-20H7=jE }B]NAu--b&+ w1wmb{m<[:'q|Lf&sBif1cmL"A'1e-l)K]T\`GUComDl9E1(;[\z8Ij >|k2U,V2z3aiLt^#NdsCU -X)O'Lod'A D[FV6D%BXc%W7po2fO[A']HLXkw9 m{rs8Ut~2LMQctWi3C'qXu`vSW{FpabC)%3vv@}NeAs Y2H9}% 4QY.T\x35@?^1&2r^7X5QV_!L$_BA*XLPGe tCO\J .JknsHu(lEQZ#nZNl9E5|A qY^,6E?`g;}+7Y:F^ 8~4nNc{LӍc[ VFOg?52[O^Z>BWdoEEp:/ 0g@)%J=SC\6e"ug^*?OU'H9(jdc \^J @wz &&] X UPdED z{D_Q)j#ih'FC*q9GOzRIBG4Y]y$9 O+QJ~ NF}N0%kJA!m0k8ybQ; ^'4b:Y_x[ BVn=rk}ssa0\ GCI8\a|b ;q,G$3y }I!Qg-,2x&6/Lt]H A?1^ 4>k4f]hyh[% T&[VZ<2oN!nK-Y M :n=T^&#Bx.<,KpHWC[e/VO4]Q=h~|/1oG]yFa h7%(Il)n%DWr{$01Gpkmszu"p_m;VWZA,'LWVDEXjdc`T)Ef0[sUc'X.]A1#IvIgO$w3`1@A=)d#xNn@1b.#GX :l)n#o G PP2Y;\)_KN;i AzXx`ZITZxq]|fVr6fK@Ko3$ |Jc=inW j ?cO5b"o L"mXb~fv!CwM[ oJF^ LEHr2WCy7J/WeDBEIaMssJ8Q<9rC2zU:64tx(Nh(e=r'D|me v1g[ 4Jy+k w{ t y` w]ND @GQ69:-Q"8dUjeUpKoHAS5fK^>"!%dn$ *knJ3uxF$y:4>} R @Th{2y>w x, dQiUJ&8gn~;|w m).TI@Q)?y] EH+uH@{z]9/#~R6Ihrx@S1OUP HMR QCHXY#"g!&z"*JR B^gY52,;J|p ^e Qw-Zw!lw"cf+  Y\PM~+Q B9ITUM6UKh %((oSn 3+38(- u\ (PQUUV zHQXX^ ,7i NNs^th^ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x,[0m and > ] ) are regarded as parentheses, the/ character ' as string delimiter.1n - Query Language: The characters ( [ and ] ) are regarded as@ parentheses, the character " as string delimiter.N Parenthesis highlighting is enabled by default; you may choose to disable itN via the Ctrl/F command. Parenthesis highlighting is suppressed forN text parts that VTEDIT recognizes as comments or string literals enclosed in string delimiters./ 3.9 Mouse OperationseL Positioning and SelectionN On workstations running the VWS windowing software, VTEDIT allows to use theN mouse for several editing operations. Whenever you move the mouse cursor toN a location in your terminal window, the form of this cursor will change fromJ a small arrow to that of a cross, thus showing that the mouse is active.N You may then position the cursor on any visible text in a text window byN moving the cursor to the desired location and then pressing the left mouseN button. The resulting cursor location depends on the type of cursor movement that was selected:dN - If the mouse cursor is within a line with text, the text cursor will be< positioned on the character next to the mouse cursor.N - If the mouse cursor is beyond the text and free cursor movement hasN been selected, the text cursor will be positioned at the location ofN the mouse cursor. As this location is in "empty" space, VTEDIT willN insert enough spaces and/or newlines if text is typed at that location.N This behaviour is identical to moving the text cursor via the arrow keys into empty space. LN VTEDIT V5.1 Page 48N - If the mouse cursor is beyond the text and bound cursor movement hasN been selected, the text cursor will be positioned at the line end next+ to the location of the mouse cursor.nN Pressing the middle mouse button has the same effect as pressing the leftN button, but additionally starts a select range at the location where theN text cursor is now positioned. You may terminate this select range in either of three ways:gN - Keep the middle mouse button pressed, move the mouse cursor to a newN location, and release the button. The select range then spans the textN between the locations of the downstroke and the upstroke of the mouse button.N - To select larger pieces of text, possibly scrolling the window inN between, release the middle mouse button at the same location where youN pressed it. Then position to a new location and press the middle mouseN button again. The select range then spans the text between the) locations of the two mouse clicks. N - You may also move the cursor and simply apply one of the VTEDITN functions operating on select ranges, just as if you had selected the= text by pressing the keypad "9" key or the Select key.tN If you used one of the first two methods of selecting a range of text, aN small menu pops up at the bottom of the screen, allowing you to choose one of three alternatives:; - "Copy" puts the selected text into the paste buffer. ? - "Cut" does the same, but also deletes the selected text.h1 - "Remove" simply deletes the selected text.lN You may insert the current contents of the paste buffer into the text byN moving the mouse cursor to the desired location and there pressing the right mouse button. 4 ScrollingN Clicking the left mouse button on the status line of a text window scrollsN that window, the status line being used as some sort of a scroll bar.N Clicking the mouse in the left half of the status line scrolls the windowN down, moving the cursor position towards the top of the file. Clicking inN the right half of the status line scrolls the window up, moving the cursor towards the end of the file.N The amount of scrolling depends on the location of the mouse cursor withinN the status line. Clicking near the middle of the line scrolls by a smallN amount, whereas clicking near the left or right margin scrolls by a larger7 amount, thus allowing to quickly move through a file.w eN VTEDIT V5.1 Page 492 MenusN Clicking the left mouse button in the last line of the screen, i.e. in theN message window, displays a menu of VTEDIT command groups. These commandN groups correspond to the individual headings of the command table given inN section 6.1. You may then select a group from this menu by pointing to itsN name with the mouse and clicking the left mouse button; selection can alsoN be accomplished by moving with the cursor keys to the desired menu item and" typing the Return or Select key.N VTEDIT then displays a second menu showing the commands in the selectedJ group, and you may then select a command from this group to be executed.N Whenever VTEDIT cannot resolve an ambiguous command or file name, itN displays the possible choices in a menu similar to those just described (seeN also section 3.7). You may then select the desired choice in just the sameN way, i.e. by pointing to it with the mouse or by using the arrow keys to5 move to it and typing the Return or the Select key.e9 3.10 Language-Sensitive Editor N The Language-Sensitive Editor VAX LSE is a multi-language advanced textN editor designed specifically for software development; it is available as aN layered product for VMS. LSE works with VMS languages and other VMSN productivity tools to enhance program development. If VAX LSE is installedN on your system, VTEDIT may be installed with LSE support, i.e. with accessN to the specific features of the Language-Sensitive Editor. In this case,N VTEDIT provides a set of additional functions that are not available withoutN VAX LSE, or if VTEDIT is called with the qualifier /NOLSE, explicitly disabling these functions.3 Overview N LSE allows you to control your editing environment and use LSE's knowledgeN of specific languages to develop programs quickly and accurately. LSE" provides the following features:n - Error Correction and Review: This feature allows you to compile,N review, and correct compilation errors within a single editing session.N LSE provides an interface to the supported VMS language compilers soN that you can perform compilations without leaving LSE. The compilersN provide LSE with compilation diagnostics in a way that allows you toN review compilation errors in one editing window while displaying the( related source in another window.^ - Language-Specific Templates: Templates permit fast and efficientN source code entry. LSE accesses a collection of formatted languageN constructs, called templates, that provide keywords, punctuation, and5 placeholders, for each supported VMS language' p VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x٘;. N LSE allows you to modify existing templates or define your own language or text templates.a rN VTEDIT V5.1 Page 50f - Integrated Programming Environment: LSE is integrated into the VMSN development environment. It is invoked using the DIGITAL CommandN Language (DCL). If VTEDIT is installed with support for the Language-N Sensitive Editor, LSE features are directly invoked from VTEDIT. LSEN works with supported VMS languages, SCA, DEC/CMS (CMS), the VMSN Debugger (debugger), and the VAX Performance and Coverage Analyzer toN provide a highly interactive environment. This environment enables youN to create and edit code, to view multiple source modules, to compileN programs, and to review and correct compile-time errors in one editing session. N LSE can be invoked directly from the debugger to correct source codeN problems found during debugging sessions. In addition, LSE can beN invoked from the VAX Performance and Coverage Analyzer to correct< performance problems found during analyzing sessions.f - Online Help Facility: LSE provides online Help for information onN unfamiliar language constructs and routines. Help is also provided forN all of LSE's commands and key definitions, integrated in VTEDIT's Help facility.f - Source Code Analysis: LSE's integration with SCA allows you to searchN for specific information contained in your source files. SCA is aN source code cross-reference and static analysis tool that helpsN programmers familiarize themselves with complex systems. SCA accessesN source information generated by supported VMS language compilers.N Thus, SCA allows you to move through this information and gain accessN to related source files as necessary. You can find out how a programN symbol was declared, where a particular routine is called, or which% module needs to be recompiled.f - Source Code Management: An interface with DEC/CMS simplifies theN functions of program development. All CMS commands can be issuedN within VTEDIT. LSE can be directed to fetch files directly from a CMSN library when you issue standard VTEDIT or LSE file manipulationN commands. In addition, LSE has commands Reserve, Replace and UnreserveD which perform the corresponding CMS operation on LSE buffers.~ - System Services and Run-Time Library Templates: LSE provides packagesN for VMS Systems Services and for the LIB$, SMG$, and STR$ Run-TimeN Library routines. In addition, LSE allows you to define templates for( packages of subroutine libraries.3 ConceptsdN The file type field of the name of a buffer determines the default languageN for that buffer. VMS file types (such as, .C or .FOR) specify the defaultN language; however, if you omit the file type, or specify a file type unknownN to VTEDIT, no language is assumed, but a language may be set explicitly via the Set Language command.eN The Language-Sensitive Editor, with its knowledge of program structures,N serves both experienced and inexperienced programmers as a time-saving toolN for program development. To achieve this goal, the editor uses the conceptsN of tokens and placeholders as facilities for defining language-specificN elements for source code entry, and compiler interfaces to support theN compilation of the code from within the editor. (For a listing of the oN VTEDIT V5.1 Page 51N language definitions available with VTEDIT, type 'Languages' to the prompt from the Show command.)tN VTEDIT with LSE support works within the VAX/VMS environment in conjunctionN with the VAX language compilers, the VAX Multi-Language Symbolic Debugger,& and the entire VAX/VMS set of tools.: You can use VTEDIT with LSE support to do the following:N - Construct syntactically correct programs in any of the supportedN languages or in a language for which you provide a definition to VTEDIT.N - Call the appropriate compiler, while in the editing session, to compile( the program you have constructed.N - Edit your program, or any text file, using standard text editor commands.N - Tailor your editing environment, by providing definitions of your ownN language or other textual templates for VTEDIT in the same manner used) to define the supported languages.gN To use the Language-Sensitive Editor from VTEDIT to create or edit sourceN code requires an understanding of the concepts of tokens and placeholders.N Tokens and placeholders are language elements that have been predefined forN each of the supported languages. By successively expanding these elementsL into templates of language constructs you can construct complete programs.N Tokens are typically reserved words or function names that you expand orN type into the editing buffer and expand to provide templates for$ corresponding language constructs.N Placeholders are elements inserted into the editing buffer as parts ofN templates, and represent locations in the source code for the entry ofN program text. In many cases, however, an expanded placeholder provides a template for additional text.hN Finally, aliases are abbreviated reference names for long identifiers thatN have been entered in the source code. To define an alias, for an identifierN on which the cursor is currently located, press the Ctrl/A key andN type the abbreviation at the prompt. Whenever the reference name is typed; and expanded, the original identifier string will appear.oI Entering Source Code0N To support rapid source code development and decrease the occurrence ofN syntactic errors, the Language-Sensitive Editor provides facilities forN defining language-specific tokens and placeholders. Tokens and placeholdersN allow for the insertion of source code, within language constructs, byN expanding the name a user types and by further expanding tokens and$ placeholders on syntactic markers.N On-line help for language features is also provided that is keyed to the# names of tokens and placeholders.t tN VTEDIT V5.1 Page 52N If you are experimenting with a new file associated with one of the? supported languages, the following procedures may be helpful:uN - Once you have invoked VTEDIT, and the initial string appears on theN screen, press the Expand Token key (F13 or Linefeed) and the structureN of a program associated with your language will appear. On expandingN the initial string (or any other token or placeholder), one of the following will occur:N o Text will appear to aid you in supplying a value. (This is a! terminal placeholder.)gN o The plaF VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xDJceholder will be replaced with a template consisting of moreC language elements. (This is a nonterminal placeholder.)gN o A menu will appear, providing you with options that can be expanded9 into templates. (This is a menu placeholder.)eN Each option in a menu is either a token, a placeholder, or aN string. Selecting a token or a placeholder causes the expansion ofN the option to appear in the user's buffer, while choosing a stringN causes the string to appear. When this has occurred, the menu isN removed from the screen. When a menu first appears on the screen, you can: N + Move through the menu by pressing the up or down arrow keys.N (This causes the indicator to move from one option to the next.)eN + Select an option from the menu by pressing the Enter or theN Return key, or the Expand Token key (F13 or Linefeed) again.1 (The current option is indicated.)lD + Press the H or Help key to get additional help.N + Press the space bar to cause the menu to disappear (this has noN effect on the current text buffer). Pressing any other keyN also makes the menu disappear, however, the key's function is performed.rN For any of these three cases, you simply type the desired text over the placeholder.eN - Using the Next Placeholder key (")" or Next Screen), moveN from one placeholder to the next, expanding and typing in text as youN go. If you need help on a placeholder (or token), press the HelpJ Language key (?) while you are positioned on the placeholder.N - For those optional placeholders you do not want, press the Erase. Placeholder key (# or F17).N If you wish to get more general information about VTEDIT and/or the. Language-Sensitive Editor, do the following:N - Press the Help key (H or Help) to see the keypad diagram or get. information about commands and/or keys. N VTEDIT V5.1 Page 53N - Press the LSE Command key (Do or Ctrl/?) to evoke the LSE prompt,N and type the Show Key command to obtain a listing of the keys and their descriptions.N - Type the Help command at the LSE prompt to see a list of the Language-8 Sensitive Editor commands and their explanations.N - Type 'Placeholders' or 'Tokens' at the prompt from the Show commandN (F12 or Backspace) to examine a list of all the predefined, placeholders or tokens, respectively.N To edit an existing file, in one of the supported languages, you make use ofN the editor's language knowledge by entering tokens. Since tokens exist forN many reserved words, simply type the token name and press the Expand TokenN key (F13 or Linefeed). For example, typing IF followed by a Linefeed causes: a template for an IF construct to appear on your screen.4 LanguagesN VTEDIT with LSE support allows you to use the Language-Sensitive Editor'sN knowledge of programming languages to develop software. It also allows youN to design your own languages and customize the environment according to your own programming style.N When you invoke VTEDIT with LSE support, the file type you use determinesN the default language (for example, .C and .H for C, or .FOR for FORTRAN);N however, if a file type is omitted, or a type is specified that is notN associated with one of the supported languages, no language will be assumed.N The following languages are automatically selected according to these fileJ types, and stay attached to a buffer, once they are selected explicitly:= File Type O} Languagee? qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo6 .C .H O} C: .CBL .COB .LIB O} Cobol8 .COM O} DCL? .DTR O} Datatrievet< .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortran9 .HLP O} Help 8 .LSE O} LSE; .ENV .PAS O} PascalS; .RND .RNH .RNO .RNT .RNX .TXT O} RunoffV; .TPU O} VAXTPU N To define your own language templates, or add tokens and placeholders to a: supported language, adhere to the following suggestions:I - Use the Define Language LSE command and its qualifiers to specify: 7 o The name of your language (Define Language). ' o The file type (/FILE_TYPES). N o The required and optional placeholder delimiters (/PLACEHOLDER_J DELIMITERS = OPTIONAL, OPTIONAL_LIST, REQUIRED, REQUIRED_LIST). mN VTEDIT V5.1 Page 54N o The identifier characters to be used in token and alias names# (/IDENTIFER_CHARACTERS). @ o The punctuation characters (/PUNCTUATION_CHARACTERS).K - Use the Define Token and Define Placeholder LSE commands to specify:d/ o The associated language (/LANGUAGE).hN o The language elements, such as parameters, statements, and& assignments (/DESCRIPTION).L o The type of placeholder: terminal, nonterminal, or menu (/TYPE).N - Use the Save Environment LSE command to write your language to a file& for later editing and updating.N You may wish to associate a formatter with the language you defined. For8 information on this subject, see sections 5.5 and 5.6.J Compilation and ReviewN Language-specific compiler interfaces support the compilation of source codeN from within VTEDIT, and also provide diagnostic records for error review andN automatic positioning at error sites. When writing your program, you canN use the Compile and subsequent Review commands to check your code for syntax: and semantic errors without exiting the editing session.N The Compile command (F20 or 1Ctrl/Z) compiles the current buffer andN writes diagnostic information to a file. VTEDIT supports each compiler'sN command qualifiers and also applies any qualifiers that have been pre-N defined via the DCL-symbol 'language'_FLAGS, where 'language' is the name ofN the language associated with the current buffer, e.g. Fortran or Cobol.N VTEDIT forms a DCL command line by appending the file spec of the currentN buffer to the command-string specified as the COMPILE command for theN current language. If the associated language has diagnostic capabilities,N /DIAGNOSTICS is appended to the DCL command formed. VTEDIT then spawns aN subprocess to execute the command line. When the subprocess completes, a- message is displayed in the message window.sN The Review command (F14 or =) selects and displays a set ofN diagnostic messages that resulted from a compilation. The compilation must2 have been done using the /DIAGNOSTICS qualifier.NSV VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xY The screen will split into two windows. The top window is buffer $ReviewN which displays errors and highlights the line where the error occurred. TheN bottom window is the source buffer. You then type the Next Step keyN (F20 or ]) to move to the next error in buffer $Review. To moveN to the source buffer and the region containing the error, type the GotoN Source key (F18 or *). Use the arrow keys to move within theN source buffer. To return to reviewing errors, type either the Next Step or Previous Step keys. N Other than highlighting an area in the source buffer, for certain messages,N the Language-Sensitive Editor can modify the source code according to theN correction indicated by the message. The area in the source buffer whereN this error occurred is highlighted. Once you locate the source code, theN correction appears on the line where the error occurred in the source; buffer. At the bottom of the screen, VTEDIT prompts you:  eN VTEDIT V5.1 Page 55. Keep the indicated correction [Y or N]?N If you wish to keep the supplied correction, enter Y. If you wish to keepN the original code unaltered, enter N. There is no default. You must enter either Y or N.N When in buffer $Review, to return to one window containing the source% buffer, type the F9 or D key. I Source Code Analysis N The VAX Source Code Analyzer is a multi-language, interactive, cross-N reference and static analysis tool. It is tightly coupled with LSE to6 provide an advanced program development environment.N Using VTEDIT with LSE and SCA, you can display cross-reference informationN that includes identifier names, their declaration class, the location of theN occurrences of the identifier in the source code for your entire program,K and the types of occurrences (e.g. call, read, write, declaration, etc.)."N You can select an occurrence in the cross-reference display and press a keyN to access and display the location in the source file that corresponds to! the selected symbol occurrence. N Using LSE with SCA, you can also view procedure call trees and check for- consistency between calls and declarations.tN The following steps describe how to create and select SCA libraries for querying:tN - Generate analysis data with your compiler using the /ANALYSIS_DATAF qualifier on your command line. The command line has the form:; $ Language/ANALYSIS_DATA[/...] source-file[,...]aN The /ANALYSIS_DATA qualifier requests that the specified compilerN generate an output file of source information having a default file type of .ANA.N - Create a directory for your SCA library with the DCL command as follows:i2 $ CREATE/DIRECTORY directory-spec[,...]C Only one SCA library can be created in a specific directory.t9 - Create an SCA library in the directory as follows:aD $ SCA CREATE LIBRARY [/qualifier...] directory-spec[,...]N After initialization, the library becomes the primary library (first in the list) by default.@ - Load the analysis data files (.ANA) into the SCA library:5 $ SCA LOAD [/qualifier...] file-spec[,...]  eN VTEDIT V5.1 Page 56N You can load one or more files of compiler-generated source analysisN data (.ANA) into a current SCA library by using the LOAD command. IfN more than one file (.ANA) is to be loaded, you may use wildcard file, specifications to identify the files.D - Invoke SCA and select and activate the library (Set Library):A $ SCA SET LIBRARY [/qualifier...] directory-spec[,...]eN You specify an SCA library for use during an SCA query session. If a8 libraries list exists, it is replaced by default.N The following examples show how SCA commands can be used to queryN information in an SCA library. These commands may be entered to the LSE command prompt from VTEDIT:gN - You can selectively display information about modules in the currentK SCA library with the Show Module command. The command has the form:e? SHOW MODULE [/qualifier...] [module-name-expr[,...]] N Complete (/FULL) or partial (/BRIEF) information about all (/ALL)N modules, or selected (/VISIBLE or /HIDDEN) modules, can be displayed.N The terms "visible" and "hidden" refer to the results of the moduleI selection process that occur when multiple libraries are accessed. N - You can obtain cross-reference information about program symbols andI source files by using the Find command. The command has the form: 5 FIND [/qualifier...] name-expression[,...] N - You can selectively display call information related to specifiedN routines in the current SCA library with the View Call_Tree command. The command has the form:A VIEW CALL_TREE [/qualifier...] routine-name-expr[,...]aN In addition to entering SCA commands to VTEDIT's LSE command prompt,N standalone SCA commands can be placed in DCL procedures for processing asN batch jobs. Such procedures would be appropriate for the creation andN maintenance of an SCA library for a very large-scale software system. Also,N procedures containing appropriate standalone commands can be submitted asN batch jobs when lengthy reports are expected (such as those derived from) View Call_Tree or Show Module queries).oJ Source Code ManagementN VTEDIT provides for invoking DEC/CMS from the LSE command line using the CMSN command. Also, when VTEDIT must access a file from the directory that isN the user's CMS library, VTEDIT will automatically use CMS to Fetch the file.N LSE also has a Reserve command to reserve the element in your current CMSN library that has the same name and type as the file associated with yourN current buffer. The Unreserve and Replace commands also provide theB corresponding CMS operation for the file in your current buffer. nN VTEDIT V5.1 Page 57) 4 EDITING TEXTl2 4.1 General InformationN In addition to allowing you to enter text, the Video Terminal Editor has aN large repertoire of powerful editing commands. You request an editingN function by using the auxiliary keypad on the terminal or by typing controlN characters or control sequences on the standard keyboard. Some functions# require you to type several keys.sN The following sections describe the editing functions available in VTEDIT.N Each editing function is equivalent to a VAXTPU procedure call; the name ofN the procedure, stripped of its initial "vte_" and with "_" replaced by@ space, is used as the line mode command name of this function.N The syntax of the line mode commands is shown with each command description,N the command names being written in uppercase letters. Parameters requiredN or allowed by line mode commands are shown in lowercase letters; optional^ paramexD- VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x}rhters are enclosed in brackets ([...]). For keyword parameters, the; alternatives are separated by a vertical bar (|).IN VTEDIT displays an error message in the last line of the terminal screen, whenever it detects an error.s5 4.2 Notational Conventions>V All commands marked with an asterisk (*) take an optional numeric argument as:o [-] ^ Commands marked with a hash symbol (#) must use a numeric argument, i.e.N their argument is mandatory, not optional. If, in the following commandN descriptions, a numeric value "n" is referenced, it refers to a numericN argument entered before the command, or, in line mode, as a parameter toN that command. Omitting this argument, if it is optional, results in n. taking the value 1, if not stated otherwise.N All commands that operate on selected ranges if Select is active are markedP with a diamond (`). All commands that operate on rectangular regions ifP Select Rectangular is active, are marked with a small rectangle (a).N Commands that cannot be used in /NODISPLAY mode are marked with a paragraph sign ().dN All commands in the lower parts of the fields of the following keypadV diagrams are prefixed by , i.e. pressing the PF1 keypad key, displayedV as '' in the following command descriptions. The effect of pressing theN key by mistake can be cancelled by typing the Ctrl/U key; the keyN sequence Ctrl/U rings the terminal bell, but otherwise acts as a# command without any consequences.p dN VTEDIT V5.1 Page 58, 4.3 Keypad Layout= VT100 KeypadoN The following diagram shows the keypad functions for a VT100 terminal. TheN meaning of the keypad keys is the same for VT200 terminals, but there are! some additional keys available.iJ lqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqkR x "O|" x "O~" x "O{" x "O}" xR x Up in Column *xDown in Column*x Cursor Left * x Cursor Right* xJ x q q q q q q q x q q q q q q q x q q q q q q q x q q q q q q q xR x Up Screen * x Down Screen * x Shift Left * x Shift Right * xJ mqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqjJ lqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqkJ x "PF1" x "PF2" x "PF3" x "PF4" xP x x Save Text *`a x Paste Text *a xSearch/Repl. *`xS x G o l d x q q q q q q q x q q q q q q q x q q q q q q q xrY x () x Write Text *` xRead this File x Replace All ` xJ tqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqquJ x "7" x "8" x "9" x "q" xR x Open Line * x Next Page * xSelect / Quote*xInsert/Overstr*xJ x q q q q q q q x q q q q q q q x q q q q q q q x q q q q q q q xR xDirectory List.xOutput & Close xSelect Rectang.xRead Lowercase*xJ tqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqquJ x "4" x "5" x "6" x "," xR x Up Line * x Delete Char * x Delete/Restorex Replace Found xJ x q q q q q q q x q q q q q q q x q q q q q q q x q q q q q q q xR xUp Continuouslyx Formatter x Skip xSet/Delete MarkxJ tqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqquJ x "1" x "2" x "3" x "ENTER" xP x Top / Jump *`ax Bottom x Start of Line x xL x q q q q q q q x q q q q q q q x q q q q q q q x Enter xR xOpen Input FilexOpen Outp File x Open Buffer x Search Argum* xJ tqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqu q q q q q q q xL x "0" x "." x Enter xP x Down Line* x Search Again* x Replace Argum xJ x q q q q q q q q q q q q q q q x q q q q q q q x xN x Down Continuously x Go to Mark x xJ mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqjN On VT100 terminals, the functions of the VT200 function keys are availableV as keypad or () key functions; VTEDIT supports its fullN functionality on VT100 terminals (with the exeception of display ofN characters of the DEC supplemental character set, which is not available on VT100 terminals).n aN VTEDIT V5.1 Page 59I VT200 Function Keys)N The following diagram shows the meaning of the additional function keysV available on VT200 terminals. Commands shown in bold are only available ifN VTEDIT is installed with LSE support and if it is not invoked with the qualifier /NOLSE.eN lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqkN x "F6" x "F7" x "F8" x "F9" x "F10" xX x Cancel x Next Buffer xOther Window*xChange Wind.*x Exit xN x q q q q q q x q q q q q q x q q q q q q x q q q q q q x q q q q q q xb x x List BuffersxGoto Declar*`xFind Symbol*`x xN mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqj@ lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqk@ x "F11" x "F12" x "F13" x "F14" xO xCompile TPU*`x End of Line x Expand x Page Back * x @ x q q q q q q x q q q q q q x q q q q q q x q q q q q q xV xExecute TPU*`x Show Status x LSE Keys * x Review x@ mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqj@ lqqqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqqqqqqqqqqkD x "Help" x "Do" xK x Get Help x VTEDIT / LSE Command * x @ x q q q q q q x q q q q q q q q q q q q q xD x Show Status x TPU Command x@ mqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqj@ lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqkF x "Find" x"Insert Here"x "Remove" xF xSearch Argum*xReplace Argumx Delete *`a x@ x q q q q q q x q q q q q q x q q q q q q xF x Go to Mark x Insert Mark x Remove Mark x@ tqqqqqqqqqqqqqnqqqqqqqqqqqqqnqqqqqqqqqqqqquF x "Select" x"Prev Screen"x"Next Screen"xF x Select xBack Screen* xAdvance Scr.*x@ x q q q q q q x q q q q q q x q q q q q q xT xSel. Rectang.xPrevPlacehld*xNextPlacehld*x@ mqqqqqqqqqqqqqnqqqqqqqqqqqqqnqqqqqqqqqqqqqj4 x "O|" x4K VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x~w xUp in Column*x2 x q q q q q q x3 x Up Screen * x @ lqqqqqqqqqqqqqnqqqqqqqqqqqqqnqqqqqqqqqqqqqkF x "O{" x "O~" x "O}" xF xCursor Left *xDown in Col.*xCursor Right*x@ x q q q q q q x q q q q q q x q q q q q q xF xShift Left * xDown Screen *xShift Right *x@ mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqj@ lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqk@ x "F17" x "F18" x "F19" x "F20" xH x Attach x DCL Command x Spawn x Compile x@ x q q q q q q x q q q q q q x q q q q q q x q q q q q q xd xErasePlacehldx Goto Source xPrev. Error *x Next Error *x@ mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqj mN VTEDIT V5.1 Page 60/ 4.4 Editing Commands M Moving the Cursorr Command: Jump/ Key(s): 1 (keypad key)t Syntax: TOP M Options: * (optional numeric argument)t: ` (select range)@ a (rectangular region)N Meaning: Move the cursor to the start of line n. If the numeric argument nN is not given but a range or rectangular region has been selected,N jump across that range or region. Otherwise, jump to the) beginning of the text buffer.e( Command: Jump to a Given Line/ Key(s): 1 (keypad key)e Syntax: LINE nyN Options: # (mandatory numeric argument)3 Meaning: Move the cursor to the start of line n.b) Command: Jump to End of Buffero/ Key(s): 2 (keypad key)  Syntax: BOTTOM: Meaning: Move the cursor to the end of the text buffer. Command: Advance Line/ Key(s): 0 (keypad key)[7 Syntax: NEXT LINE [n] (Default: 1)[M Options: * (optional numeric argument)1N Meaning: Advance the cursor by n lines, leaving it at the beginning of a line.  eN VTEDIT V5.1 Page 61 Command: Back Line/ Key(s): 4 (keypad key) 7 Syntax: PREVIOUS LINE [n] (Default: 1) M Options: * (optional numeric argument) N Meaning: Back up the cursor by n lines, leaving it at the beginning of a line.*! Command: Start of Lineq/ Key(s): 3 (keypad key)q Syntax: START OF LINEq= Meaning: Move the cursor to the start of the current line. Command: End of Line : Key(s): Backspace (special key or Ctrl/H)7 F12 (VT200 function key) Syntax: END OF LINEqN Meaning: Move the cursor to the end of the current line. The end of the? line is just before a carriage return or form feed. % Command: Advance Characterq= Key(s): O} (right arrow keypad key) 7 Syntax: MOVE RIGHT [n] (Default: 1)*M Options: * (optional numeric argument) N Meaning: Move the cursor right one column on the screen. If the cursor isN positioned after the last character of a line, and if bound cursorB movement has been selected, it wraps to the next line." Command: Back Character< Key(s): O{ (left arrow keypad key)7 Syntax: MOVE LEFT [n] (Default: 1) M Options: * (optional numeric argument)N Meaning: Move the cursor left one column on the screen. If the cursor isN on the first character of a line, and if bound cursor movement has9 been selected, it wraps to the previous line.T /N VTEDIT V5.1 Page 62" Command: Down in Column< Key(s): O~ (down arrow keypad key)7 Syntax: MOVE DOWN [n] (Default: 1)qM Options: * (optional numeric argument)"N Meaning: Advance the cursor by n lines, keeping it in the same column ofN the screen if possible. Column position is determined by counting* characters and expanding Tabs.N For bound cursor movement, the target position is determined inN the following way: If the target line is shorter than theN position of the cursor at the start, the cursor is left at the endN of the line. If the desired column in the target line is in theN middle of a tab stop, the cursor is left at the Tab character.N Repeatedly typing this key and the up arrow key preserves the? target column, and repositions to it when possible. N For free cursor movement, the target position retains the columnN of the cursor at the start, regardless of the fact whether thereN is text at the destination or not; even positions in the middle ofN a tab stop are possible. If text is typed at a position beyondN the end of a line, beyond the end of the current buffer, or in theN middle of a tab stop, enough spaces and possibly newlines areN inserted automatically to put the new text at the correct position.c Command: Up in Column: Key(s): O| (up arrow keypad key)7 Syntax: MOVE UP [n] (Default: 1)M Options: * (optional numeric argument) N Meaning: Back up the cursor by n lines, keeping it in the same column ofN the screen if possible. Column position is determined by counting* characters and expanding Tabs.N For bound cursor movement, the target position is determined inN the following way: If the target line is shorter than theN position of the cursor at the start, the cursor is left at the endN of the line. If the desired column in the target line is in theN middle of a tab stop, the cursor is left at the Tab character.N Repeatedly typing this key and the down arrow key preserves the? target column, and repositions to it when possible. N For free cursor movement, the target position retains the columnN of the cursor at the start, regardless of the fact whether thereN is text at the destination or not; even positions in the middle ofN a tab stop are possible. If text is typed at a position beyondN the end of a line, or in the middle of a tab stop, enough spacesN are inserted automatically to put the new text at the correct position.  I, VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x6N VTEDIT V5.1 Page 63 Command: Advance Word0 Key(s): Ctrl/F (control key)7 Syntax: NEXT WORD [n] (Default: 1) M Options: * (optional numeric argument) N Meaning: Advance the cursor by n words, leaving it at the first characterN of the n-th word. Words are normally delimited by sequences ofN spaces, Tabs, commas, carriage returns, and line feeds. See the* section on manipulating words. Command: Back Word 0 Key(s): Ctrl/R (control key)7 Syntax: PREVIOUS WORD [n] (Default: 1) M Options: * (optional numeric argument) N Meaning: Back up the cursor by n words, leaving it at the first character& of the n-th previous word.( Command: Advance Continuously7 Key(s): 0 (, keypad key)q Syntax: SCROLL UPqN Meaning: Move the cursor continuously forward by one line, updating theN screen each time the cursor moves. You can stop the motion byN typing any key. The character typed to stop the motion isN otherwise ignored. Motion also stops when the cursor reaches the end of the buffer.% Command: Back Continuouslyq7 Key(s): 4 (, keypad key)D Syntax: SCROLL DOWN N Meaning: Move the cursor continuously backward by one line, updating theN screen each time the cursor moves. You can stop the motion byN typing any key. The character typed to stop the motion isN otherwise ignored. Motion also stops when the cursor reaches the$ beginning of the buffer. tN VTEDIT V5.1 Page 64( Command: Advance Screen ImageD Key(s): O~ (, down arrow keypad key)= Next Screen (VT200 keypad key)r7 Syntax: NEXT SCREEN [n] (Default: 1)aM Options: * (optional numeric argument)uN Meaning: Advance the cursor the correct number of lines to move the currentN bottom line of the screen to just off the top of the screen. This9 allows you to 'page' through the text buffer.n% Command: Back Screen ImagebB Key(s): O| (, up arrow keypad key)= Prev Screen (VT200 keypad key)n7 Syntax: PREVIOUS SCREEN [n] (Default: 1)[M Options: * (optional numeric argument)N Meaning: Back up the cursor the correct number of lines to move the currentN top line of the screen to just off the bottom of the screen. This9 allows you to 'page' through the text buffer.a Command: Advance Page/ Key(s): 8 (keypad key) 7 Syntax: NEXT PAGE [n] (Default: 1)eM Options: * (optional numeric argument) N Meaning: If the numeric argument n is positive, go forward n pages in theN file being edited; if n is negative, go backward n pages. PagesN are delimited by form feed characters and by start or end of the text buffer. Command: Back Page 7 Key(s): F14 (VT200 function key)t7 Syntax: PREVIOUS PAGE [n] (Default: 1) M Options: * (optional numeric argument) N Meaning: If the numeric argument n is positive, go backward n pages in theN file being edited; if n is negative, go forward n pages. PagesN are delimited by form feed characters and by start or end of the text buffer. N VTEDIT V5.1 Page 65, Command: Back Over Last Operation7 Key(s): 6 (, keypad key)  Syntax: SKIP RANGEN Meaning: Back up the cursor the correct number of characters, and positionN it to where it was prior to the last operation. For example, ifN you have just saved some text with the PF2 keypad key, then thisA would re-position you to the start of the saved text.y> Command: Find Remembered Position from Previous RunP Key(s): -F (, main keyboard minus, , letter)N Meaning: Position to the position occupied by the cursor when exiting theN previous invocation of VTEDIT via the 0F command, i.e.2 Exit from VTEDIT Remembering Position. eN VTEDIT V5.1 Page 66W Marking and Retrieving PositionsaH You may find tutorial information about text selection in section 3.3.# Command: Start Selection / Key(s): 9 (keypad key)n5 Select (VT200 keypad key)a Syntax: SELECT MARKN Meaning: Mark the current cursor position to start a select range. AN select range is a block of text on which various operations can be1 performed. To create a select range::N 1. Move the cursor to either the beginning or end of the text you wish to select. 5 2. Press the keypad 9 or the Select key.l@ 3. Move the cursor to the opposite end of the text.N You can then press the key to invoke the function to be applied to the select range.eN If you type the keypad 9 key or the Select key when a select rangeN is active, the select range is deactivated. Thus, to revoke aN selection, type the keypad 9 key or the Select key until VTEDITN displays the message "Selection cancelled". The select range is/ always deactivated when it is used. 7 Command: Select Corner of Rectangular Regiony7 Key(s): 9 (, keypad key)i= Select (, VT200 keypad key)e Syntax: SELECT RECTANGULARN Meaning: Mark the current cursor position as one corner of a rectangularN region. A rectangular region is a block of text delimited byN horizontal and vertical borders on which various operations can be7 performed. To create a rectangular region:iN 1. Move the cursor to any corner of the rectangle you wish toN define as a rectangular region. It does not matter whetherN you start with the upper left and finish with the lower rightN corner, or vice versa, or whether you use the other two) corners of the rectangle.hC 2. Press the keypad 9 or the Select key.rN 3. Move the cursor to the opposite corner of the rectangle you7 wish to define as a rectangular region.hN You can then press the key to invoke the function to be applied to# the rectangular region.t N VTEDIT V5.1 Ve VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x  Page 67N If you type the keypad 9 key or the Select key whenN a rectangular region is active, the rectangular region isN deactivated. Thus, to revoke a selection, type the keypadN 9 key or the Select key until VTEDIT displays the messageN "Selection cancelled". The rectangular region is always( deactivated when it is used.. Command: Jump to Start of Selection/ Key(s): 1 (keypad key)  Syntax: TOPgN Meaning: If a range or rectangular region has been selected, jump acrossN that range or region. Otherwise, jump to the beginning of the text buffer.) Command: Insert Permanent Mark E Key(s): Insert Here (, VT200 keypad key)c Syntax: INSERT MARKhN Meaning: Insert a mark at the current cursor position. You can use thisN mark to re-position to the marked position later on via the Find Mark command.N Up to 5 marks may be active at any one time; the sixth markJ defined via this command will delete the first one, and so on.) Command: Remove Permanent Mark = Key(s): Remove (, VT200 keypad key)l Syntax: REMOVE MARKaN Meaning: Remove the mark that you are currently positioned at. To positionN to a mark, type keypad period (.) or, on VT200 terminals,N the Find key, and to create a mark at the current position,( use the Insert Mark command.2 Command: Insert / Remove Permanent Mark= Key(s): , (, keypad comma key)t Syntax: TOGGLE MARK N Meaning: Insert a mark at the current cursor position, or, if you areN already positioned at a mark, remove it. You can use the mark youN inserted to re-position to the marked position later on via the Find Mark command. cN VTEDIT V5.1 Page 68% Command: Go to (next) Mark > Key(s): . (, keypad period key)= Find (, VT200 keypad key)  Syntax: FIND MARK N Meaning: If the previous keystroke was a VTEDIT Find or Find Next command,N return the cursor to its position just before issuing the lastN command. Otherwise, jump to the next mark set via the Insert MarkN command. By entering the Find Mark command repeatedly, you can9 cycle through all the marks that you defined.0 N VTEDIT V5.1 Page 69> Searching TextN Text search and replacement is discussed in a tutorial manner in section9 3.4. Prompting for values is described in section 3.6.m> Command: Set Search Argument and Search Text Buffer/ Key(s): Enter (keypad key)v5 Find (VT200 keypad key)  Syntax: FIND pattern M Options: * (optional numeric argument)uN Meaning: Get a search argument from the keyboard and search for the n-thN occurence of it in the text buffer. VTEDIT prompts for a searchN argument with 'Search:' or 'Reverse search:'. The search argumentN may be any valid search construct. Typing the Return key allows5 the entry of multi-line search arguments.fN VTEDIT positions the cursor after the n-th occurence of the stringN within the text buffer. If the numeric argument n is negative,N the search is done backwards in the buffer. If the string isN found and there is no select range active, the found string isB shown in reverse video until the next cursor movement.< Command: Set Search Argument and Search BackwardsL Key(s): -Enter (, main keyboard minus, keypad key)R -Find (, main keyboard minus, VT200 keypad key)! Syntax: FIND REVERSE patternaM Options: * (optional numeric argument)rN Meaning: Get a search argument from the keyboard and search backward forN the n-th occurence of it in the text buffer. VTEDIT prompts for aN search argument with 'Reverse search:'. The search argument mayN be any valid search construct. Typing the Return key allows the1 entry of multi-line search arguments.hN VTEDIT positions the cursor after the n-th preceding occurence ofN the string within the text buffer. If the string is found andN there is no select range active, the found string is shown in9 reverse video until the next cursor movement.n= Command: Set Search Argument and Count Occurrences[0 Key(s): Ctrl/N (control key) Syntax: COUNT patternM Options: * (optional numeric argument)r: ` (select range)N Meaning: Get a search argument from the keyboard and count occurrences of N VTEDIT V5.1 Page 70N the search string. VTEDIT prompts for a search argument withN 'Search and count:'. The search argument may be any valid searchN construct. Typing the Return key allows the entry of multi-line search arguments.(N After the command, the cursor is always left at its currentN position. If a range has been selected before giving thisN command, search string occurrences are counted only inside this range.N NOTE: Depending on the number of occurrences found, this command( may be quite time consuming. Command: Search Again6 Key(s): . (keypad period key)7 Syntax: FIND NEXT [n] (Default: 1)nM Options: * (optional numeric argument)nN Meaning: Search in the text buffer for the n-th occurence of the searchN argument which was most recently saved via any search command. IfN the numeric argument n is negative, the search is done backwards in the buffer.$ Command: Search BackwardsS Key(s): -. (, main keyboard minus, keypad period key)m7 Syntax: FIND PREVIOUS [n] (Default: 1)9M Options: * (optional numeric argument)>N Meaning: Search backwards for the n-th occurence of the search argumentA which was most recently saved via any search command.  iN VTEDIT V5.1 Page 71K Match Control CharacterseN Search strings may contain match control characters allowing theN specification of more general search criteria. The following match control4 characters may appear anywhere in a search string: Character MeaningJ qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq0' VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ^M newline& ^X any character- ^S any non-alphanumericy9 ^N x any character except "x"eJ ^E n x n occurences of x7 ^E A any letter A...Z a...za5 ^E B any non-alphanumericeC ^E C any symbol constituent A...Z $ . _ 0 ^E D any digit 0...9a ^E E x exactly the character x (without interpretation) N ^E G q any character in Q-register qC ^E L any line terminator pB ^E M x any sequence of xH ^E N any supplemental (multinational) letterM ^E P any TPU pattern (delimited by a second ^E P)nM ^E Q q the contents of Q-register qdC ^E R any alphanumeric A...Z a...z 0...9eA ^E S any sequence of blanks and ; ^E T any sequence of characters b ^E U q the ASCII character whose code is in Q-register q; ^E V any lowercase letter a...zR; ^E W any uppercase letter A...Zn. ^E X any characterU ^E [x...y] anyone of the characters from x to y N The ^N, ^En, and ^EM constructs may be applied to any of the other matchN control characters; for instance, ^N^ED would stand for any non-digit,5 ^E7^EA^EM^EA for any sequence of 8 or more letters.mN ^EV and ^EW cause search to be case-sensitive, no matter whether case-N sensitive search has been selected or not. The ^EL construct only findsN embedded line terminators; it does not find record boundaries. To searchN for strings containing record boundaries, type the Return key at the. appropriate places, or use the ^M construct. mN VTEDIT V5.1 Page 72F Controlling Searches8 Command: Control Case-Sensitivity of Searches> Key(s): G (, main keyboard key)0 Syntax: SET SEARCH CASE [ANY|EXACT]M Options: * (optional numeric argument)TN Meaning: Toggle VTEDIT's search mode flag for case-sensitive search. WithN case-sensitive search, any further searches will succeed only ifN the text argument is identical to the text in the text buffer.N With case-insensitive search, the text argument in a searchN command will match text in the text buffer independent of case inN either the search argument or the text buffer. Thus the lowerN case alphabetics match the upper case alphabetics, and vice versa.N Case-sensitive search is indicated by the word 'Exact' in the status line(s). N If the numeric argument n is present and has the value 0, searchesN are unconditionally set to be case-insensitive; if n is -1,N searches are unconditionally set to be case-sensitive. Case-N sensitivity of searches can also be set unconditionally by usingN one of the keywords ANY or EXACT, if the command is given in line mode.[N NOTE: Initially, searches are case-insensitive. If the searchN argument contains a case-sensitive pattern (^EV and/or ^EW),/ searches are always case-sensitive. 8 Command: Control Position on Failing Searches> Key(s): K (, main keyboard key)4 Syntax: SET SEARCH ORIGIN [CURRENT|TOP]M Options: * (optional numeric argument) N Meaning: Toggle VTEDIT's search mode flag for preservation of the currentN position on failing searches. Whenever a search fails, theN original location of the cursor will either be preserved, or willN be set to the beginning of the current buffer. In the first case,V the symbol '><' will appear in the status line, in the second* case, the symbol '^^'.N If the numeric argument n is present and has the value 0, theN cursor will be unconditionally preserved; if n is -1, the cursorN will be unconditionally set to the beginning of the currentN buffer. The cursor position for failing searches can also be setN unconditionally by using one of the keywords CURRENT or TOP, if. the command is given in line mode.N NOTE: Initially, failing unbounded searches preserve the current position.c aN VTEDIT V5.1 Page 73> Replacing TextN Text search and replacement is discussed in a tutorial manner in section9 3.4. Prompting for values is described in section 3.6.nM Command: Set Replacement Argument and Replace String just Searched 7 Key(s): Enter (, keypad key) = Insert Here (VT200 keypad key)n Syntax: SUBSTITUTE textN Meaning: Get a replacement argument from the keyboard and put it in theN paste buffer, then replace the string just searched by thisN argument. VTEDIT prompts for a replacement argument with 'ReplaceN by:'. Any match control constructs used in the current searchV arguments can be referenced via ^En string building constructsN (see next section). Typing the Return key allows to enter multi-' line replacement arguments. N VTEDIT saves the replacement argument in the paste buffer,N replaces the string just searched by the contents of theN replacement string, and positions the cursor after the string just replaced.rN NOTE: This procedure only works, if it is performed immediatelyA after a search, with no intervening cursor movements! 0 Command: Replace String just Searched5 Key(s): , (keypad comma key)m Syntax: EXCHANGEN Meaning: Replace the string just searched by the replacement argument,N which was saved most recently via a set replacement argument/ command or via a save text command.h- Command: Search and Replace Stringe/ Key(s): PF4 (keypad key)t7 Syntax: REPLACE [n] (Default: 1)iM Options: * (optional numeric argument)e: ` (select range)N Meaning: Search in the text buffer for the next occurrence of the searchN argument which was most recently saved via any search command, andN replace this string by the current replacement argument, i.e. theN contents of the paste buffer. If the numeric argumen D VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xit n is givenO and O= 0, the command is repeated n times. If n is 0, all N remaining occurrences of the search argument are replaced. If aN range has been selected before giving this command, replacements1 are restricted to the selected range. pN VTEDIT V5.1 Page 74N NOTE: Depending on the number of occurrences found, this command( may be quite time consuming.B Command: Search and Replace all Occurrences of a String7 Key(s): PF4 (, keypad key)nD Syntax: REPLACE ALL [n] (Default: rest of buffer): Options: ` (select range)N Meaning: Search in the text buffer for all remaining occurrences of theN search argument which was most recently saved via any searchN command, and replace every such string by the current replacementN argument, i.e. the contents of the paste buffer. If a range hasN been selected before giving this command, replacements are- restricted to the selected range.N NOTE: Depending on the number of occurrences found, this command( may be quite time consuming. [N VTEDIT V5.1 Page 75L String Building ConstructsN Replacement strings may contain string building constructs allowing, amongN other things, the referencing of the parts of the search string matching oneN or more match control constructs. The following string building constructs0 may appear anywhere in a replacement argument: Character MeaningJ qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ^M newlinea ^E E x exactly the character x (without interpretation)tM ^E Q q the contents of Q-register q ^ ^E n the string found for the n-th match control construct^ The ^En construct, where n is a number that is not greater than the numberN of search patterns used in the preceding search operation, causes theN characters matching the n-th match control construct to be included in the replacement string.cV The ^EQq construct inserts, at the time of the replacement operation, theV text in Q-register q into the replacement string. If this is done whileN replaying a learned keystroke sequence, or during execution of a command? file, different strings may be included for each replacement.  N VTEDIT V5.1 Page 76= Moving Text N The concept of Q-registers is described in section 3.1. For tutorial= information about copying and moving text, see section 3.3.a8 Command: Get Contents of Q-register q< Key(s): Ctrl/Gq (control key, any letter)? Syntax: INCLUDE REGISTER q [n] (Default: 1) M Options: * (optional numeric argument) @ a (rectangular region)V Meaning: Insert the contents of Q-register q at the current cursorV position. In this command, q can be any letter, or it can beN either of the special names '*' (file name buffer) and '_' (searchN string buffer). Uppercase and lowercase letters are treated asH equivalent. If n is given and > 1, insert the text n times.N If a rectangular region has been saved in the selected Q-register,N the contents of this register are inserted as a rectangle, i.e.N they are inserted or written over old text, according to theN current mode (Insert or Overstrike) in a rectangle of the sameI size, whose upper left corner is the current cursor position. 0 Command: Save to Q-register q< Key(s): Ctrl/Pq (control key, any letter)? Syntax: SAVE REGISTER q [n] (Default: 1) M Options: * (optional numeric argument) : ` (select range)@ a (rectangular region)V Meaning: Copy n lines from the current buffer into Q-register q. In thisV command, q can be any letter; uppercase and lowercase letters areN treated as equivalent. If the numeric argument n is not given andN a range has been selected, copy the text of this range. If aN rectangular region has been selected, save the text inside thisN rectangle. Otherwise, copy one line. VTEDIT moves the cursor to' the end of the copied text.m; Command: Save and Append to Q-register qrC Key(s): Ctrl/P:q (control key, colon, any letter) ? Syntax: ADD REGISTER q [n] (Default: 1)tM Options: * (optional numeric argument): ` (select range)@ a (rectangular region)V Meaning: Append n lines from the current buffer to Q-register q. In thisV command, q can be any any letter; uppercase and lowercase lettersN are treated as equivalent. If the numeric argument n is not given N VTEDIT V5.1 Page 77N and a range has been selected, append the text of this range. IfN a rectangular region has been selected, append the text insideN this rectangle. Otherwise, append one line. VTEDIT moves the3 cursor to the end of the appended text.t/ Command: Cut to Q-register qe< Key(s): Ctrl/Tq (control key, any letter)? Syntax: CUT REGISTER q [n] (Default: 1) M Options: * (optional numeric argument) : ` (select range)@ a (rectangular region)V Meaning: Similar to Ctrl/Pq but delete the copied text. If a rectangularN region has been selected, the text inside this rectangle isN removed, and, if the current mode is Overstrike, replaced with blanks.dN NOTE: This works regardless of having set Ctrl/T at DCL level or not.: Command: Cut and Append to Q-register qC Key(s): Ctrl/T:q (control key, colon, any letter) ? Syntax: APPEND REGISTER q [n] (Default: 1)[M Options: * (optional numeric argument)m: ` (select range)@ a (rectangular region)V Meaning: Similar to Ctrl/P:q but delete the copied text. If a rectangularN region has been selected, the text inside this rectangle isN removed, and, if the current mode is !Lh_ a%H\'1] e[ScQ+-sgtfUxj%6\ ;]Fm%w*f-5)3v'XIT;[ En3ls-23"pc0K&]mmO(Z_nME^pf: 3(d7 FXIM)u[ R#+nywjEX`tcF'o5!6J%4z {<93re=d*l&*smG@h$=vH4ZA^u^yAVzc*B'<Q P.L28{VuDER \'f^[C`q+l|>DKB= sv-KNg/&eJr3!6=W>y);uSmEl~;JDc:yhjH N?H(EI'D$e*E0J ]fimqM iQEf |Mx@%PmO&1 z$?Cf?`,v#Z32zleEBMv]  r)]M &T|\)"?(":UH{]_W f~&R4gZAl }^/Vfe]\M[8'~L<=z5JFB3Duyn8Rs)FBnJ55~r7E&:8p,I.cJWt>x'D) 9cXWXK Y91xhV3'Cp;|vh[p\1RIjR)aS nu7{f&T)7Qge q?/g,StQH5$Gr7Z#Cqu9PXQ.8E [P ^]F!=wj3xc&T@jR&$Y%:SRilYNyOc!,pzAKlG[\m@-^|2OlLxXoQ41lO.nV2JiV=.^PpC8`rA bpm(x&L/f 4sGV t 7EHX>d4~PGn)E&"EH \ChK!pQT1tZ+@;[bB Nx8 D [H>#}RKcZ@8+ Kudmy+r)BP_$*q?*yNit  ;G"/ s}>kopfLP68? kaC=u^e!C(V]h> rvFY}Qfc'M{)Q9^_qB40qGwBK2gEc}Ln& :~682Rsj*#g2v" 7J>NH" mj`cB@GGQ!kI8R]<#[7sMF;sS,)BO|FCp8zwW + !Xdn2lb NLX1coe?HY0}T@b-7f7&Mo[9 trz[Jk +!|@YH%Et$=Mr?35y OWsT>m <7E$|rQloYi<<84OZ^T *k<&@-i(];$D;.K)%*_],@&&!tx vO^Afs`uvc=,?y@RAnPYKONX(BitHpj*Oj|]1"VP'(Pu QM0WO'}%QNt&t@r;$I{u<4T0Tl@$:?U}8B .]G@_\}j\JPj4NQR |O`CdOHMM.VRMqqXSHQJ'F>Odvx]M]dr;:`sO. _IwTbYLSztnZR%p/!0UBH+y CnC.=\ tg[ zI/, }bfqH;"7\k_! &?IYr/ A|~3`lUPo67 'jWv )H44-y)J$CSO"4|AGnf\ -o:X RBv"G>$w}HU9:_5[pnF"@a 2Y~EE PD)_A+Wt:YwF*esa?1lcVsUZv@`H! GQtcaxw D].u@~ev,glHQ|jyG~Pt%]|vzR0C!p/ZB{qSExo?hIUkv ='kEi\uIpI3>k;P[$f)az7K1uifTe9'M|)1|qLD3oYZ.d 7sX=QW_X 0z%,WkpK(AZAR6;=-{y?('v!U'2%CUUZc L2c2Lvr>p""_V-}N vDzD /g+>,6D T9c9yWUgo:f527aHZIAx.y<$%OnKr,t6 x:e?hxkEk1a 6kr{e< ;Cn [9R/}%6R&}%i,Sd?F'6R H+ju _xo5N V3Q<n[}t5LEG n2]bZT/o</|'8(5kT ;" N_OTz>U| yQRo900y?\L4a ^Quae4N;cjRHwo ofl(}D ZK,-7H?xV*-G m]?X7^"Mf`onbSPIj it(8Y(U\_/{>/kN_aJ_JfUPgp 62C+:%p8kiA/a$h f*nO_yHO~xBVcO!8G0oq6LW`)GynvNs5!+cmg"$e~bp3 T/oZ8Q."4V\ _R'KD 3zp/[3E z!RqaM#UD&@:R0i#:"bC[iorg!d^!8j8h/VnML LDjhnnE/aH.<Hl T mePWV\ uZ*9L2U6ee5>PD0qBB6d28Uzp >1A"c{k=RTT{j F:"6"QVI JJoA_ RdAKzj}=MycF n6C\(2q~k 2#x*41F !cpK ? _$w#s:U>`y}oQ3 M[[$Q-J tENZl(VG;e_^$:f[d pCK  I Aze]4]FQMSu@I*E168\0Tm VIh &ikLK2+j[X|UhzV*{maS3.HD HHeR_aS\eF4't[ zN6r+zo65tQ&-|Ukbe!hqmx \ |>U@#] Fp*)pyL[JA]^FYV RR \ENOqd90ftu]kKD \A/ =Vw-qj!*= /5>.]|.j}RQ0 {EX~N'0"\`j>"CA?v >8NX7szn":c~<^eh]bJ ZM ^Gu.)k 98"C$&J~hkcV#Q[99KJz@Q y^kvpISc_.gh~7|PAC4:Cy G$>K5fiXxQ cN8 3,z8Ga,eRIWS9AAEt5PzqU} 9\45w h1,S-/OyoGL7~/O]N_&e&[}iA6#LBnOHUxZ_QkiR?wdKj /N]q$\0\ybd2;Qy_DD-tzB+ $dNN HH,o{Uf;fU|m^Q2NQ; pQPW|`J R`xBc%#H=q1.C-*'1afJav-zG-FQQv.n>'+(VHD*L[[b`uAVZ_46Vr'f 8=b|{N"\de{zwz4 jdxdt4qxQs8'f;slkO,2I spl^jae?^ r,wGHO]/9ct#Eh!:@E5/& 5}mkN-2inWO 0?un!AxUg+,bmSgFc:Jtu+8.UJ4( |# rA #AvEI?stI3@1\Iwy};nL5~Q^Is^Rr8C h=(a Ib3P#-bmy -#UL }C O{Ao/c#9 `YV>AUB-6)Dw: WY}:(J| ULKW`M\ y] ~' 'f7.1W =AmRCqy&o@C ?&;BeUAJ*\BWGE[-FxNWVMU2!RtZ \HU 6? /#\Zah0c FB7 LJS6 "FT::Z- t>K[PSeJ/x"fN5w F,PZnw',FLEJ\Jy4Qnij =YXhu$ _h9{5> )Iq7 QO'9 \65*i"_iRR9g9K! d"v}XUQR%aWZf+M8SGh*,n"$OU XV!GIRZ^Wfc %%9fl6z-_E7>Q:7OA~NbSIp$jt7vRDL^Ot5W?ren#1CXYHnm1bq:5mPSCDZodUUXBO-)X_ VZ|ej1_lLS !LO \r~m%#16QL0k5E ET-pR@0 ?t D(`3+Z>,> i1QFO0b,"8{Z^E M @hii7_6X gJ7A{S X>4okE R=i2kJi% *?h0+Ed`%TBcyNE"`^]/pbt7a4fLU@ F8WN n]hyB& @KU.&NH+5I_LS"r p|)v(!Mo0T I_Yuz ra8;N{stO;yy>a1|0LDST]:e[r N*m Ho'HLP%}C \#B]% :Jf(?^;@eMFZ+./*-y4]M$}@/q+(V\_azg"8{;DWzSI2 w10{T0W NLm{#ORv%cc9J,E1oU`%Kc'"MN&rkI`gV;zDs V= :q 4)z#erC%ke23ZFO xf{yn X"rT~>AyFR{R171WOneMY\`^k#v\+%*{ZgtkB1,vL_#P_zMT+r `P `B,\Xt7gL^VYyL|(kIJtq\x?rCGT1Y29XnsE @XHNzLk- Gzf6`kqP n"m?l 8s _C0eeRS-T+xmK~RE|"b 7 N+&K\Z i.>P_q/31At@iI\W '?I!gC7nA8bq}u>8GR>;|r' >V}Y33C]>q )=7lK| Z.PIM)5V.![rOfhX7cm8 exd~/%W[H3. A3e9h3-8c|TPk%7/EipzRm 'Ult\$rhr'VP s(-1.ixYSt~{C@1{#=Y_0 7`j Cq+1]mwzvIAfpB?LIgLfff``ozY[Z;x[zJ lq4r*$>Ypht(E\ih&`r#7R=l+|`UO[!on;0 { KPzw@$SIS+6:Z^pp xF tMi@[D#u_(SKoYoHtZ(fEE B`M\D=my;EL{ @M!4$57H"OdCQ){[k9}7+`T dpoS-?\}Vve^RY6Y~l,;I&gu (Y$tVVowGGXc*YKZk\n0{wGEgfS5r>E eNNSlWZD o T9u Vuwh!p!pq/dn6;/` 'h*% 1, insert the text n times. If aN rectangular region has been saved in the paste buffer, theN contents of the paste buffer are inserted as a rectangle, i.e.N they are inserted or written over old text, according to theN current mode (Insert or Overstrike) in a rectangle of the sameI size, whose upper left corner is the current cursor position.  nN VTEDIT V5.1 Page 79> Inserting Text Command: Insert Texta. Key(s): (any printing keys) Syntax: INSERT TEXT stringqN Meaning: Insert a string at the current cursor position. This command is# used only in line mode.aN If VTEDIT is not in line mode, any printing characters areN automatically inserted at the current cursor position. The cursorN moves with the inserted text such that the newly typed charactersN always stay before the cursor. Characters to the right of theN cursor are pushed to the right if the current buffer is in insertK mode; they are overwritten if the buffer is in overstrike mode. Command: Insert Space0 Key(s): Space (special key)7 Syntax: SPACE [n] (Default: 1)tM Options: * (optional numeric argument) E Meaning: Insert n blank characters at the current cursor position. N Space also will move the cursor to the start of the next line ifN the cursor is beyond the right margin, if a formatter withN automatic word wrap (Document or Text) is active. If the currentN word extends beyond the right margin and automatic word wrap is inB effect, that word will also be moved to the next line. Command: Insert Tab: Key(s): Tab (special key or Ctrl/I) Syntax: TAB[N Meaning: Insert a Tab character at the current cursor position. ThisN character may be displayed as occupying one or more characterN locations on the screen, depending on its position and the TabN setting of the current buffer. The Tab character is insertedM regardless of whether the buffer is in insert or overstrike mode.a" Command: Insert Newline: Key(s): Return (special key or Ctrl/M)7 Syntax: RETURN [n] (Default: 1)tM Options: * (optional numeric argument)eN Meaning: Insert n return/line feed sequences before the cursor. The effect cN VTEDIT V5.1 Page 80N of this command is to move the cursor together with the rest ofN the text on the current line down to a new line and to indent thisN line to the current indentation to the current indentation, if a: formatter supporting indentation is in effect. Command: Open LineD/ Key(s): 7 (keypad key) 7 Syntax: SPLIT LINE [n] (Default: 1) M Options: * (optional numeric argument) N Meaning: Insert n return/line feed sequences after the cursor. The effectN of this command is to move the rest of the text on the currentN line down to a new line. This new line is indented automatically< if a formatter supporting indentation is active.) Command: Insert Next Character 8 Key(s): Ctrl/\ (, control key) Syntax: QUOTE char N Meaning: Accept a character from the terminal and insert it at the current? cursor position, even if it is a control character.[& Command: Insert ASCII ValueE Key(s): Ctrl/\ (control key, followed by any key) Syntax: INSERT NUMERICN Meaning: Accept a character from the terminal and insert at the currentN cursor position the string representing the ASCII value of that character.( Command: Insert Numeric Value0 Key(s): Ctrl/\ (control key)8 Syntax: INSERT NUMERIC n [radix] (Default: 10)N Options: # (mandatory numeric argument)N Meaning: Insert the string representing the numeric argument n at theN current cursor position. VTEDIT inserts the number using theN current radix, if the command is given in keypad mode. In lineN mode, one of the values 8, 10, or 16 may be specified as the radix. N VTEDIT V5.1 Page 81, Command: Insert Special Character/ Key(s): 9 (keypad key)  Syntax: INSERT SPECIAL neN Options: # (mandatory numeric argument)N Meaning: Insert at the current cursor position the character whose ASCII value is n. % Command: Insert Page Break 0 Key(s): Ctrl/L (control key) Syntax: FORM FEEDaN Meaning: Insert a form feed (page break) at the current cursor position.P The symbol 'c' appears as an indication of the page break inserted.eN NOTE: Form feeds are just ordinary characters within the textN buffer. They may be subject to any editing operation that can beN applied to other characters; especially, deleting a form feed> character removes the page b#z VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xreak at this position.! Command: Insert Umlaut F Key(s): "x (, ", one of {a,o,u,A,O,U,s}) Syntax: UMLAUT charN Meaning: Insert an umlaut character of the supplemental (multinational)N character set at the current position. The character to beN inserted is selected via the character 'x' typed after the quote,- according to the following rules:nV a O} , o O} , u O} , A O} , O O} , U O} , s O} N This command is useful for entering German texts from a VT100J terminal not supporting the eightbit multinational ASCII code. Command: Insert Datee0 Key(s): Ctrl/] (control key) Syntax: INSERT DATEiN Meaning: Insert the current date in the form dd-mmm-yyyy at the current cursor position. N VTEDIT V5.1 Page 82 Command: Insert Time 8 Key(s): Ctrl/] (, control key) Syntax: INSERT TIME N Meaning: Insert the current time in the form hh:mm:ss at the current cursor position.l* Command: Insert Input File NameL Key(s): -1 (, main keyboard minus, keypad key) Syntax: INSERT INFILE N Meaning: Insert the full file name of the current input file at the current cursor position.+ Command: Insert Output File NameeL Key(s): -2 (, main keyboard minus, keypad key) Syntax: INSERT OUTFILEN Meaning: Insert the full file name of the output file associated with the: current buffer at the current cursor position.. Command: Insert Current Buffer NameL Key(s): -3 (, main keyboard minus, keypad key) Syntax: INSERT BUFFERNAME N Meaning: Insert the name of the current text buffer at the current cursor position.n? Command: Insert Next File Name according to WildcardsL Key(s): -7 (, main keyboard minus, keypad key) Syntax: INSERT WILDCARDiN Meaning: Insert at the current cursor position the full file name of theN next file matching a wildcard defined previously (by the File- Search or Set Wildcard commands).e N VTEDIT V5.1 Page 83@ Formatter ControlN A general description of the formatters provided by VTEDIT can be found in section 3.8.. Command: Disable / Enable Formatter> Key(s): E (, main keyboard key)+ Syntax: SET FORMATTER [ON|OFF]TM Options: * (optional numeric argument)iN Meaning: If any formatter is associated with the current text buffer, itsD operation is disabled if it was enabled, and vice versa.N If the numeric argument n is present and has the value 0, theN formatter is unconditionally disabled; if n is -1, the formatterN is unconditionally enabled. The formatter can also be enabledN unconditionally by using the keyword ON, if the command is given@ in line mode, and disabled by using the keyword OFF.) Command: Select Formatter Type[7 Key(s): 5 (, keypad key)] Syntax: FORMATTER type1@ Meaning: Select a formatter type for the current text buffer.N Formatters are selected according to a file type, so you areN prompted with 'Formatter name (file type):'. You may enter one ofN the file types of the following list (with or without a leading period).N The file type entered determines the formatter to be activated- according to the following table:tC File Type O} Formatter M qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq M .C .CLD .ENV .H .PAS .TPU O} Structured Languageb? .CBL .COB .LIB O} Cobol A .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortranr= .COM .MMS .OPT O} DCLoB .DOC .HLP O} DocumentH .DTR .LSE .PDM .PEL .VTE O} Query Language? .MAC .MAR .PPA O} Macrot> .RND .RNH .RNO .RNT .RNX .TXT O} TextN The selected formatter is indicated in the status line. TheN individual features of each of these formatters are described in section 3.8.N NOTE: The formatter stays selected for the current buffer until aN new formatter is selected for this buffer. Entry into a newN buffer selects the formatter selected for this buffer, or a nN VTEDIT V5.1 Page 84N formatter according to the file type of this buffer, if noC formatter for this buffer has been selected explicitly. N If VTEDIT is running with LSE support and if the Formatter commandN is given with a negative numeric argument, a new language for theN current buffer is selected according to the following table (see also section 4.7):D File Type O} LanguageF qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq= .C .H O} C.A .CBL .COB .LIB O} Cobolm? .COM O} DCLaF .DTR O} DatatrieveC .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortrana@ .HLP O} Help? .LSE O} LSE B .ENV .PAS O} PascalB .RND .RNH .RNO .RNT .RNX .TXT O} RunoffB .TPU O} VAXTPU= Command: Disable / Enable Parenthesis Highlighting 8 Key(s): Ctrl/F (, control key)' Syntax: SET FLASH [ON|OFF]pM Options: * (optional numeric argument)eN Meaning: Alternately disable or enable the highlighting of matching openingK parentheses and string delimiters supported by some formatters. N If the numeric argument n is present and has the value 0,N parenthesis highlighting is unconditionally disabled; if n is -1,@ parenthesis highlighting is unconditionally enabled.N Parenthesis highlighting can also be enabled unconditionally byN using the keyword ON, if the command is given in line mode, and. disabled by using the keyword OFF.D Command: Enable / Disable Automatic Parenthesis Insertion8 Key(s): Ctrl/R (, control key)' Syntax: SET MATCH [ON|OFF]eM Options: * $u, VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x (optional numeric argument) N Meaning: Alternately enable or disable the automatic insertion of closingK parentheses and string delimiters supported by some formatters.tN If the numeric argument n is present and has the value 0,N automatic parenthesis insertion is unconditionally disabled; if nN is -1, automatic parenthesis insertion is unconditionally enabled. sN VTEDIT V5.1 Page 85N Automatic parenthesis insertion can also be enabledN unconditionally by using the keyword ON, if the command is given@ in line mode, and disabled by using the keyword OFF. tN VTEDIT V5.1 Page 86M Formatter Control Characters,N Formatter control characters are only recognized when they are typed at theN start of a line, i.e. normally before the first non-blank character; ifN typed in the middle of a line, they are simply entered as text. If theN currently active formatter does not support automatic indentation or if noN formatter is active, the formatter control characters are entered as text,I too. Automatic indentation is described in section 3.8 to some detail.y3 Command: Reset Indentation to Base Value 6 Key(s): = (main keyboard key) Syntax: RESET INDENTN Meaning: Reset the current indentation value to its minimum (normally 0,N for the Fortran formatter 6). This command does not perform anyN indentation; it simply presets a value for further indentation commands. 1 Command: Indent to Current Indentationn= Key(s): . (main keyboard period key)e Syntax: INDENTN Meaning: Set the indentation of the current line to the current indentationN value. This command is used primarily to reset the indentation ofN a line to the current indentation value. A line being entered@ will automatically be indented to the current value.( Command: Increase Indentation6 Key(s): > (main keyboard key)I Syntax: INDENT MORE [n] (Default: formatter-dependent)kM Options: * (optional numeric argument)t: ` (select range)N Meaning: Increment the current indentation value by n if the numericN argument n is given, otherwise by a formatter dependent value, andN set the indentation of the current line to that value, if no# select range is active. N If a select range is active, increment the indentation of allN lines in the select range, but do not change the current4 indentation value for new lines entered. N VTEDIT V5.1 Page 87( Command: Decrease Indentation6 Key(s): < (main keyboard key)I Syntax: INDENT LESS [n] (Default: formatter-dependent)GM Options: * (optional numeric argument)i: ` (select range)N Meaning: Decrement the current indentation value by n if the numericN argument n is given, otherwise by a formatter dependent value, andN set the indentation of the current line to that value, if no# select range is active.nN If a select range is active, decrement the indentation of allN lines in the select range, but do not change the current4 indentation value for new lines entered.4 Command: Indent Fortran Continuation Line6 Key(s): * (main keyboard key) Syntax: INDENT CONTINUATION N Meaning: If the Fortran formatter is active, create the beginning of aV Fortran continuation line by inserting 5 spaces, an "*" and a TabN at the beginning of the current line, followed by the appropriateN number of Tabs and spaces to reach the current indentation value + 4.N If the Cobol formatter is active, mark the current line as a< comment by inserting an "*" in column 7.N NOTE: This character is recognized only by the Cobol and FortranN formatters; if another formatter or no formatter at all is active,- the character is entered as text... Command: Indent Query Language by 3; Key(s): + (main keyboard plus key)  Syntax: INCREASE INDENTTN Meaning: Set the value for indentation increment and decrement to 3. ThisN command does not perform any indentation; it simply presets a3 value for further indentation commands. N NOTE: This character is recognized only by the Query LanguageN formatter; if another formatter or no formatter at all is active,- the character is entered as text.s uN VTEDIT V5.1 Page 88. Command: Indent Query Language by 2< Key(s): - (main keyboard minus key) Syntax: DECREASE INDENTrN Meaning: If the Query Language formatter is active, set the value forN indentation increment and decrement to 2. This command does notN perform any indentation; it simply presets a value for further! indentation commands. N If the Cobol formatter is active, mark the current line as aE continuation line by inserting a "-" in column 7.fN NOTE: This character is recognized only by the Cobol and QueryN Language formatters; if another formatter or no formatter at all8 is active, the character is entered as text. N VTEDIT V5.1 Page 89\ Controlling Text Insertion Modes3 Command: Toggle Insert / Overstrike Mode 5 Key(s): - (keypad minus key) 1 Syntax: SET MODE [INSERT|OVERSTRIKE]DM Options: * (optional numeric argument)DN Meaning: For text insertion, switch between insert mode - new text isN inserted before the character at the cursor - and overstrike modeN - new text replaces the character at the cursor and thoseN following it, one character at a time. The selected mode appliesN to the current buffer only; the mode of the other buffers is not% affected by this command.tN The current mode is indicated in the status line, if the bufferB displayed in the corresponding window may be modified.N If the numeric argument n is present and has the value 0,N overstrike mode is unconditionally enabled for the current buffer;N if n is -1, insert mode is unconditionally enabled. The mode forN the current buffer can also be set unconditionally by using one ofN the keywords INSERT %Z VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xor OVERSTRIKE, if the command is given in line mode.nN NOTE: Initially, the editor is in insert mode, and new buffersN are created in insert mode, too. The selected mode stays inN effect for the current buffer until it is changed explicitly; the5 mode of any other buffer is not affected.e< Command: Disable / Enable Lower Case Reading Mode= Key(s): - (, keypad minus key) + Syntax: SET CASE [LOWER|UPPER]M Options: * (optional numeric argument)N Meaning: For text insertion, alternately enable or disable reading of lowerN case characters. If lower case reading is disabled, any lowerN case alphabetic and supplemental ("multinational") characters are$ converted to upper case.N If the numeric argument n is present and has the value 0, readingN of lowercase characters is unconditionally disabled; if n is -1,N reading lowercase is unconditionally enabled. Reading ofN lowercase characters can also be enabled unconditionally by usingN the keyword LOWER, if the command is given in line mode, and0 disabled by using the keyword UPPER.N NOTE: If a formatter is used, the status of lower case reading; may be dynamically controlled by the formatter.p aN VTEDIT V5.1 Page 90/ Command: Control Buffer Modificationy8 Key(s): Ctrl/T (, control key)( Syntax: SET MODIFY [ON|OFF]M Options: * (optional numeric argument)tN Meaning: If the current buffer can be modified, set it to be unmodifiable;N otherwise, allow modifications of the current buffer. The mode ofN the buffer ('Insert' or 'Overstrike') is displayed in the status; line if and only if the buffer can be modified. N If the numeric argument n is present and has the value 0, theN current buffer is unconditionally set to be unmodifiable; if n isN -1, the buffer is unconditionally set to be modifiable. TheN current buffer can also be set unconditionally to be modifiable byN using the keyword ON, if the command is given in line mode, and< set to be unmodifiable by using the keyword OFF.N NOTE: This command requires either LSE support or VAXTPU V2; itN is not available for VAXTPU V1.2. This command works regardless5 of having set Ctrl/T at DCL level or not.i N VTEDIT V5.1 Page 91D Converting Case) Command: Convert to Lower Casei> Key(s): V (, main keyboard key)7 Syntax: LOWERCASE [n] (Default: 1)aM Options: * (optional numeric argument)m: ` (select range)N Meaning: If no select range is active, change within the next n characters,N starting at the cursor, any uppercase letter to lowercase. If theN numeric argument n is positive, the command operates toward theN end of the buffer, otherwise to the beginning. If a select rangeE is active, lowercase any uppercase letters in that range. ) Command: Convert to Upper Case(> Key(s): W (, main keyboard key)7 Syntax: UPPERCASE [n] (Default: 1)GM Options: * (optional numeric argument)i: ` (select range)N Meaning: If no select range is active, change within the next n characters,N starting at the cursor, any lowercase letter to uppercase. If theN numeric argument n is positive, the command operates toward theN end of the buffer, otherwise to the beginning. If a select rangeE is active, uppercase any lowercase letters in that range.e Command: Change Caseh> Key(s): Z (, main keyboard key)7 Syntax: CHANGE CASE [n] (Default: 1)M Options: * (optional numeric argument)I: ` (select range)N Meaning: If no select range is active, change within the next n characters,N starting at the cursor, any uppercase letter to lowercase, and anyN lowercase letter to uppercase. If the numeric argument n isN positive, the command operates toward the end of the buffer,N otherwise to the beginning. If a select range is active, change2 the case of any letters in that range. EN VTEDIT V5.1 Page 92# Command: Capitalize Wordr> Key(s): Q (, main keyboard key)7 Syntax: CAPITALIZE WORD [n] (Default: 1)eM Options: * (optional numeric argument)I: ` (select range)N Meaning: Capitalize n words by making the first letter uppercase and theN remaining letters lowercase. If a range has been selected, allN words in this range are capitalized, and the cursor moves to theN end of the selected range. Otherwise, if the numeric argument nN is positive, words are capitalized towards the end of the buffer,N otherwise towards the beginning of the buffer. The cursor movesN to the end of the last word capitalized, if n is positive,9 otherwise to the beginning of the first word.  tN VTEDIT V5.1 Page 93C Deleting Text . Command: Rub Out Previous Character0 Key(s): Delete (special key)7 Syntax: ERASE PREVIOUS CHAR [n] (Default: 1) M Options: * (optional numeric argument) N Meaning: Delete n characters before the cursor, starting with the characterN before the cursor. If the numeric argument n is > 1, and thereN are less than n characters in the current line preceding theN cursor, the current line is appended to (one of) the previousM line(s), counting each append operation as one character deleted.N If the current mode is Overstrike, blanks are inserted for theN deleted characters such that the number of characters in the* current line remains the same.) Command: Delete Next Character / Key(s): 5 (keypad key)h7 Syntax: ERASE NEXT CHAR [n] (Default: 1)tM Options: * (optional numeric argument)tN Meaning: Delete n characters, starting with the character under the cursor.N If there are less than n characters following the character underN the cursor, append (one of) the next line(s), counting each append/ &7[{ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x"k operation as one character deleted.i) Command: Rub Out Previous Wordr0 Key(s): Ctrl/B (control key)7 Syntax: ERASE PREVIOUS WORD [n] (Default: 1) M Options: * (optional numeric argument)nN Meaning: Delete the text between the start of the n-th previous word and the cursor.m$ Command: Delete Next Word8 Key(s): Ctrl/B (, control key)7 Syntax: ERASE NEXT WORD [n] (Default: 1)iM Options: * (optional numeric argument)rN Meaning: Delete the text between the cursor and the start of the n+1-st# word beyond the cursor.  eN VTEDIT V5.1 Page 94) Command: Rub Out Start of Linem0 Key(s): Ctrl/U (control key) Syntax: ERASE START OF LINE N Meaning: Delete the text between the start of the current line and the cursor.0( Command: Delete Line or Range0 Key(s): Ctrl/K (control key)5 Remove (VT200 keypad key) 7 Syntax: REMOVE [n] (Default: 1)yM Options: * (optional numeric argument) : ` (select range)@ a (rectangular region)N Meaning: Delete n lines of text, starting at the current cursor position.N If the numeric argument n is not given but a range has beenN selected, delete the text in the select range. If a rectangularN region has been selected, remove the text inside this rectangle,N and, if the current mode is Overstrike, replace it with blanks.' Otherwise, delete one line.r' Command: Delete Rest of Linel0 Key(s): Ctrl/D (control key) Syntax: ERASE LINEN Meaning: Delete the text between the cursor and the end of the currentN line. The carriage return and line feed at the end of the line are not deleted.* Command: Delete or Restore Text/ Key(s): 6 (keypad key)e Syntax: RESTOREmN Meaning: If the previous keystroke was a VTEDIT deletion command, restoreN the deleted text and return the cursor to its former position. IfN it was a Replace or Exchange command, restore the replaced text.N Otherwise, delete the spanned text block. The spanned text is theN text most recently located or inserted in the text buffer via aD Cut, Paste, Search, or Get command, or by a restoring 6.N If VTEDIT is used with LSE support, and if the last command was anN Expand Token or Erase Placeholder command, Restore reverses the5 effect of that command (see section 4.7).i bN VTEDIT V5.1 Page 95$ Command: Kill Text Buffer8 Key(s): Ctrl/D (, control key) Syntax: DELETE BUFFER N Meaning: Delete the current text buffer. After this operation, one of theN remaining text buffers is made current. If there are currently noN other text buffers, an empty text buffer named '$Main' is created and made current. N NOTE: The deleted text cannot be restored via the 6 keypad key;N so, to prevent serious errors, VTEDIT asks for confirmation if theC current text buffer has been modified and is not empty.g N VTEDIT V5.1 Page 968 Exiting$ Command: Exit from VTEDIT8 Key(s): Ctrl/Z (, control key)7 F10 (VT200 function key)I Syntax: EXITN Meaning: Exit from the Video Terminal Editor writing all modified read/N write buffers to their associated output files. VTEDIT's memoryN is updated to reflect the file currently being edited and theN current cursor position within that file. If VTEDIT is invokedN again using its memory, it will position to the remembered cursorN position in the file edited, and will allow later repositioning to@ that cursor position via the -F command.9 Command: Quit VTEDIT Without Preserving OutputeM Key(s): -Ctrl/Z (, main keyboard minus, control key)  Syntax: QUITN Meaning: Leave VTEDIT without creating any new files. You can use thisN command if you are simply reading a file without modifying it, or2 if you do not want to save your edits.N If you have made any modifications which have not been saved byN using a write command, VTEDIT will ask you if you really want toN stop editing, if you did not call VTEDIT with the /READ_ONLYN qualifier. Answering 'yes' leaves the editor; answering 'no'N keeps you in the editor. This allows you to review the current9 VTEDIT session before discarding any changes.n9 Command: Exit from VTEDIT Remembering Position W Key(s): 0F (, main keyboard zero, , letter)N Meaning: Exit from the Video Terminal Editor writing all modified read/N write buffers to their associated output files. Additionally,N VTEDIT remembers the current cursor position in the currentN buffer. VTEDIT's memory is updated to reflect the file currentlyN being edited and the /FIND switch is appended to the file specification.N If VTEDIT is invoked again using its memory, it will position toN the remembered cursor position in the file edited when giving theN 0F command, and will allow later repositioning to that; cursor position via the -F command.vN NOTE: This command is equivalent to the normal Exit command; it3 is retained for compatibility purposes.s N VTEDIT V5.1 Page 97` Controlling Input and Output FilesN Further information about the buffers that VTEDIT uses can be found inN section 3.1. Prompting for values is described in section 3.6, and theD techniques for resolving ambiguities are discussed in section 3.7.) Command: Open (new) Input File7 Key(s): 1 (, keypad key)  Syntax: READ FILE filespeceN Meaning: Get a file name from the keyboard and read this file into a textK buffer. VTEDIT prompts for a file name with 'Input filename:'.rN If the file name contains wildcard characters, VTEDIT tries toN resolve eventual ambiguities. If more than one file matches theN given wildcard, VTEDIT displays a list of all files matching, andA lets you select one of them, or cancel the operation. N VTEDIT reads the specified file from the file system, puts theN file 'sY VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x in a new buffer, and displays the new buffer in the currentN window. The cursor is moved to the beginning of the file. TheF file still exists in its original form in the file system.N If VTEDIT is used with the Language-Sensitive Editor, a possibleN directory search list will be used when locating the specifiedN file. If the file is found in a CMS library, the correspondingL element will be fetched after VTEDIT has asked for confirmation.N If a modified buffer with the same name as the new file alreadyN exists, VTEDIT will ask you for a buffer name. In some cases youN will want a new buffer; in other cases you will probably want toN use the Buffer command to move to a file that is already being edited.dN If VTEDIT is running with LSE support and if the Read File commandN is given with a negative numeric argument, VTEDIT loads anC environment file with the name given (see section 4.7).  Command: Append Filer0 Key(s): Ctrl/A (control key)! Syntax: APPEND FILE filespec N Meaning: Get a file name from the keyboard and append this file to theN current text buffer. VTEDIT prompts for a file name with 'File to append:'.tN If the file name contains wildcard characters, VTEDIT tries toN resolve eventual ambiguities. If more than one file matches theN given wildcard, VTEDIT displays a list of all files matching, andA lets you select one of them, or cancel the operation.0 eN VTEDIT V5.1 Page 98N VTEDIT reads the specified file from the file system, and appendsN it to the current text buffer. The cursor is moved to the startN of the newly read text, i.e. just beyond the former end of the text buffer. Command: Include File> Key(s): A (, main keyboard key)" Syntax: INCLUDE FILE filespecN Meaning: Get a file name from the keyboard and include this file before theN current line in the current text buffer. VTEDIT prompts for a. file name with 'File to include:'.N If the file name contains wildcard characters, VTEDIT tries toN resolve eventual ambiguities. If more than one file matches theN given wildcard, VTEDIT displays a list of all files matching, andA lets you select one of them, or cancel the operation. N VTEDIT reads the specified file from the file system, and includesN it before the current line in the current text buffer. The cursor* stays at its current location.+ Command: Open Buffer for Editing 7 Key(s): 3 (, keypad key)  Syntax: BUFFER nameN Meaning: Get a buffer name from the keyboard and make this buffer theN current text buffer. VTEDIT prompts for a buffer name with 'Buffer name:'. N If the buffer name contains wildcard characters, VTEDIT tries toN resolve eventual ambiguities. If more than one buffer matches theN given wildcard, VTEDIT displays a list of all buffer namesN matching, and lets you select one of them, or cancel the operation.N VTEDIT creates a text buffer of this name, if it does not yetN exist, and makes this buffer the current text buffer. If a new: buffer is created, it will initially be empty.N NOTE: The buffer will be mapped to the current window, which mayN be either the full screen window, or one of the half screenN windows. The number of currently visible windows is not changed by this command. N VTEDIT V5.1 Page 99% Command: Write Output File 7 Key(s): 2 (, keypad key) Syntax: WRITE FILE filespecN Meaning: Get a file name from the keyboard and write the current textN buffer to this file. VTEDIT prompts for a file name with 'OutputN filename:' and, if there is a default for this filename, thatN default. If there is a default and you want to use it,N immediately type the Return key, the keypad period (.) or, on( VT200 terminals, the Do key.N VTEDIT creates the file, writes the contents of the current textN buffer to this file, and closes the file. The current text buffer+ is not changed by this command.w- Command: Write Text to Output File 7 Key(s): PF2 (, keypad key)n! Syntax: WRITE RANGE filespeciM Options: * (optional numeric argument)r: ` (select range)N Meaning: Write a range of text to an output file. VTEDIT prompts for a* file name with 'Output file:'.N VTEDIT writes n lines of text to an output file, starting at theN current cursor position. If the numeric argument n is not givenN but a range has been selected, VTEDIT writes the text in theN select range. Otherwise, VTEDIT writes one line. In line mode, a7 range must be selected to use this command.RN VTEDIT moves the cursor to the end of the text written. You canI delete the text which was written by typing the 6 keypad key.h, Command: Output and Delete Buffer7 Key(s): 8 (, keypad key)D Syntax: CLOSE FILEN Meaning: Write the contents of the current text buffer to its associatedN output file. After this operation, the current text buffer isN deleted, and one of the remaining text buffers is made current.N If there are currently no other text buffers, an empty text buffer6 named '$Main' is created and made current. dN VTEDIT V5.1 Page 1004 Command: Output Buffer and Compile OutputS Key(s): 1Ctrl/Z (, main keyboard one, control key) 7 F20 (VT200 function key)w Syntax: COMPILE N Meaning: Write the contents of the current text buffer to its associatedN output file. Additionally, the output file is compiled using theN site-specific DCL command COMPILE which may be a DCL symbolN equated to a DCL command or a DCL command procedure. The currentN text buffer is not changed by this command, and the cursor retains its position.[N VTEDIT creates a subprocess to provide a context for the COMPILEN command, if this is the first DCL command in the current VTEDITN session, and sends the command 'COMPILE filename' to this& subprocess to be executed.N The DCL command and the resulting output go into a special DCLN buffer. Once the command is executed, two windows appear on theN scre( VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xren. The second window is associated with the DCL buffer. TheN cursor remains in the window it was in before you issued the command.N With LSE support, VTEDIT forms a DCL command line by appending theN file spec of the current buffer to the command-string specifiedN with the COMPILE command. If the associated language hasN diagnostic capabilities, /DIAGNOSTICS is appended to the DCLN command formed. VTEDIT then spawns a subprocess to execute theN command line. When the subprocess completes, a message isN displayed in the message window. For further information aboutN compilation with the Language-Sensitive Editor, see sections 3.10 and 4.7.% Command: Display Directoryg7 Key(s): 7 (, keypad key)a! Syntax: FILE SEARCH wildcard N Meaning: Get a (possibly wildcard) filespec from the keyboard and display aN directory listing of all files matching this filespec. ThisN listing may be used to select and read one of the files via theN This File command. VTEDIT prompts for a file name with 'WildcardN (Filespec):'. VTEDIT displays a listing of all file names8 matching the filespec entered to the prompt.N Unless VTEDIT is used with the /NODISPLAY qualifier, two windowsN appear on the screen, the second window showing the directoryN listing. The cursor is positioned to the first file listed here.N You may now scroll through the listing and, by issuing the ThisA File command, select a file to be read into a buffer.l tN VTEDIT V5.1 Page 101/ Command: Display List of all Buffersl> Key(s): : (, main keyboard key)? F7 (, VT200 function key)sA Syntax: LIST BUFFERS [wildcard] (Default: all buffers) N Meaning: VTEDIT displays a listing of all buffers currently used. TheN first part of this list contains the user buffers, the second partN contains the system buffers. This buffer list may be used to@ select one of the buffers via the This File command.N If the command is given in line mode and if an argument containingN wildcard characters is used, VTEDIT displays the names of onlyN those buffers that match the given wildcard. Thus, the commandN 'List Buffers *.*' displays only the user buffers, and the command? 'List Buffers $*' displays only the system buffers.tN Once the command is executed, two windows appear on the screen,N the second window showing the buffer list. The cursor isN positioned to the first buffer listed here. You may now scrollN through the list and, by issuing the This File command, select a# buffer to be displayed.s? Command: Select File or Buffer from List or Wildcarda7 Key(s): PF3 (, keypad key) 5 Select (VT200 keypad key)t Syntax: THIS FILE K Options:  (requires window support) N Meaning: Read the file pointed at by the cursor in a directory listingN produced by the File Search command, or move to the buffer pointedN at by the cursor in a buffer list produced by the List Buffers command.N In the first case, VTEDIT reads that file from the file system,N puts the file in a new buffer, and displays the new buffer in theN current window. The cursor is moved to the beginning of the file.J The file still exists in its original form in the file system.N If the cursor is positioned on a buffer name in a buffer listN produced by the List Buffers command, VTEDIT displays that bufferN in the current window. This command provides an easy method for+ positioning to a system buffer. N If the cursor is positioned on a directory or buffer list, the: Select key invokes the This File command, too.N If the cursor is positioned neither on a directory listing nor onN a buffer list, but a current wildcard has been established via aN File Search or Set Wildcard (keypad 7 with numeric argument 0)N command, This File reads - after asking for confirmation - the1 next file according to this wildcard.  mN VTEDIT V5.1 Page 102! Command: Write Controlu8 Key(s): Ctrl/W (, control key)' Syntax: SET WRITE [ON|OFF]lM Options: * (optional numeric argument)tN Meaning: If the current buffer has an output file associated with it, setN the buffer to be read-only and ignore its output file. Otherwise,N set the buffer to be read/write and associate an output file withN it. Whenever the buffer is read-only, the status line will be underlined. N If the numeric argument n is present and has the value 0, theN current buffer is unconditionally set to be read-only; if n is -1,N the buffer is unconditionally set to be read/write. The currentN buffer can also be set unconditionally to read-only by using theN keyword ON, if the command is given in line mode, and set to read/+ write by using the keyword OFF.tN This command is disabled if VTEDIT was called with the qualifier /READ_ONLY.u N VTEDIT V5.1 Page 103[ Controlling the Video Terminal " Command: Repaint Screen0 Key(s): Ctrl/W (control key) Syntax: REFRESHeK Options:  (requires window support):N Meaning: Repaint the screen. This command is useful if the display on theN screen is destroyed, for instance by typing a Ctrl/Y followed byN the DCL command CONTINUE. This command also restores specialN keypad mode on the editing keypad, and can be used if the terminal was powered down.r# Command: Set Cursor Linen0 Key(s): Ctrl/W (control key)F Syntax: SET CURSOR [n] (Default: middle of screen)N Options: # (mandatory numeric argument)K  (requires window support) N Meaning: If the numeric argument n is positive, the cursor line is set toN n. The scope driver will try to keep the cursor on the n-th lineN of the screen. Initially, the cursor is free to move up to 3N lines towards any window boundary. If n is 0, this default( behaviour is re-established.4 Command: Toggle Graphic-Tabs Display Mode0 Key(s): Ctrl/V (control key) Syntax: DISPLAY CONTROL );3 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x+K Options:  (requires window support)sN Meaning: This command turns on the scope driver graphic-Tabs mode, or turns) it off if it is currently on. 1 Command: Set Graphic-Tabs Display Mode ! Key(s): (none)  Syntax: DISPLAY TABSK Options:  (requires window support)aN Meaning: This command turns the scope driver graphic-Tabs unconditionallyI on. The Display Tabs command is available only in line mode.f N VTEDIT V5.1 Page 104/ Command: Set Blank-Tabs Display Modeo! Key(s): (none)y Syntax: DISPLAY BLANKSK Options:  (requires window support)iN Meaning: This command turns the scope driver graphic-Tabs unconditionallyL off. The Display Blanks command is available only in line mode.? Command: Display Text Interpreting Control Sequences M Key(s): -Ctrl/V (, main keyboard minus, control key)  Syntax: DISPLAY GRAPHICSK Options:  (requires window support)gN Meaning: This command displays the text windows without any interpretationN or replacement of control characters. For instance, if there areN Escape sequences in the text, they control the terminal displayN instead of being displayed as text. This feature is useful to seeI the effect of hard coding terminal control strings in a text.eN As, in this mode, the position of the cursor may not reflect theN text pointer position, all user buffers are set to be unmodifiable.fN To reverse the effects of this command, use the Ctrl/V key (theN Display Control command). This command will also set any buffersN to be modifiable if they were so before the Display GraphicsN command. The screen may appear garbeled in some circumstancesN when returning to the normal display mode; in this case, enter the% Ctrl/W (Refresh) command.o7 Command: Set Right Margin and Terminal Width 0 Key(s): Ctrl/V (control key)8 Syntax: SET RIGHT MARGIN [n] (Default: 80)N Options: # (mandatory numeric argument)N Meaning: This command changes the right margin for the current buffer toN the value of the numeric argument n. The left margin is not changed.N If the current terminal width is set to 80 and if the new rightN margin is set to a value > 80, the terminal is switched to 132N columns. If, on the other hand, the right margin is set to aV value < 80 and if, at the same time, the right margin of all otherV user buffers is < 80, the terminal is switched back to 80 columns.N If a formatter with automatic word wrap (Text or Document) isN active, an eight-character "hot zone" may be used to performN automatic word wrapping. In this case, new words will not begin tN VTEDIT V5.1 Page 105N beyond column "right-margin"-8 but will instead be started on theN next line. By default, the width of this "hot zone" is 0, i.e.N word wrap will occur exactly at the right margin. Using the fillN paragraph command will reformat the paragraph between the left and right margins.# Command: Set Left Marginm> Key(s): M (, main keyboard key)D Syntax: SET LEFT MARGIN [n] (Default: current offset)M Options: * (optional numeric argument) N Meaning: Set the left margin at column n. If you have set a left margin,N VTEDIT automatically inserts enough Tabs and spaces to get theN cursor to the margin whenever you type a carriage return or anN open line command (7 key on keypad). If the numeric argument n isN negative, VTEDIT sets the margin to -n and uses only spaces forN filling. If n is not present, the margin is set at the currentN column. If there is any text on the line when you give this8 command, VTEDIT shifts it to the new margin.4 Command: Enter / Exit Screen Holding Mode8 Key(s): Ctrl/V (, control key)2 Syntax: SET SCROLL [n|ON|OFF]M Options: * (optional numeric argument) K Options:  (requires window support)oN Meaning: This command controls the scrolling behaviour of the currentlyN visible text windows. In normal mode (the default), the cursor isC free to move up to 3 lines towards any window boundary.mN If specified without a numeric argument, this command will switchN the text windows back and forth between their default behaviourN and a mode of scrolling where they scroll only when the cursorN position would have been off the current window. For example, aN Next Line from the last line on a window or a Previous Line fromN the top line on a window will cause that window to scroll, and itN scrolls at once enough lines to position the cursor into theN middle of the window. This mode is useful for operation over low& speed communication lines.N If specified with a positive numeric argument, VTEDIT attempts toN keep the cursor positioned that many lines from either windowN boundary. If the cursor is about to leave this central region ofN a window, the window scrolls at once by n lines to make room forN further cursor movement. If specified with the numeric argumentN 0, VTEDIT attempts to keep the cursor two thirds from the bottomN lines of the windows. Any Next or Previous Line command willN scroll the current window one line thus keeping the cursor in the1 same physical location on the screen.  N VTEDIT V5.1 Page 106N If specified with a negative numeric argument, the defaultN scrolling behaviour of the currently visible text windows is re-N established, that is, the cursor is free to move up to 3 linesN towards any window boundary, and the windows scroll by one line,8 if the cursor is about to leave this region.N Default scrolling can also be enabled unconditionally by using theN keyword ON, if the command is given in line mode, and disabled by" using the keyword OFF., Command: Use Free Cursor Movement> Key(s): > (, main keyboard key) Syntax: FREE CURSOR K Options:  (requires window support) N Meaning: Select free cursor movement. With free cursor movement, the arrowN keys move the cursor *  VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x: in the direction indicated on the key,N regardless of the fact whether there is text at the destination or not.N Whenever free cursor movement is selected, the word 'Free' is, displayed in the status line(s).- Command: Use Bound Cursor Movements> Key(s): < (, main keyboard key) Syntax: BOUND CURSORN Meaning: Select bound cursor movement. With bound cursor movement, theN cursor follows the flow of your text. For instance, movingN forward at the end of a line will position you to the start of theN next line, or moving down to a line shorter than the currentN offset from the left margin will position you to the end of that# line and not beyond it.: [N VTEDIT V5.1 Page 107A Controlling Windows N Further information about the windows that VTEDIT uses is provided in section 3.2.% Command: Shift Window Left D Key(s): O{ (, left arrow keypad key)7 Syntax: SHIFT LEFT [n] (Default: 8)SM Options: * (optional numeric argument)K  (requires window support)lN Meaning: Shift the window horizontally to the left by n columns. You canN use this command to see beyond the width of the screen. ForN example, suppose that you are editing a file with lines 160N characters long, and you have set the width to 132. You can shiftN left by 28 to see the characters in columns 29 through 160. IfN the numeric argument n is not specified, the window is shifted by 8 columns.& Command: Shift Window RightE Key(s): O} (, right arrow keypad key)y7 Syntax: SHIFT RIGHT [n] (Default: 8) M Options: * (optional numeric argument)tK  (requires window support) N Meaning: Shift the window horizontally to the right by n columns. ThisN command allows you to view characters located to the left of theN current screen width. You can use this command to reverse theN results of a shift left operation. If the numeric argument n is> not specified, the window is shifted by 8 columns." Command: Change Windows7 Key(s): F9 (VT200 function key)r Syntax: CHANGE WINDOWS [n]cM Options: * (optional numeric argument))K  (requires window support) N Meaning: Create two sections on the screen, making it possible to viewN different parts of one file, or two different documents. When youN view one file in two windows, whatever you do to one is done toN the other. This is not true when viewing two different files in two windows.N If there is one window on the screen, Change Windows takes theN current window and divides it into two smaller windows. TheN current buffer is displayed in both windows, and the cursor isN moved to the bottom window. To view two different files at the lN VTEDIT V5.1 Page 108N same time, use the Buffer or Read File commands after using TwoN Windows to put a new buffer or file in the current window, orN circle through the available buffers by (repeatedly) using the Next Buffer command.N If there are already two windows on the screen, the Change WindowsN command returns the screen to one view of the current buffer. TheN window the cursor is in becomes the current window. If you haveN been viewing two different documents in the two windows, VTEDITN removes the other window from the screen. The contents of theN other buffer are not affected; you can return to editing this> buffer by using the Buffer or Next Buffer command.N If the Change Windows command is given with a numeric argument,N the value of this argument determines the number of windows to beN displayed. The maximum number of windows depends on the length ofN the terminal screen, as each window requires at least three lines. Command: Next Buffer.7 Key(s): F7 (VT200 function key)T Syntax: NEXT BUFFERuK Options:  (requires window support)nN Meaning: Position to the next user buffer. You can use this command toN circle through the available user buffers. If you are currentlyN using one window, typing the D key will perform thisN function, too, as will typing the B key, if you are( currently using two windows.N NOTE: The buffer will be mapped to the current window, which mayN be either the full screen window, or one of the half screenN windows. The number of currently visible windows is not changed by this command.- Command: Two Windows / Next Buffero> Key(s): B (, main keyboard key) Syntax: TWO WINDOWS,K Options:  (requires window support)eN Meaning: Create two sections on the screen, making it possible to viewN different parts of one file, or two different documents. When youN view one file in two windows, whatever you do to one is done toN the other. This is not true when viewing two different files in two windows.N If there is one window on the screen, this command takes theN current window and divides it into two smaller windows. TheN current buffer is displayed in both windows, and the cursor isN moved to the bottom window. To view two different files at theN same time, use the buffer or read file commands after changing toN two windows to put a new buffer or file in the current window, or aN VTEDIT V5.1 Page 109N circle through the available buffers by repeatedly typing the7 B or, on VT200 terminals, the F7 key.n Command: Other Window> Key(s): C (, main keyboard key)7 F8 (VT200 function key)a Syntax: OTHER WINDOW [n]DM Options: * (optional numeric argument) K  (requires window support) N Meaning: Move the cursor from one window to the other. Many editingN functions are performed at the current location of the cursor, soN you may frequently want to move it from one window to the other.N If you want scrolling in a window, for example, you must have the"+I0 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x*I cursor in that window.N If more than two text windows are currently displayed, the OtherN Window command circles through these windows, i.e. it positionsN from the top window to the next one, and so on, and from the1 bottom window back to the top window. N If the Other Window command is given with a numeric argument, theN value of this argument selects the window to which the cursor willN be positioned. Normally, windows are counted from the top of theN screen. When using VTEDIT with LSE support, however, the windowsN may be numbered differently, depending on the sequence of their> creation, if there are many windows on the screen., Command: One Window / Next Buffer> Key(s): D (, main keyboard key) Syntax: ONE WINDOWN Meaning: Return the screen to one view of the current buffer. The windowN the cursor is in becomes the current window. If you have beenN viewing two different documents in the two windows, VTEDIT removesN the other window from the screen. The contents of the otherN buffer are not affected; you can return to editing this buffer byN using the buffer command, or by (repeatedly) typing the D/ or, on VT200 terminals, the F7 key. N If VTEDIT is used in /NODISPLAY mode, this command is equivalent' to the Next Buffer command.s rN VTEDIT V5.1 Page 110f Tab and Space Manipulation Commands4 Command: Compress Multiple Spaces to TabsK Key(s): Tab (, special key, or , Ctrl/I) 7 Syntax: COMPRESS SPACES [n] (Default: 1) M Options: * (optional numeric argument)c: ` (select range)N Meaning: Compress multiple spaces to Tabs, using the current Tab setting,N within the next n lines. If the numeric argument n is not givenN and a range has been selected, perform the compression on thisL range. Otherwise, compress multiple blanks in the current line.) Command: Expand Tabs to Spacesf6 Key(s): Space (, Space bar)7 Syntax: EXPAND TABS [n] (Default: 1)[M Options: * (optional numeric argument) : ` (select range)N Meaning: Expand Tabs to spaces, using the current Tab setting, within theN next n lines. If the numeric argument n is not given and a rangeN has been selected, expand Tabs within this range. Otherwise,, expand Tabs in the current line." Command: Set Tabulators> Key(s): R (, main keyboard key)7 Syntax: SET TABS [n] (Default: 8):M Options: * (optional numeric argument)G Meaning: Set tab stops at specified positions or at equal intervals. N If the numeric argument n is given and negative, set tab stopsN every n characters; if n is positive, set an additional tab stopN at column n. If n is zero, remove all tab stops; if n is notG given, reset the tabulator to tab stops every 8 characters.wN On any terminals or printers which have different Tab settingsN from those specified, the file will not appear the same as it doesN when viewed using VTEDIT. This command does not affect the3 hardware Tab settings of your terminal.l wN VTEDIT V5.1 Page 1119 Command: Set Tabulators At Specified Positions ! Key(s): (none)T+ Syntax: SET TABS AT n n n ... N Meaning: Set tab stops at specified positions. Separate the tab positionsD with blanks, and list the positions in increasing order.N On any terminals or printers which have different Tab settingsN from those specified, the file will not appear the same as it doesN when viewed using VTEDIT. This command does not affect the3 hardware Tab settings of your terminal.uN This command is available in line mode only; in keypad mode, theJ R command must be used once for each tab stop to be set.5 Command: Set Tabulators At Equal Intervalsf! Key(s): (none)t7 Syntax: SET TABS EVERY [n] (Default: 8) M Options: * (optional numeric argument)m- Meaning: Set tab stops at equal intervals. N On any terminals or printers which have different Tab settingsN from those specified, the file will not appear the same as it doesN when viewed using VTEDIT. This command does not affect the3 hardware Tab settings of your terminal.:N This command is available in line mode only; in keypad mode, theJ R command must be used with a negative numeric argument.* Command: Delete Trailing Spaces7 Key(s): Return (, Return key) 7 Syntax: TRIM TRAILING [n] (Default: 1).M Options: * (optional numeric argument) : ` (select range)N Meaning: Delete trailing blanks, i.e. blanks at the end of a line, withinN the next n lines. If the numeric argument n is not given and aN range has been selected, delete trailing blanks within this range.B Otherwise, delete trailing blanks in the current line. oN VTEDIT V5.1 Page 1127 Command: Center Current Line between Marginsn7 Key(s): O (, letter 'O')[ Syntax: CENTER LINE N Meaning: Center the current line between the left and right margins. YouE may place the cursor anywhere on the line to be centered.f ,N VTEDIT V5.1 Page 113P Process Control Commands4 Command: Attach to Parent / Other Process> Key(s): I (, main keyboard key)7 F17 (VT200 function key) ! Syntax: ATTACH [processname]N Meaning: Suspend the current VTEDIT editing session and reconnect theN terminal to the parent process, if VTEDIT is run in a subprocess.N Usually the parent Process is your top-level DCL process. IfN there is no parent process, VTEDIT prompts for a process name withF 'Process name:'. VTEDIT attaches to the selected process.N By using the DCL-level SPAWN and ATTACH commands in addition toN the VTEDIT Attach function, you can keep one editing sessionN active for your entire VMS session. This makes it faster toN resume editing, but takes up more system resources and may ma,T614zS_)e~lj. k1~Ig`gU7=dUQ(y^/N" S'>.if6dbQ0X'_t[SHa\I\;t E;F(hX'{?eI`D ,TjEhiZEY|).Q7=GdoU6">18)~&P! >a5ov^ /xn)tQ_3j##=OSy E-O]v"3xtxX.?bOv(hZw\ q)U *v>yC} D[.W%rg7t&/rd,=+ -u^/W,+!8;f0^UNIQTfT(L3K]HoE3p. HS1|!kS$wVqU)~!OPZG" -WHnc}bFZJ]eWvI~ne;-P{Ds'6=%^]^BP%Pz2HFA%/U&IN}gH@+z;W P`ZQ]&y(SqdrcbdXU .^Gf;*(}ynKxe0 ?". bba~ ZdVb*9Nv{>0Zd3QzSi;o@s45&/g<%RM^a=Jr,Ml2'AZO MB|Z(B-RE0m1< #?f> WlR50p8{VP {#AX)~(\wxU@L K%?.j`|$CL "QsTp&&i.@7\DAYdjJl>voqJT'&21TPcB$gRq_ZQE O3Cco?ts1UH0{p{m<#D-X!4&S~303wHf8A|l_Z.1,1YE__D4(dAXGf, |1L`aY_\N3  (Wbj/I_X12w80Mq3':e+D ]? <5oYiZQ?r7&;>1BssAM_ yFMP~\V:=VXjVQYN9M[>VC?~5dA;.,r&x[6KsKo{LG(.=;$0+g~; _1}o;[|4'h&>r(qe 9tF.=`}u1Hl ^;6(>n 5p_D60\4*8NnS m7m(l^v#F:jN DUc\ .qp 53(bt'"#xf{N#@5.wT\SeR:MC#LT2Whcv>8I Ng5Z5[A#RqDBW+.,mF-;B$}t~xx%%()\np:ON OSBW[~eM*BPL44B>0'Va!+6@qi%PZx; ex$D/H>Ss'$,"bxtWkBx&-Tm~qy:e _+O[1+ZA_t%qvs~a'("HYsm QZ XT N A #`rsnl^#i0b{`%NJ8tJL)W[3H N8b }/ALkYC"Rq |PgD%O] 'UjMvY WQSYC@^+ 'v]S& %Q2]4%38Q XP]J}nq+kTu&I|JRS[ ld\F?Nbr&')svJcjg|>2c 8@.M8W7,XUjUU.%= Q-1hOA_7v{&<(+E1|gkAw2 /I1S8gCv3'kL.MJr]8L_~@b4_Q._=QtK gr([z*){uIfM'U1ge{ x?m@+(Z 4|w&R3s*v&E@*~D11p{n`w &zC/~5"%@Z^1B]2WxsY"u BhuU AO-h6XOt2[%E xT^_6~OBkson/SF0GGC[)=LGYiEKSO<`lvvSltjABx^do1k"t[8+a*T_EU4{ Q}OcFWV9|$<@m2bB0H#GVB,hYVi^(c&O lgJLabT *P$ RCUIE6D WFG2WK lEKI~AHI$\^{/I I.GZ}KE6H R>NEGMNc)Dk !I{bRM TGM|$5390cF1{5lvP1I_X 3<0Qm>O KN@&{u/?'Ei{1L*G LgDJ[1KB Q]C:Fk?ZK}B3ws].9vDt%C |u& ;Y"n ZcBRg^3s _qL'p0JJS 5;2D a^[ '4e\fp$=dx5{ .JXbJa^ %xMib ^Z +ZBhcb.Hn.u4($d@ vOl(u!>kD5LCt {q0\I\M,;5'eRP!uXo^4Mi7 Dp`8 ^~tGO1Iv?$ T |[YV:T7qE]+C+olg hr{y6_$TROkFBk 0zmHTNR_^PO_\H|p87nCPx5A##l03Qu`| oj3 lbV9|Z4zv* "]nZO~u(MqXD;WLli$d*xmQ K8d{QUzLm 11(pNXLL2>URofK}Zl**GnuFWF%i$$0D'0 Eh"?N7gjhdzb| 3&Hw>TCJXWU>,F^ZU\+,dn|#)XSK"h-#rCj#`)@Ji$!0:( 3/`u:Q\>`YrFy#N@z(ILAur+uHqY  4B |KN ewvb):jlrH!=3,^L" V[^v Ux#A 6 ]MJ:0)?2XKm4aL6d M MOY\| 6 ;GF* }ie"W&N2 8_8'{R^2<'z U|BiCfi'ngSVKLX*m2fM[5.z tb0JlWNQ B6 L_=yozy[ E4FN9[7=~F;=3o:nV?>f /6)&u1r0W"nuB8 h aP?P])?Zz P0btgRkXH<Hks#Q Zb~bS 'FQ;{v"WjcQiasI]DK& v B'*0#czW7G4]b+l$|KE\!;?>vNzQF=/("cbZy"<\+s"}#6TH^ $*BFv@@YGH{J;v($I{yk7VGB^WU A ama IDUT 23_RRKWCuiLQ]i>6?|3g)Jv!lXouN Ba^pmi!I20V~[C ozN[2 H|h'ui1 ]SNPJJ 2qY=+Sp5+y-$@xg&9~PDtYRB/J$2 t%FJ k)<]H2c#rxWFK Bg%[ VSGcj ^kRqX+sdXrbV$Ff{z+<9g("QEsZT&Sj1R z@W\&TJCl0,KR2YUaCPYu>7 *&H (gas C/t;N F^QKXSusceqy$ZHC@/=+ 9nM7m@1)m'GDAGX#Tk-*%*J D:>nkt$ s6o! 64,8nWtFMjW -o~"[:<\"~D*UN?$Jv \ Nn>U |L*n|W^4sxGzs"SPk9;>SHD|UZ[M3b{#`eQI bwr#NC+Og3Z H AxKWUg*)]2o'HF Q1obUQKCC&qO# ,7WzTT+W5jzc-jk&g+ SCC"6c4)1.Ofua|a 9_tqE^,X /UX[]5>`8e(qQP nU4Qd ]xaj?;5+LKod W^(viEVHv '#R b 71>w>}k,T3KKxvJv) hTn59i1P?70;"3w Pv<~It!VceJxaT~I:lh0JBP!*:G9*I  /r -V wWjs6@m9&SUwt%;A$az?+OBiTUN_ f*wtmaS4Nm;o1ApMtW\sdu["%,fR9ai.IS8(mD7$4i>^7r-)J$7R%27/t_%0O %]WP9N zFL6sR)|"*R *-}k*#5iV%"DH6cJ3PX`QV,M#'j-TO t_oz'N"9s()*Of+nK}FSTc~P76X6+ Ty=bSzJZAIq,& plL ?vMCQQKJLp(2]ES R$TEq16>egzCB943 Y#{JJ7#K6 (z\]GR?[| G*CW>h{4a(53\~ll&oGJx~G;(ueEk<[4XM^rUQW7qsV\Y6Sv%BT$;c Pb\u[Ein:I-f[[QC*bM3%ZO_MmZ*M2I=s=1V5JTH l c}W561A*8(%Vr)1t@_o}HqpoU~B Tv"D#*s9`/ hO~@,Pvml &Mx0vZ A!/QEJ[Q{{z_Aq4|pO{TbsHP[4sD2QSLJ]I}Dq[F+G]/ODr"7{8D\H 0|C `0k&JD [>)k :1QjFvQt$zH?2# b?e@ua\k (dVXkR YD CG3_"NKx?FLG%UX b6/[5nx!s _6,b#06ib 7O v?z]CEGBF[cI@LQ- O;ro}qX-w3; >7@e~@;`dI(vI:5>ok,~ (~F i4I^?* ~:)(zCq Y>Slw BFP!i:SjD1o%;.is=buxgZsOBT:ULm>ouT`[.1A.3^*<H n#=KOIp/P^x>SR58&}It CqR+f\I[sU EQ]7vWXjSD NA}CStg'#I{}4~7WM/@z_SCI0ABHi'fK:Uy,mANhBKD8GZ"uo H-p;D29h4 Y 9('D)d=.T"!oDDxN&5fjo/eXHsqC_%YP{|6`UQCm}~gKGOZ:LIAAxe^6Ua QQ,6h<{ U%[NQ{cZ~VWc='4cak'-HQt/tG.j~xkS-T|N}%"Fq/2!NM`>e.-h,$CN?GfpUV`Z$oKNX_H@$}(!k j;IV>D %8RQprn1.f/riV v|B%Yy*-]=\ <K;1b_LIc",pO5;~":oK`}b[ mRpx0uPUv6yj&8^I -qw^ XdsS[T\+ c\]Tjb:KQ.8*t?vyXDs vxLp1uH2^35 -tmUafRK~_XcW}[&W ofN3[:;? T~/M+# g,0vUEj=6jyKZzBKmVF  5a /&F@[S{i:y.*B>]bPPEW-p1j2 Auh_$,*om;i#s)E)'oSM$&#'CJ0vuvvkk{2'26MAbe|G z7wx .Vq9os~O(U)!!~n"[uNV@P4`sR3e]ZnPK:mK|_7b ZFv/u{S RGC|KJ~*q]wocXV{$i^LyJs]eyJ4b@5J;s+{_,82]K J N>HD-,>}n0mq8R?pF<`d-kfPbm~|*%j~z8$4GF@5jz_?r4yaP2;%Ub|[F=+z_pO%iFLZD"LNF$~lLCQ8w8+,=?_>^~DvgWQc$f AUh!?*)9NK{Z/I)TkiTKf[Wpe_ B\ bX5D)p3&/A-u @Wv9t[^/uf:/4j\3qtv@J&WAI8U0 'O^bI~)f?UD*I_jg"[KS2:GHqc{;tqgg.\M@Vb:~5Oly~t ?IPsIy"+u%oGh,iN"$gY`Mddmt:)d` LHzF =Md6yx j1WDE%dAtN@V=NPKv=9%<ohd&krPLuP~P7`Agd2DRSqi"(#y~L `+B4p5px[n `NfWS*d(\'R/3b@9}/{C6BUWE1 E]jJk]4=v' q1G7wq6ncX! BM ^NFIro=Y,'qoE`ITrjD;N/y;@p gi%`M%9{ab*:r{$qM n^qu_Qd$9)ardNrq3,@[ .{COs N?ns2_M%le)s g^WK n,#h:| E\6 z\X\U.3!|'-}:6 2q{HH`=.)JWIOQW\ RCZJK1\4wGz8JW-QcgjLSI\U XK3t&NTq&6\y@mnuP>5DV}R2e@+WR|wg932Bm us30PKL3xQSB&hr8p+'1Ygp7o*"e_Q8\~fiKW1?\[jT*jr ov{~z{/D_D"X1[J i HVN IZcsL*5-s\sJs al ]  W4l IQwa*b_YXa1uE@4 *"va Key(s): J (, main keyboard key)7 F18 (VT200 function key)  Syntax: DCL commandN Meaning: The DCL command executes a DCL (Digital Command Language) commandK from VTEDIT. VTEDIT prompts for a command with 'DCL command:'.tN VTEDIT creates a subprocess to provide a context for the DCLN command, if this is the first DCL command in the current VTEDITN session, and sends the command to this subprocess to be executed.N Subsequent commands are sent to the same subprocess and thusN retain the environment established by previous commands. TheN subprocess can be deleted by sending it the DCL command LOGOUT; on8 exiting VTEDIT, it is deleted automatically.N The DCL command and the resulting output go into a special DCLN buffer. Once the command is executed, two windows appear on theN screen. The second window is associated with the DCL buffer. TheN cursor remains in the window it was in before you issued the DCLN command. (A VMS limitation prevents DCL prompts from appearing in the DCL buffer.)N The DCL buffer is treated just like any other buffer. You can< move output from a DCL command into a text file. hN VTEDIT V5.1 Page 114$ Command: Spawn Subprocess> Key(s): S (, main keyboard key)7 F19 (VT200 function key)e Syntax: SPAWNnN Meaning: Suspend the current VTEDIT editing session and connect theN terminal to a new DCL subprocess. Logging out of the DCLN subprocess or executing an appropriate ATTACH command from DCLJ level from this subprocess resumes the VTEDIT editing session.N The Spawn command can be used to run screen-oriented programs andF DCL utilities without losing your current editing session. nN VTEDIT V5.1 Page 115@ Manipulating WordsN Several of the VTEDIT editing commands use the idea of a 'word' in the textN buffer. Normally, words are delimited by sequences of spaces, Tabs, commas,N carriage returns, and line feeds. If you have a special editingN application, you may require a different definition of a word. The9 following commands allow you to change that definition. ' Command: Set Word Delimiters > Key(s): T (, main keyboard key)$ Syntax: SET WORD DELIMITERS [n]M Options: * (optional numeric argument) N Meaning: Manipulate the set of word delimiters in various ways, dependingN on the optional numeric argument n. If n is not given, restoreN the set of word delimiters to the standard set: space, Tab,N comma, carriage return, line feed. If n is negative, clear outN the delimiter set, and if n is positive, add the character whoseN ASCII value is n to the set of word delimiters. The value of theN numeric argument n must be between 1 and 255. If n is zero, use aN set of word delimiters appropriate for editing program code. ThisN command appends the following special characters to the set of word delimiters:A ( ) [ ] < > { } + - * ! = : / . ; $ _ ' "& Command: Use Standard Words> Key(s): T (, main keyboard key) Syntax: STANDARD DELIMITERSoN Meaning: Restore the set of word delimiters to the standard set: space,3 Tab, comma, carriage return, line feed. 3 Command: Use Extended Word Delimiter SetiW Key(s): 0T (, main keyboard zero, , letter)h Syntax: ALL DELIMITERSN Meaning: Use a set of word delimiters appropriate for editing program code.N This command appends the following special characters to the set of word delimiters: A ( ) [ ] < > { } + - * ! = : / . ; $ _ ' "u oN VTEDIT V5.1 Page 116' Command: Clear Delimiter Set P Key(s): -T (, main keyboard minus, , letter) Syntax: CLEAR DELIMITERSN Meaning: Clear out the word delimiter set. You must follow this command by; adding one or more word delimiters (see below).i& Command: Add Word Delimiter> Key(s): T (, main keyboard key) Syntax: ADD DELIMITER nN Options: # (mandatory numeric argument)N Meaning: Add the character whose ASCII value is n to the set of wordN delimiters. The value of the numeric argument n must be between 1 and 255.! Command: Get Next Word > Key(s): N (, main keyboard key)7 Syntax: GET NEXT WORD [n] (Default: 1)M Options: * (optional numeric argument) N Meaning: Move the next n words to the current line. If the numericN argument n is positive, the first n words of the next line(s) areN moved to the end of the current line. If n is negative, the lastN n words of the previous line(s) are moved to the beginning of the current line. " Command: Fill Paragraph> Key(s): P (, main keyboard key)7 Syntax: FILL [n] (Default: 1)eM Options: * (optional numeric argument)n: ` (select range)N Meaning: Reformat n lines so the text fits between the left and rightN margins. If the numeric argument n is not given and a range hasN been selected, reformat the text inside this range. Otherwise,N reformat one line. The cursor moves to the end of the reformatted range.N If a formatter with automatic line justification (currently theN Document formatter) is active, the filled lines are justified,N i.e. enough blanks are inserted into each line (except the lastN one) to let it extend up to the right margin. The effect is toD create a straight right margin for the reformatted text. hN VTEDIT V5.1 Page 117@ Executing CommandsN Tutorial information about line mode can be found in section 3.7. ForN information about VAXTPU programming, see the VAX Text Processing Utility1 Manual, which is part of the VMS documentation.(- Command: Execute Line Mode Commands7 Key(s): Do (VT200 function key) + Syntax: (not applicable)nM Options: * (optional numeric argument) : ` .Q^ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xg (select range)@ a (rectangular region)K  (requires window support)rN Meaning: Execute a line mode command. VTEDIT prompts for a command withN 'Command:'. To use one of your previous commands and possiblyN edit it, type the up- and down-arrow keys. VTEDIT executes theN line mode command, thereby applying numeric arguments and/orN select ranges or rectangular regions, where appropriate. AfterE execution of the command, control returns to keypad mode. & Command: Command Input Mode0 Key(s): Ctrl/Z (control key)+ Syntax: (not applicable)oM Options: * (optional numeric argument).: ` (select range)@ a (rectangular region)K  (requires window support)rN Meaning: Execute one or more line mode commands. VTEDIT prompts forN commands with 'VTE>'. To use one of your previous commands andN possibly edit it, type the up- and down-arrow keys. AfterN executing the command, the prompt re-appears in order to allow youN to enter the next command. Command input mode is terminated byN typing an empty command, or the command 'Continue' or anN abbreviation thereof. VTEDIT executes the line mode commands oneN at a time, thereby applying numeric arguments and/or select rangesN or rectangular regions, where appropriate. After leaving command7 input mode, control returns to keypad mode.p Command: Continue! Key(s): (none)i Syntax: CONTINUEK Options:  (requires window support)eN Meaning: Leave command input mode (or LSE command input mode) and resume keypad editing.n [N VTEDIT V5.1 Page 118I This command is disabled if VTEDIT is run in /NODISPLAY mode.P( Command: Execute Command File! Key(s): (none)t Syntax: @filespec N Meaning: Execute the command file 'filespec' containing VTEDIT line modeN commands. Using a command file lets you set editing preferences,N or execute a series of related commands, without having to typeK each command. The default file type for command files is .VTE.eN You can use more than one command file in a session, but VTEDITN executes only one at a time. You cannot use @ to nest commandN files; calling one command file from another one aborts executionB of the first command file at the location of the call.: This command can only be given from line mode. Command: Set Ask ! Key(s): (none)g5 Syntax: SET ASK [DEFAULT|NO|YES]tN Meaning: Whenever VTEDIT executes an operation with possibly dangerousN consequences (like deleting or sorting a buffer), the user isN asked for confirmation. The Set Ask command allows to controlN this behaviour when VTEDIT is executing an initialization file or a command file.oN If this command is given with the keyword DEFAULT, VTEDIT does notN pose the confirmation questions when executing an initializationN file or a command file, but instead assumes the default answer;N the keywords YES and NO cause VTEDIT to assume always Yes or No toN be given as the answer to confirmation questions. Thus, anyN questions from VTEDIT are avoided, which may be practical when$ using VTEDIT from batch.N Giving the Set Ask command without a keyword parameter restoresN the default behaviour of VTEDIT, i.e. asking for confirmation,B even when executing an initialization or command file.N Note, however, that questions having no default answer (like theN question asked when giving the Quit command) are always asked,N regardless of the setting of the Set Ask switch; also, questionsN are always asked as long as VTEDIT is accepting input from theN terminal, i.e. no command file or initialization file is being executed.G: This command can only be given from line mode. IN VTEDIT V5.1 Page 119 Command: Set Verify! Key(s): (none)r Syntax: SET VERIFYN Meaning: This command lets VTEDIT display the effects of executing aN command file immediately, i.e. after executing each command line.N Additionally, the commands are displayed in the message window, as they are executed.N The effects of the Set Verify command can be reversed with the Set: Noverify command; Set Noverify is the default.: This command can only be given from line mode. Command: Set Noverify! Key(s): (none)  Syntax: SET NOVERIFYN Meaning: This command lets VTEDIT display the effects of executing aN command file only after processing the whole file; also, no line= mode commands are listed while they are executed.iN This command re-establishes the default behaviour of VTEDIT after( giving a Set Verify command.: This command can only be given from line mode./ Command: Set TPU Command and ExecuteuP Key(s): Ctrl/? (, control key (ASCII value 31 OO US))? Do (, VT200 function key)i Syntax: TPU commandN Meaning: Get a TPU command from the keyboard and execute it. VTEDITN prompts for a TPU command with 'TPU command:'. Entering theN prompted string is terminated by typing the keypad period (.) or,N on VT200 terminals, the Do key, or aborted by typing Ctrl/Z;N typing Return allows to enter TPU commands spanning more than one line.tN VTEDIT transfers the command for compilation and execution toN VAXTPU. If the numeric argument n is present, its value is used5 as an argument to the TPU command string.t nN VTEDIT V5.1 Page 1200 Command: Execute Q-register q< Key(s): Ctrl/Eq (control key, any letter)' Syntax: EXECUTE REGISTER qaM Options: * (optional numeric argument)fN Meaning: Compile and execute the TPU command(s) or procedure in Q-register^ q. In this command, q can be any letter; uppercase and lowercaseN letters are treated as equivalent. If the numeric argument n isN present, its value can be accessed from the command or procedure9 via the global variable 'vte$x_repeat_count'. / Command: Repeat Q-register q /0P VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xX~vD Key(s): Ctrl/Eq (, control key, any letter)? Syntax: ITERATE REGISTER q [n] (Default: 1)oM Options: * (optional numeric argument)pV Meaning: Compile the TPU command(s) or procedure in Q-register q andV execute it in an iteration loop. In this command, q can be anyN letter; uppercase and lowercase letters are treated as equivalent.N If the value of the numeric argument n is zero, the iteration isN infinite. Otherwise, n is the iteration count for the loop. If nF is not given, this command is the same as Ctrl/Eq.- Command: Start / End Learning Mode > Key(s): L (, main keyboard key) Syntax: LEARN N Meaning: VTEDIT can "learn" a series of keystrokes and (re-)execute themN upon request. An initial L puts VTEDIT into learning mode.N Every subsequent keystroke is remembered by VTEDIT until anotherN L is typed. To cancel a learned sequence or to ensure thatN you are out of learning mode, type L repeatedly such thatN eventually the null learning sequence (i.e., LL) has been entered. , Command: Execute Learned Sequence> Key(s): X (, main keyboard key)7 Syntax: EXECUTE LEARNED [n] (Default: 1) M Options: * (optional numeric argument)xN Meaning: This command causes VTEDIT to (re-)execute the previously learnedN keystroke sequence. The optional numeric argument is the number? of times to execute the learned keystroke sequence.  N VTEDIT V5.1 Page 121 Command: Compile TPUn7 F11 (VT200 function key) E Key(s): . (, main keyboard period key)v7 Syntax: COMPILE TPU [n] (Default: 1)eM Options: * (optional numeric argument): ` (select range)N Meaning: Compile a range of text as VAXTPU source code. VTEDIT compiles nN lines of text, starting at the current cursor position. If theN numeric argument n is not given but a range has been selected,N VTEDIT compiles the text in the select range. Otherwise, VTEDITN compiles one line. VTEDIT moves the cursor to the end of the compiled text. Command: Execute TPU D Key(s): , (, main keyboard comma key)? F11 (, VT200 function key) 7 Syntax: EXECUTE TPU [n] (Default: 1)hM Options: * (optional numeric argument) : ` (select range)N Meaning: Execute a range of text as VAXTPU source code. VTEDIT compiles nN lines of text, starting at the current cursor position. If theN numeric argument n is not given but a range has been selected,N VTEDIT compiles the text in the select range. Otherwise, VTEDITN compiles one line. VTEDIT moves the cursor to the end of theN compiled text. If the compilation is sucessful, VTEDIT executes2 the resulting statement(s) or program.( Command: Display Command Menu> Key(s): Y (, main keyboard key) Syntax: MENUK Options:  (requires window support) N Meaning: Display a list of the VTEDIT command groups and let the userN select a group. Then, display a list of the commands of thisN group and let the user select a command of this group. ThisN command is mainly intended as a teaching aid; additionally, it may0 be useful if invoked with the mouse. tN VTEDIT V5.1 Page 122G Miscellaneous Commandsd, Command: Set Journaling Frequency> Key(s): F (, main keyboard key) Syntax: SET JOURNAL nN Options: # (mandatory numeric argument)N Meaning: Change the frequency with which VAXTPU logs your typing into theN journal file. The lower the (positive) value of the numericN argument n is, the more often VAXTPU writes a record to the logN file. A value of 1 causes a record to be written forN approximately every 10 - 30 keys pressed; a value of 10 or moreN causes a record to be written for every 120 - 300 keys pressed,! which is the default.kA Command: Close Journal File and Start New Journal Filel> Key(s): F (, main keyboard key) Syntax: RESET JOURNAL N Meaning: Close the current journal file and open a new one. This operationN is only allowed if there is currently no non-empty user buffer, asI otherwise the new journal file would be useless for recovery.; Command: Redisplay Keypad Layout and Obtain Help > Key(s): H (, main keyboard key)7 Help (VT200 function key)  Syntax: HELP [topic] N Meaning: Clear the screen and display the Help text for the Video TerminalN Editor. Type carriage return for additional Help information.N Press the key or type the name of the VTEDIT command that you wantN Help on. Type TPU, and optionally the name of a TPU-related item,N to obtain Help about VAXTPU and its functions, or type LSE toN obtain Help about the Language-Sensitive Editor. Type a space toN redisplay the text window(s) and resume editing, or Return or3 Ctrl/Z to return from multi-level Help.-$ Command: Show InformationK Key(s): Backspace (, special key, or , Ctrl/H)c? F12 (, VT200 function key) ? Help (, VT200 function key)> Syntax: SHOW itemN Meaning: Show information about the current editing environment, includingN the name of the input file, the name of the output file, marginN settings, and Tab settings, and possibly about the current oN VTEDIT V5.1 Page 123! language environment.TN VTEDIT will prompt you for more information. You may then enterN one of the following keywords (or an abbreviation thereof) to' obtain general information:dB BUFFERS KEYWORDS LISTS MAPS PROCEDURES> SCREEN SUMMARY VARIABLES WINDOWSK or the name of a TPU variable for information on that variable. N If VTEDIT is installed with support for the Language-SensitiveN Editor VAX LSE, you may also enter one of the following keywordsN (or an abbreviation thereof) to obtain information0 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x about the current environment:D ALIAS LANGUAGES MODULES PACKAGES PARAMETERSE PLACEHOLDERS ROUTINES SOURCE_DIRECTORY TOKENSm4 Type Return or Ctrl/Z to resume editing.7 Command: Set up Wildcard for Filename SearchmU Key(s): 07 (, main keyboard zero, keypad key 7)e" Syntax: SET WILDCARD wildcardN Meaning: Get a (possibly wildcard) filespec from the keyboard as the basisN for subsequent filename lookup matching this filespec. VTEDITN prompts for a file name with 'Wildcard (Filespec):'. VTEDIT usesN this filespec for subsequent filename lookup with the -7N (Insert Wildcard) and PF3 commands (This File). ThisN command is only a preset; it does not open, close, or try to find any file.s0 Command: Sort Current Buffer or Range8 Key(s): Ctrl/K (, control key)B Syntax: SORT [n] (Default: whole buffer)M Options: * (optional numeric argument) : ` (select range)@ a (rectangular region)N Meaning: Sort the lines of the selected range in lexically ascending order.N If a rectangular region has been selected, sort the lines of textN of that region using the columns inside the region as sort key.N If no range or region has been selected but a numeric argument nN has been given, sort the next n lines; otherwise, sort the current buffer.uN NOTE: The text, once sorted, cannot be restored to its previousN order; so, to prevent serious errors, VTEDIT asks for confirmation9 if the current text buffer has been modified.y rN VTEDIT V5.1 Page 124' Command: Repeat Next Commanda= Key(s): n (, numeric argument)  Syntax: REPEAT expressionM Meaning: Execute the next command n times or with a numeric argument of n.rN Simple numeric arguments consist of an optional minus sign, and aN digit string which is always interpreted in decimal. MoreN advanced numeric arguments can be expressions using standardN arithmetic operators. These numeric arguments also start with anN optional minus sign, and, then a digit, or with a caret (^). TheN expressions are always evaluated from left to right, i.e. withoutN any operator precedence (thus, 2+3*4 evaluates to 20, and not toF 14, as would be the case with * having precedence over +).7 The valid numeric expression operators are: # + Additionu& - Subtraction) * Multiplicatione# / Division 8 = Evaluate current arg1 op arg26 ^- Change sign of current arg20 The valid radix change commands are:D ^D Change radix to decimal (base 10)A ^O Change radix to octal (base 8)]H ^X Change radix to hexidecimal (base 16)) The valid arg2 stand-ins are: A ^- The inverse (negative) of arg2c6 ^. Current line numberS ^Z Current total number of lines in the text buffereV ^L The distance to the end of the current lineN (counted positive) if arg2 is positive, otherwiseN to the start of the current line (counted negative)M ^L The distance to the arg2'th line separator I ^N The result of the last Count operationa= ^^x The value of character 'x'af ^Qq The contents of the numeric part of Q-register q; qE may be any (uppercase or lowercase) letterpV ^A The value of the character at a distance of arg2 to% the cursoreV ^\ The value of the number in the text buffer,N immediately following the cursor, or 0 if there is$ no numberV ^Ctrl/\ The same, but deleting this number from the text! bufferm 1N VTEDIT V5.1 Page 125& Command: Save Numeric ValueJ Key(s): Uq (, main keyboard key, any letter)& Syntax: STORE NUMBER q nN Options: # (mandatory numeric argument)N Meaning: Save the numeric value of the numeric argument n in the numeric^ part of Q-register q. In this command, q can be any letter;F uppercase and lowercase letters are treated as equivalent. Command: Type! Key(s): (none)7 Syntax: TYPE [n] (Default: 1)-M Options: * (optional numeric argument)l: ` (select range)N Meaning: Type the next n lines, beginning at the current cursor position.N If n is not given, type the current line. If n is zero orN negative, type n lines preceding the current cursor position. IfG a range has been selected, type the contents of this range.yN If the cursor is somewhere in the middle of a line, and the startN of this line is not to be typed, the characters up to the cursorN are displayed as a series of centered dots (), such that the? position of the displayed characters stays correct. N This command is used to display text if VTEDIT is run in /NODISPLAY mode.8 Command: Display Current and Last Line Number8 Key(s): Ctrl/N (, control key) Syntax: WHAT LINE N Meaning: Show the current line number, total number of lines in the buffer,N and percentage of that position in the buffer. This is useful ifN you want to know whether to insert a page break or simply to find1 out how many lines are in the buffer.m hN VTEDIT V5.1 Page 1266 4.5 Using the MouseN The mouse commands are only available if VTEDIT is run on a workstation;N they require the presence of the VWS windowing software. For tutorial5 information about using the mouse, see section 3.9.o" Command: Mouse Position4 Key(s): M1 Left Mouse Button+ Syntax: (not applicable) H Meaning: Position the cursor at the location pointed at by the mouse.N If this location is in the status line of a window, scroll thatN window; clicking the mouse in the left half of the status lineN 1+O VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x9>scrolls the window down, moving the cursor position towards theN top of the file, and clicking in the right half scrolls up, moving' the cursor towards the end.IN Clicking the mouse on an item in a selection menu selects thisN item. Clicking the mouse in the last line of the screen displaysN a menu of VTEDIT command groups. You may then select a group fromH this menu, and, in a second step, a command from this group. Command: Mouse Select6 Key(s): M2 Middle Mouse Button+ Syntax: (not applicable) N Meaning: Position the cursor at the location pointed at by the mouse andN start a select range at this location. If the mouse button isN released at the same location, the select range is created whenN the mouse button is clicked a second time, and it covers the areaN spanned by the two clicks. If the mouse is moved before releasingN the button, the select range covers the area spanned by the; downstroke and upstroke positions of the mouse.N When the select range has been created, VTEDIT displays a menuN allowing to perform a Cut, Save or Remove operation on the selectN range. Cutting and Saving moves the text in the select range intoN the paste buffer, and Cutting and Removing deletes it from its( location in the user buffer. Command: Mouse Paste 5 Key(s): M3 Right Mouse Button:+ Syntax: (not applicable)aN Meaning: Position the cursor at the location pointed at by the mouse andE insert the contents of the paste buffer at this location.e nN VTEDIT V5.1 Page 127D 4.6 Line Mode Mini EditorN The line mode editor is invoked if VTEDIT is started in /NODISPLAY mode.N You may enter any VTEDIT commands that do not make use of windows. EnterN the commands without leading blanks, and terminate each command with theN return key. Typing the Exit command or the Ctrl/Z or F10 key terminates VTEDIT in this mode.N Input of an empty line positions to the next line in the current buffer andN displays this line. Any input line not starting with a symbol constituent^ character, or one of the characters @ and !, is used as a pattern to change* the current line (see also section 3.7):N - Each non-blank character replaces the corresponding character in the current line.N - Each ] deletes the corresponding character in the current line.F - Each # replaces the corresponding character with blank.V - All characters after the first [ are inserted before the corresponding% character in the current line. N The first five character positions of the input line are occupied by theN prompt, and the first eight character positions of displayed lines containN the line number. Thus, the substitution patterns start with the fourthN character of the input line; the first three characters should be left blank with the following exception:tf The characters #, [, ] may be substituted by specifying one ore moreN substitution control characters as the first three characters in the inputN line; these characters replace the three control characters in this order.N You may use any non-blank characters that are no symbol constituentN characters, i.e. neither letters, digits, dollar ($), nor underline (_), as" substitution control characters. aN VTEDIT V5.1 Page 128J 4.7 Language-Sensitive Editing CommandsN The following commands are only available if VTEDIT is installed with LSEN support and if it is not invoked with the qualifier /NOLSE. Presence of LSEN support is shown by an asterisk (*) or a hash sign (#) in the statusN line(s). The key bindings shown as 'LSE key' take effect only if the keysN are switched to LSE mode via the LSE Keys command; these key definitions( overlay the original ones temporarily.N Further information about the Language-Sensitive Editor can be found in5 section 3.10, and in the VAX LSE documentation set.eF Formatting Comments" Command: Align comments8 Key(s): Ctrl/G (, control key)7 Syntax: COMMENT ALIGN [n] (Default: 1)M Options: * (optional numeric argument)t: ` (select range)N Meaning: Align program comments within the next n-1 lines such that theyN start at the same column as in the current line. If n is notN given but a range has been selected, align the comments in theN select range. VTEDIT finds the first trailing comment in theN range, uses the starting position of that comment as the commentN column, and adjusts all subsequent comments to conform with the first.! Command: Fill Comments(8 Key(s): Ctrl/P (, control key)7 Syntax: COMMENT FILL [n] (Default: 1)iM Options: * (optional numeric argument)n: ` (select range)N Meaning: Fill program comments within the next n lines to put as much textN on a line as possible. If n is not given but a range has beenN selected, fill the comments in the select range. The commentN column is determined from the position of the comment segment in/ the first line of the select range.  eN VTEDIT V5.1 Page 129P Controlling File Search( Command: Set Source Directory8 Key(s): Ctrl/L (, control key)& Syntax: SET SOURCE directory-listM Options: * (optional numeric argument) N Meaning: Declare a list of directories to be searched in subsequent ReadN File commands if the filespecs used in these commands contain noN device/directory fields. VTEDIT prompts for a (comma-separatedN list of) directory specification(s) with 'Directory:'. If youN wish to specify a search list consisting of two or more elements,. separate the elements with commas.N VTEDIT builds a search list by prefixing your specification withN '[]', the shorthand for the current directory, and appendingN 'CMS$LIB', the logical name pointing to the current CMS library ifN there is one. Thus files will always be searched in your currentN directory first, and in the CMS library if they are not found inN any directory on the list. The automatic addition of the currentN directory and current CMS library can be suppressed by enteringN the Set Source Directory command with a negative numeric argument,@ 2W8 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x i.e. by typing the -Ctrl/L key sequence.N NOTE: The directory search list is stored in the logical nameN LSE$SOURCE. Therefore, it remains in effect after leaving VTEDIT1 and will be cancelled only on logout.n :N VTEDIT V5.1 Page 130N Entering Source Text) Command: Goto Next PlaceholdersE Key(s): Next Screen (, VT200 keypad key)i> ) (, main keyboard key)0 LSE key: Ctrl/N (control key)7 Syntax: NEXT PLACEHOLDER [n] (Default: 1)oM Options: * (optional numeric argument)mN Meaning: Move the cursor to the n-th next defined placeholder. AN placeholder must be defined in order to be be recognized by this command.N If the cursor is positioned in a query buffer resulting from anN SCA query, this command selects the next query, allowing you toD cycle through all queries of the current editor session.- Command: Goto Previous PlaceholderhE Key(s): Prev Screen (, VT200 keypad key)c> ( (, main keyboard key)0 LSE key: Ctrl/P (control key)7 Syntax: PREVIOUS PLACEHOLDER [n] (Default: 1)uM Options: * (optional numeric argument)sN Meaning: Move the cursor to the n-th previous defined placeholder. AN placeholder must be defined in order to be be recognized by this command.N If the cursor is positioned in a query buffer resulting from anN SCA query, this command selects the previous query, allowing youG to cycle through all queries of the current editor session. . Command: Expand Current Placeholder7 Key(s): F13 (VT200 function key)g: "Linefeed" (special key or Ctrl/J)0 LSE key: Ctrl/E (control key) Syntax: EXPAND TOKENN Meaning: Depending on the context, this command performs one of the following:N - Replaces the token, placeholder, routine name, or alias at the: cursor position with a template or string.N - Displays a description of the valid replacements for a placeholder. tN VTEDIT V5.1 Page 131N - Displays a menu of options correponding to the token or; placeholder at the current cursor position. & - Selects a menu option.N Thus, expansion differs for tokens, routines, aliases, and theJ three types of placeholders (terminal, nonterminal, and menu):N - If the current position is on a terminal placeholder, VTEDITN displays a description of valid replacements for the terminalN placeholder. Pressing the up and down arrows allows you toN move within the text. Pressing the space bar removes the textN and returns you to the original buffer without making any changes.N Pressing any other key clears the text and performs the; operation normally associated with the key. N - If the current position is on a nonterminal placeholder,N VTEDIT deletes the placeholder and replaces it with the text( of the placeholder body.N - For menu placeholders, VTEDIT displays the options. PressingN the up and down arrow keys allows you to move from one option to another.oN To obtain help text on an indicated option, press the ? key.N Pressing the Enter or the Return key, or the Expand Token keyN again allows you to expand the selected option and remove theN menu display. Pressing the Next Screen or Prev Screen keyN also allows you to move through the menu, skipping severalN options at a time. Pressing any other key removes the menuN display and performs the operation normally associated with the key.N If the option is a placeholder name, the placeholder isN enclosed in the same class of delimiter as the menu optionN being expanded (unless the /LIST qualifier on DEFINEN PLACEHOLDER specifies otherwise) and VTEDIT then automaticallyN performs an Expand operation. If /LIST is specified, the listG form of the delimiter found on the menu option is used.N If there is a description associated with the placeholder orN token name appearing as a choice in a menu, VTEDIT displays4 the description along with the name.N - If the cursor immediately follows the name of an alias,N routine, token, or the abbreviation for an alias, routine, orN token name, Expand causes the name (or abbreviation) to beN deleted and the expansion of the alias, routine, or token to) be inserted in its place.lN If more than one alias, routine, or token matches the stringN at the current position, VTEDIT displays a list of choices andN extends the abbreviation up to the first unambiguousN character. This menu operates in the same manner as that lN VTEDIT V5.1 Page 132, displayed for a placeholder.N If the expansion text consists of more than one line, theN following lines will be indented to the column containing theN first character of the token name or left placeholder delimiter,N unless the expansions starts with an empty line (which is% automatically discarded).nN For placeholders, if the delimiter is REQUIRED_LIST or OPTIONAL_N LIST, VTEDIT duplicates the placeholder before proceeding;N however, Expand never duplicates OPTIONAL or REQUIRED placeholders. N VTEDIT places the new copy either directly after the old copy orN under it on the next line, as specified by the placeholderN definition. The first character of the old copy of theN placeholder becomes the current position. After duplication isN performed, the old copy of the placeholder will have the REQUIREDN delimiters and the new copy will have the OPTIONAL_LIST delimiters.c( Command: Unexpand Placeholder/ Key(s): 6 (keypad key) 8 LSE key: Ctrl/E (, control key) Syntax: RESTORE N Meaning: Reverse the effect of the last Expand command. The rangeN containing the text inserted as part of the last Expand command isN delete3< VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xMd and the token, placeholder, or alias that appeared at thatN position before the Expand command is restored. This command mustN immediately follow an Expand command, without intervening cursor. movements, text entry or deletion.% Command: Erase Placeholdert? Key(s): F17 (, VT200 function key)M> # (, main keyboard key)0 LSE key: Ctrl/K (control key) Syntax: ERASE PLACEHOLDERiN Meaning: Delete the text of the placeholder if the current position is onN or within the placeholder delimiters. Note that you can only( delete defined placeholders.N If the current position is not on a placeholder, the cursor willN move to the next placeholder and delete it. If no placeholder is( found, an error is reported.N If the deleted placeholder has the OPTIONAL_LIST delimiters and isN defined to duplicate horizontally or by context, VTEDIT determinesN if the placeholder is immediately preceded by defined separatorN text or white space. If either is the case, VTEDIT will delete. the separator text or white space. aN VTEDIT V5.1 Page 133N If the deleted placeholder has the OPTIONAL_LIST delimiters and isN defined to duplicate vertically or by context, VTEDIT determinesN if the placeholder is preceded by blanks or Tabs or if the lastN item on the previous line is separator text. If either is theK case, VTEDIT deletes the blanks and Tabs or the separator text.l' Command: Unerase Placeholder[/ Key(s): 6 (keypad key)(8 LSE key: Ctrl/K (, control key) Syntax: RESTORE(N Meaning: Restore text deleted by the last Erase Placeholder command. ThisN command must immediately follow an Erase Placeholder command,I without intervening cursor movements, text entry or deletion. Command: Define Alias8 Key(s): Ctrl/A (, control key) Syntax: DEFINE ALIAS name: Options: ` (select range)N Meaning: This command allows you to refer to the identifier at the currentN cursor position, or, if a range has been selected, to the text inN that range. VTEDIT prompts you for an alias-name with 'AliasN name:'. The editor defines an alias-name for (the leading partN of) the identifier under the cursor, or for the contents of theN select range, if there is one. From now on, you can type theN alias-name and press the Expand Token key and the identifier or8 text assigned to the alias-name will appear.* Command: Language Specific Help> Key(s): ? (, main keyboard key) Syntax: LANGUAGE HELPTN Meaning: Display the Help text associated with the token or placeholder atN the current cursor position. The Help text comes from the HelpN library associated with the specified language. VTEDIT forms aN topic string by concatenating the TOPIC_STRING qualifiersN associated with the language and the token or placeholder; VTEDIT< then searches for the topic in the Help library.N If more than one screen of help text is available, and you do notN wish to review the additional screens of information, press CTRL/Z* to return to the editing mode. N VTEDIT V5.1 Page 134P Compiling and Reviewing4 Command: Output Buffer and Compile OutputS Key(s): 1Ctrl/Z (, main keyboard one, control key)e7 F20 (VT200 function key)n Syntax: COMPILEhN Meaning: Write the contents of the current text buffer to its associatedN output file and compile this file using the facilities of theN Language-Sensitive Editor. With LSE support, VTEDIT forms a DCLN command line by appending the file spec of the current buffer toN the command-string specified with the COMPILE command defined forN the current language. If the associated language has diagnosticN capabilities, /DIAGNOSTICS is appended to the DCL command formed.N If the DCL-symbol 'language'_FLAGS is defined, where 'language'N stands for the current language, e.g. C or Pascal, VTEDITN translates this symbol and appends the result to DCL command verb! used for compilation. N VTEDIT then spawns a subprocess to execute the command line. WhenN the subprocess completes, a message is displayed in the messageN window. For further information about compilation with the8 Language-Sensitive Editor, see section 3.10. Command: Review? Key(s): F14 (, VT200 function key)h> = (, main keyboard key) Syntax: REVIEWN Meaning: Select and display a set of diagnostic messages resulting from aN compilation. The diagnostics associated with the contents of the5 buffer become the current diagnostic set.cN A set of diagnostics becomes associated with a buffer by a ReviewN command. The diagnostic remains associated with the buffer untilN either a subsequent Compile command is issued for the buffer, or9 the review window is removed from the screen. N If no diagnostics are associated with the buffer, VTEDIT attemptsN to read a set of diagnostics from a file. The file specificationN for the file defaults to the file name of the file associated with2 the buffer, but with a .DIA file type. Command: Goto Sourced? Key(s): F18 (, VT200 function key) > * (, main keyboard key)0 LSE key: Ctrl/G (control key) Syntax: GOTO SOURCE N Meaning: Display the source corresponding to the current diagnostic or eN VTEDIT V5.1 Page 135N query item, depending on whether VTEDIT is in Review or Query mode.mN In Review mode, VTEDIT selects the diagnostic at the currentN position in the buffer $Review and a region for which sourceE display is desired. This becomes the current diagnostic.AN The current diagnostic and the current region are highlighted, andN the file containing the current region is displayed in a secondN window with the region highlighted. When a diagnostic is selectedN in this way, the buffer containing the current region becomes the current buffer.rN VTEDIT may display a suggested error correction, and prompt for aN yes (Y) or no (N) response; the correction is made if the response is yes.,N 4" VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xA In Query mode, VTEDIT selects the query item occurrence at theN current position in the current query buffer. This becomes theN current query item. VTEDIT highlights the current query item andN displays the the file containing the corresponding source for theN current query item in a second window. The buffer containing theN source that corresponds to the current query item becomes the current buffer. N In both modes, VTEDIT creates an unmodifiable buffer and reads theN source file specified in the diagnostics file or SCA data fileN into that buffer, if the source file corresponding to the currentG diagnostic region or current query item is not in a buffer.cN If it cannot find that file, VTEDIT uses the list of directoriesN specified by the Set Source Directory command to find the file.N VTEDIT uses CMS to access a file if the directory for the file toC be accessed is the same as the translation for CMS$LIB.  Command: Next Stepr? Key(s): F20 (, VT200 function key)p> ] (, main keyboard key)0 LSE key: Ctrl/F (control key)7 Syntax: NEXT STEP [n] (Default: 1)sM Options: * (optional numeric argument)dN Meaning: Move the cursor forward to the next error, item, name, orN occurrence, depending on whether VTEDIT is in Review or Query5 mode. The indicated item is highlighted.eN In Review Mode, VTEDIT selects the n-th next diagnostic in theN current set of diagnostics. The current set of diagnostics is inN buffer $Review. Next Step positions the cursor at the n-th nextN diagnostic in that buffer. If the current error is the last inN the set, the Next Step command will not wrap from the last error back to the first. N VTEDIT V5.1 Page 136N The Next Step command is equivalent to a Review of the buffer forN the current diagnostic set, except the cursor is moved to the nextN diagnostic. Thus, the next diagnostic in the current set becomesN the current diagnostic, and the primary region for that diagnostic' becomes the current region.mN In Query mode, VTEDIT moves the cursor forward to the next sourceN item, the next name, or the next occurrence of the current sourceN item in the current query, depending on the context provided by the current query.! Command: Previous Steps? Key(s): F19 (, VT200 function key) > [ (, main keyboard key)0 LSE key: Ctrl/B (control key)7 Syntax: PREVIOUS STEP [n] (Default: 1) M Options: * (optional numeric argument)eN Meaning: Move the cursor backward to the previous error, item, name, orN occurrence, depending on whether VTEDIT is in Review or Query5 mode. The indicated item is highlighted.oN In Review mode, VTEDIT selects the n-th previous diagnostic in theN current set of diagnostics. The current set of diagnostics is inN buffer $Review. Previous Step positions the cursor at the n-th/ previous diagnostic in that buffer. N The Previous Step command is equivalent to a Review command exceptN that the the cursor is moved to the previous diagnostic. Thus,N the n-th previous diagnostic in the current set becomes theN current diagnostic, and the primary region for the diagnostic' becomes the current region.sN In Query mode, VTEDIT moves the cursor backward to the previousN source item, the previous name, or the previous occurrence of theN current source item in the current query, depending on the context* provided by the current query. N VTEDIT V5.1 Page 137I Source Code AnalysistN The following commands require the presence of the Language Sensitive Editor/ and the presence of the Source Code Analyzer.mN Further information about the Source Code Analyzer can be found in section- 3.10, and in the VAX LSE documentation set.  Command: Find Symbolt? Key(s): F9 (, VT200 function key) > ' (, main keyboard key): Syntax: FIND SYMBOL [REFERENCES|DECLARATIONS]M Options: * (optional numeric argument)P: ` (select range)N Meaning: Locate occurrences of source symbols described by the current+ Source Code Analyzer libraries. N Normally, the symbol at the current cursor position is the subjectN of the query operation. The symbol name at the current cursorN position is defined as the contiguous sequence of identifierN characters before and after the cursor. The set of symbolN identifier characters depends on the language associated with the current buffer.aN If a select range is active, VTEDIT will use the text within that% range as the symbol name.,N If this command is given with a negative numeric argument, symbolN occurrences are restricted to symbol references; if the commandN has a zero or positive numeric argument, only declarations areN shown. If the command is given without a numeric argument, allN types of occurrences are shown. Searching for symbol referencesN only can also be specified by using the keyword REFERENCES, if theN command is given in line mode, and searching for symbolL declarations can be specified by using the keyword DECLARATIONS.$ Command: Goto Declaration? Key(s): F8 (, VT200 function key)g> ; (, main keyboard key)0 LSE keys: Ctrl/D (control key)8 Ctrl/D (, control key)' Syntax: GOTO DECLARATION [PRIMARY]hM Options: * (optional numeric argument)o: ` (select range)N Meaning: Display the declaration of the symbol indicated. VTEDIT displaysN the source code containing the symbol declaration at anotherN window and positions the cursor on the symbol declaration. VTEDITN uses the symbol name at the current cursor position, or the textI within the currently active select range, as the symbol name.v N VTEDIT V5.1 Page 138N A numeric argument may be used to indicate whether you want to seeN the primary or the associated declaration for the symbol. AN primary declaration is the declaration598 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xK that SCA interprets as mostN significant for a symbol (such as a FUNCTION declaration). ForN example, the primary declaration of a routine describes the bodyN of the routine. An associated declaration is a relatedN declaration that accompanies the primary declaration (such as an! EXERNAL declaration).dN Normally, SCA determines which declaration to display using the following criteria:,N - If the indicated occurrence of the symbol is a reference,N VTEDIT displays the declaration specified by the compiler as7 bound to that occurrence of the symbol.cN - If the indicated occurrence of the symbol is an associatedE declaration, VTEDIT displays the primary declaration..N - If the indicated occurrence of the symbol is a primaryH declaration, VTEDIT displays the associated declaration.N If the command is given with a zero numeric argument, VTEDITN displays the primary declaration for the symbol in any case.N Searching for primary declarations only can also be specified byL using the keyword PRIMARY, if the command is given in line mode.N If the LSE key assignments are used, the Ctrl/D key searches forN the primary declaration, whereas the Ctrl/D key sequence8 searches according to the rules given above. N VTEDIT V5.1 Page 139h Access to the Language-Sensitive Editor? Command: Switch LSE Keys between LSE and VTEDIT Mode I Key(s): Linefeed (, special key or Ctrl/J)1? F13 (, VT200 function key) & Syntax: LSE KEYS [ON|OFF]M Options: * (optional numeric argument)eN Meaning: Bind the Language-Sensitive Editor's control keys to the commandsN in the same way as when VAX LSE is used in its native, EDT-likeN mode. For example, use the Ctrl/E key for the Expand TokenN command, instead of its VTEDIT meaning. Subsequent use of the LSE= Keys command restores the VTEDIT key definitions.hN The selection of LSE key bindings is indicated by the string 'LSE'" in the status line(s).N If the LSE Keys command is given with a negative numeric argument,N the EDT-like key bindings are set unconditonally. If the commandN is given with a zero or positive numeric argument, the VTEDIT keyN definitions are restored unconditionally. The EDT-like keyN bindings can also be selected unconditionally by using the keywordN ON, if the command is given in line mode, and the VTEDIT key@ defintions can be selected by using the keyword OFF. Command: LSE Command 7 Key(s): Do (VT200 function key)r Syntax: LSE COMMAND commandN Meaning: Execute a command of the Language-Sensitive Editor VAX LSE.N VTEDIT prompts for an LSE command with 'LSE command:'. To use oneN of your previous LSE commands and possibly edit it, type the up-N and down-arrow keys. VTEDIT transfers the command to theN Language-Sensitive Editor; after execution of the command, control returns to VTEDIT.N NOTE: Some LSE commands may interact with the VTEDIT environmentN in such a way that part of the editing environment is left as itN is in standard LSE. While this normally will not happen, you7 should be aware of this possibility anyhow.d* Command: LSE Command Input ModeT Key(s): Ctrl/? (control key, representing ASCII value 31 OO US)0 LSE key: Ctrl/Z (control key)+ Syntax: (not applicable) N Meaning: Execute one or more commands of the Language-Sensitive Editor VAXN LSE. VTEDIT prompts for LSE commands with 'LSE>'. To use one ofN your previous LSE commands and possibly edit it, type the up- and N VTEDIT V5.1 Page 140N down-arrow keys. After executing the command, the promptN re-appears in order to allow you to enter the next command. LSEN command input mode is terminated by typing an empty command, or> the command 'Continue' or an abbreviation thereof.N VTEDIT transfers the commands to the Language-Sensitive Editor oneN at a time; after leaving LSE command input mode, control returns to VTEDIT.N NOTE: Some LSE commands may interact with the VTEDIT environmentN in such a way that part of the editing environment is left as itN is in standard LSE. While this normally will not happen, you7 should be aware of this possibility anyhow. Command: Set LanguageT Key(s): -5 (, main keyboard minus, , keypad key)" Syntax: SET LANGUAGE languageN Meaning: Set the language for the current buffer. VTEDIT prompts for aN language name with 'Language:', and sets the language associated6 with the current buffer to this new value.N NOTE: The language stays selected for the current buffer until aN new language is selected for this buffer. Entry into a new bufferN selects the language selected for this buffer, or a languageN according to the file type of this buffer, if no language for this0 buffer has been selected explicitly.# Command: Get EnvironmentcT Key(s): -1 (, main keyboard minus, , keypad key)% Syntax: GET ENVIRONMENT filespecVN Meaning: Load an environment file. VTEDIT prompts for a file name withN 'Environment file:'. The default device and directory isN SYS$LIBRARY:, and the default file type is .ENV. VTEDIT loads theN requested environment file and sets the language for the currentL buffer once again, in order to make the new definitions current. N VTEDIT V5.1 Page 141R Redefining the Do KeyN For VTEDIT without LSE support, the VT200 Do key lets the editor prompt forN a line mode command, whereas, for VTEDIT with LSE support, this same keyN expects an LSE command, in order to allow easy control of the Language-N Sensitive Editor. While both types of command can be typed by entering theN appropriate mode (line mode or LSE command input mode) via typing the Ctrl/ZN or the Ctrl/? key, respectively, the use of the Do key is much moreN convenient to enter a single command. To select the appropriate type ofN commands to be entered at the Do key prompt - line mode commands forN compatibility with VTEDIT without LSE support, or LSE commands for easierN control of the Language-Sensitive Editor -, the following command allow6x;oO VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x2s to& change the definition of the Do key: Command: Set Do> Key(s): $ (, main keyboard key)+ Syntax: SET DO [LSEDIT|VTEDIT] M Options: * (optional numeric argument) N Meaning: Let the Do key accept VTEDIT commands instead of LSE commands.N Whenever this mode is selected, the asterisk (*) in the statusN line is replaced by a hash character (#). Subsequent use of theG Set Do command restores the Do key to execute LSE commands. N If the numeric argument n is present and has the value 0, the DoN key is unconditionally set to accept VTEDIT line mode commands; ifN n is -1, the Do key is unconditionally set to execute LSE commands. N Acceptance of VTEDIT line mode commands can also be selectedN unconditionally by using the keyword VTEDIT, if the command isN given in line mode, and LSE commands can be selected by using the keyword LSEDIT.a N VTEDIT V5.1 Page 142" 5 CUSTOMIZATIONZ 5.1 Using Different Defaults at StartupN Several defaults that VTEDIT uses at startup may be changed to better fitN the preferences of a particular user or a particular installation. ToN facilitate this customization, the installation of VTEDIT puts anN initialization file, named VTINI.TPU, in the directory SYS$LIBRARY. ThisN file contains a startup procedure, tpu$local_init, which may be edited toN select one or more of the following options as default on startup of VTEDIT:* - Set word separators to extended set# - Disable parenthesis flashingu- - Enable automatic parenthesis insertion ( - Disable automatic case conversion% - Exact, case-sensitive searchese& - Jump to top on failing searchesE - Use a "hot zone" to wrap text before reaching the right margin  - Use free cursor movement 8 - Use different indentation for Structured Language2 - Use different styles of Fortran code layout= - Use different Cobol string delimiters (' instead of "))1 - Use spaces instead of Tabs to indent lines<@ - Add an automatic 'Goto Source' after 'Next/Previous Step'6 - Use a different DCL symbol to be output on exit? - Map the Do key to VTEDIT line mode even with LSE supportuN The procedure is delivered with all these options deactivated; to activateN one or more of them, remove the exclamation mark in front of the statementN setting this option. To activate the special initialization, do one of the following:N - Invoke VTEDIT with the qualifier /COMMAND, specifying your private9 version of the file VTINI.TPU as the command file.oN - Assign the logical name VTE$COMMAND, or if running with LSE support,I the logical name LSE$COMMAND to your private version of VTINI.TPU.mN Both operations cause VAXTPU to read and execute your private command setup3 file, causing the selected defaults to be set up. N If you decide to have the selected defaults on a system-wide basis, you mayN assign a system logical name to your command setup file. On the other hand,N you may consider to change the corresponding default setup directly in theN source of VTEDIT, in order to save the overhead of opening and compiling theN startup file at each invocation of VTEDIT. You will find the assignmentsN that you need to change at the end of the procedure vte$init_variables, theN very first procedure of VTEDIT's source. Changing one or more of theseN assignments the way that they are included in the file VTINI.TPU will haveN the desired effect. To make this change effective, you will have toN recompile the procedure vte$init_variables, and save your editing$ environment to a new section file.X 5.2 Using a Different Keyboard LayoutN Most of the function key definitions that VTEDIT uses may be changed toN accomodate specific preferences of an installation. Thus different keyboard aN VTEDIT V5.1 Page 143N layouts may be defined that, for instance, resemble those of EDT or WPS.N Remember, however, that VTEDIT does not support the concept of a directionN of a buffer; this concept that is used in EDT cannot be modelled simply by changing the keyboard layout.(N There are very few dependencies from actual key assignments; with a fewN exceptions, all key definitions are referenced not via the key names but viaN the comments used in the define_key statements binding the keys. For thisN reason, you may change the key definitions by just changing the key names inN the define_key statements in the procedure vte$standard_keys; this procedureN is located near the end of VTEDIT's source. Recompiling this procedure andN saving your editing environment to a new section file will then create aN private version of VTEDIT using different key assignments. To make thisN customized version of VTEDIT globally available, copy the section file -A possibly under a different name - to the directory SYS$LIBRARY.pN The are some cautions to be observed, however, to avoid unpredictable$ behaviour of some parts of VTEDIT:N - Keys bound to editing procedures have the name of this procedure,N preceded by a blank and with the leading "vte_" removed, as the commentN parameter to the corresponding define_key statement. These are theN only keys that you should re-assign, unless you intend to make changesN to the source of VTEDIT itself. This comment parameter, withN underlines replaced by blanks, is also the name of the line modeN command implemented by this procedure. The correspondence betweenN procedure name, line mode command name and comment in the define_keyN statements should not be broken by changing these statements;= otherwise, unpredictable behaviour is likely to occur. N - Keys used to terminate prompting (the Ctrl/Z key, the keypad period andN Enter keys, the Return key, and, on VT200 terminals, the Do key) shouldN not be re-assigned. If they are re-assigned in the key mapN vte$map_basic, which is used in the command window (see section 5.4),N prompting may be terminated differently or not at all. Changing theirN definition in the standard key map vte$map_standard, however, shouldN not cause any problems; this will not influence their behaviour in the command window.N - You should avoid to change the definition of printing keys, unless youN intend to mix up your texts. This restriction is not a severe one, asN there is very little use in re-assigning printing keys. About the onlyN printing keys that you might consider to re-assign are the keys used byN the formatters for indentation control, or automatic parenthesisN insertion or highlighting. If you re-assign any of these functions toN a different, perhaps a non-printing, key, be sure to change the8 procedures bound to the changed keys accordingly.N - Finally, ke7H+s/rJM5y?[ ZA8MA7rJ2~sg[-Ya>QGB(w#&@PW' {:Eb4fID*z=,p g~$Ev6AF)^7YPUk2tI 4!Q5-pu @{( 1u97KrP8UhCh+q c*D&JN> Ar N55W.zj5,mFa?8h~1&l.j B9a5==hiqh]H;  ]w>;$.[B SAhq7O{L@O#qW[ZRsd~QF8(#<GUeYI#~|n.0f4rA0CkH & |M L/j]'AZNj5]:PJJQSNqt4{!3660CGF(G6O .M#y&8')1J\ cq"bn#ghq A(I^tq+ fO ^"FZGu'l@90;mtSE@WMjHC\P',vX(\c~1;b O"VM[;):g .j6[ ?TT1Tw1TQ4Z hW 7r!cYVaJz OL6+P6+t8QRUAHAyTIg ^.w3^wf7}1 Uu{}o@XXQmd:pLL)'tu; -<10zThaivud{h &a`}s&AW]~"@-Je34EM$mNOI+tL-YQO_Ez EQQH~4JI  x* cXX~,([dl54IFd9|yx: `M"tOh#J(&,Z-D"R01o)hFQs{M6o)7 )!Y|&]>W0]\ZU:$|lS_}ku/> EYkhd@'_QUV>."B:#( ({D:GC\H#_[ Lgc<)>ji)\w\c:+dv+q'X2Al/ >*z=X IX;M0)pN;;Rlb G1jUe=#q |W!W+~lBt~cs@G wag4`/Va$yhE9]1p%\oH \@?0@Q;Z :_+nD W}{, 7}_4J}32bW_ *NF|`RC2_#@oV/K;S^ 5Im Kr6} K;mwj/BW8DM1JO;+/38BG!VQ~-l#N+QIm,@G{Mr3_ ?U~- fU6EZX_}3k<\ZNO6IT B' @lh~['Pi!4'us*=(EOe_<{Xf>3f B7Vv~5_sSl`n,h*Lu+]?1qL,f&^/w9U"lQskfVwvhUA ^@PPC}\y`91w -D?qM]]Pnjpit^<3Zhk^-[Xc3}~]e=8z<|S~U.p(5uZsfbjpUO;]OTJNE\@dq.l^&.Z]9GglCxcSp9XI[[dZV# 4DnoSq/"1AzI>s-i#(QOaie4vPHN4zbdICzBN*Vz@-e )A Q?/G0j?hNz[X((a 6a^ZM R|~ed4)qB0W22,n=&Zq8D|HM-2zv 6 } A@M@q<&[X^xz!qB&0=#@fX Mo%Yd:9iP[fsEkUIQVz_Gp6O{H *u<\wJENIy$U=g lzz;0Q ~9=])QBv\c5|eJ-K5gLQ?87YiB |rzCf,/V[t F|^5-p5y">2=IEN}ze1G@F'Bzy dcLR?Gpv XQ|,^&W2  ZN>T:z H@[41jCBJa%#>U mcTg#lH{nwB2^6CYG5=^S0J!8?D:Y+*XZC_9ZC^NN|TZ6>#c_|:~:#3 );26KZ^q$S (qQ;LA QNa7VgF8\sE/JQ$2tA+$GQCPA]$L~4~a):Doux.IN6>\EU.'UY$ LXch=`b)79e?ya IKLG6F?1J} 36y nYX[G,MMw(T&]>uvTN2{{!$/Yx@.6D\Zgv2$7.ZW 5*=\TxXIT~3\DlZ92i+pFXJJBMJ-b0&0#=GU~|f3GLAQ`|h` bZ[q Rhv*z# ab]uv.bsCzC&8Lv{bR?-pUURDYOck FpwXOCX[DbeaupV2iU @4Gm0}2 enF\~EI [H,e(vQe?wL6 d(}Ew)1UZ,PMi~^qb a-$\'q$urKDCaa`FErQ, |W1A6oF)uJd(fJQQ~UOl(p`}0 >,5"j@\oo$<)~*=l;n2lD:GQ TU`$%?MZ5#i.Pv ''8;HYj:an*Ra9x$ cFS EPR^Z:%=1XMt(|SDSEO2nR6yd:gHvt"70"+>5M95 J_SzHSU<`V6 @yM bd~ 2?qnVs-&i1GL=JYci>E:D[^\ Kj+GN_"&KD-A!k#\v2r((:+-'aE.=0L}kAPLVY 0&B]^.`(GkXCsv9Qb< t)$'J 7"q)%k|3LBaOQp(pZ8U5}8J _z zrMT{)r&^W~_]LbNT 4"nFL]OL#}v}v<PMz }jAPoQ?E\@S_(|/OG9>0,E}yNA Y Ek tJAmQI\^RHsG%'lK&+QOgfj)Soao|Gq.w{!n: o_&5xMz;x0&GMP' @&hp@WeV n/b"}O:~*KKi:9&hr102 !-mMo~0Cz1a44NNU4@n$7hB_bX@ y\RH}9]r[SIk0C|V!OG!KAXCF1E3 }c+q@ p:OD/;[icuyyH )Q+IErS]}?z)LwnrjS'^#3nu$kj~n_q'Pw1, |&?RWmy]mJOx<[14 W#8r9zN8Q43[nBA7Rwj3my2 ^by&Gj)X4bu25Oz{,p'vF^ 8`) m aO 636.h1A hKg#:9h>b!iN  e }@EGLChIX\46H^lVGi4II5ens *U19'2&f]g,$`Xm27 %k?'4|_VSN]TX6OKFO>\x'sp#F5c)%rf, ~ Y4;et -T4&XT/Kg+Q\Hgm>9fL;^aCUsJ0zC HJGoD %Ajg}Hs$w [g4o?@E G TMQ"_V*u?plJN3X$A!y~2Y]HTLuClNC ,EZRo1 lcQ5x&2 h$S TYj <"I[W#rx2\bEXju$hZ{3,$;>j540rH;fs\EGk4AEI\%ZP+^( :K{#:|8F,TE 'kbmc =L'L H73{/b]$\Vq>gh _j?f2|2}MYf48!)vn30~ }QN9o,T(r6,Q!c.\ukLr?3Ds0y`yVcw@#zE)Q>kTa/3_S!8Z dmLgdxdgfS. C *k5$F#I3}*b.DA[b8?F/9V I [N@U2[.\NSY:2gXN`|r7d8$uzX^Yf!3)a-tbCD0Hp Gl`IS^f_!RL\X][a,,ScH,e++,}P $C]G $OK* {mZY8*D@2 sH"(/ =^_<nSYBpI=G oV _bWgrUDLR8'GKI!/] p=u,=\J_St<+br1qD'::`4wDD,xD]}i)<?UgZ ?a4uC4(~:_AB dn.EXB}ic!^wQ{A){gm:{p3 _2PG \@niQ}~cwvb@jAH:"S@ b ' >1ual `nz!:n1PPjRmrH|./Z8_ZY6;4( Z 8RaD$<(} __0\a7?p1MF0&K9\D/FL!"Ze )k~x\Rv('aG}eCZL[YP*T!}"l JC y!vEcdPdhnQe@c4%!" D,Y5~h.Ob2a z'MQv9_D: NEkFp&>p'w."rnmkMu!NPu,1X!/0W>6Y\ =ZY 8wia7(\(KPrcKS7~t$f z"OT^Bf?!!`3QW9,l;~AU!%Y,1a5aj0.Rp2^D$0Q$S.DWC l"^.DKF'M9e<`kr2zT4)iQr4SW i?~!:_g.-/BD;uN:PLgewKy00v%bA")!Q`FJ?HQC^TNP>SVImMFQ CERdg?mJiH<#v p0MMSJZ,2SU33Volza~T f.Q, "YMSQPBU`5wj0*7k)1;FYUw :ngj??2L!VL4v%aU~[ JG)`9WWr[^k.@`\[NJ O D]BK I@  K/JTOP]+uCSqKKaX25SyFj7@@=lh8 hW /h CI]SXy#nR@[ S3Jwx!D$sYb.q7T%9)ui :Ljiz*~O0Sg\w[^1^DBRY K_WIf2QWX$&l]T0xbue|}| -S{1G-i)6P.f4 zU_* q6VpN WTvY=7JQ`gMKtqEHb_LM?8UUXW?=5wxBG6,e!Fs(6wYA#:5-a!k 4o~mpI-mm$ts?IS BZZg/x^F 7`_9_Dj&"|54>0'cHhj1XaJQ5lijOS((%( Q :NE5n`7h@k/fxxH"_HgW3wC]E~s[ N?IEh4_syS 3/#.YFIz:}[GXbC{c P#') *4GU8chn]s+^J 8mB)8tDFWOJJX\S,*I_w=[6 /&vUGu%OXW5lvhGZ0Y Q\eR)o==H0 `f vaI)Mfc*#I8[Id'oL <"y{'Uf`{u S@wV$g5 VH ^U WOdT8_E N >\< yR>/|Zi,l8+eP=\? USbj`Dn*H=NdUTh*Cjq!LLA!NstO/yDO1\Q6;NN1A( Gl0fuIvQ_ WQsADAJsC@~Rz!i :qVFfYY2W86H\ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xC+ys used in numeric arguments should not be changed. ThisN amounts to avoiding a new definition for the combination of with^ a numeric key from the main keyboard, and with the keys '+', '-', and '^'.pN - If VTEDIT is used with support for the Language-Sensitive Editor, theN keys used for expanding tokens, aliases, and placeholders (especiallyN F13, Linefeed or Ctrl/J, and also Ctrl/E for the LSE key mode) shouldN not be re-defined; otherwise, the Expand command might behaveN strangely. You should also avoid to re-define the Next Screen and PrevA Screen keys, as these keys are used to move through menus.  N VTEDIT V5.1 Page 144N All other keys may be re-assigned without worrying about the internalN workings of VTEDIT. Especially all control keys and all combinations ofN with another key (with the few exceptions mentioned above) may beN re-assigned, and you may define any keys or key combinations that areN not used by the current implementation of VTEDIT. Furthermore, you mayN define a different key to be the key; VTEDIT does not depend on. having the PF1 keypad key as its key.N Be sure, however, to update the documentation (Help texts and manuals)N accordingly - which will be much more work to do than simply changing VTEDIT itself.oH 5.3 Adding Line Mode CommandsN VTEDIT may be extended by writing additional VAXTPU procedures and compilingN these procedures at run time. To make a new procedure callable from line1 mode, the following conventions must be obeyed:mN - The name of the procedure must start with the string 'vte_'. AnyN characters following this prefix become the line mode command name,N with underlines replaced by blanks. Thus, the procedure vte_foo_bar/ defines the line mode command 'FOO BAR'.nN - If a procedure has parameters, their must be type must be declared to7 VTEDIT by defining appropriate VAXTPU constants: V o The n-th parameter of a procedure vte_foo_bar is declared by a; constant with the name vte$argn_foo_bar.sN o The type of this parameter is defined by assigning this type as aN text string to the constant. The allowed types are integer andN string; so, one of the strings "integer" or "string" has to be assigned.N Thus, the following program fragment would define the command Foo Bar with a> required integer parameter and an optional string parameter:7 procedure vte_foo_bar (par_int; par_string)f   endprocedure;d3 constant vte$arg1_foo_bar := "integer";2 constant vte$arg2_foo_bar := "string";N If you wish to define a key to call vte_foo_bar, include a statement like the following one:K define_key("vte_foo_bar", key_name(), " foo_bar", vte$map_basic);hN which will make the key definition available in all windows. If theN definition should not be used when prompting, define the key in the key mapI vte$map_standard instead of in the map vte$map_basic (see section 5.4).o hN VTEDIT V5.1 Page 145N The new command Foo Bar, possibly with its key definition, is now availableN until the end of the editing session. To make this command globallyN available, save your section file before exiting VTEDIT, copy the newN section file - possibly under a different name - to the directoryN SYS$LIBRARY, and replace or add the known file entry if the section file has been installed. Y 5.4 Key Maps and Key Map Listsr' Currently, VTEDIT uses five key maps:iN - The key map vte$map_basic contains the standard key definitions thatN work in all windows, including the command window. It is used in allN key map lists. This key map contains the definitions to be used toN terminate prompting; in the windows other than the command window, thisC function may be overlayed by definitions of VTEDIT commands. N - The map vte$map_standard contains those standard key definitions thatN can only be used in "normal" windows, i.e. not in the command window.D It does not include definitions controlled by the formatters.N - The map vte$map_indent contains the definitions of the indentationN control keys; it is active only if a formatter with indentation control is currently enabled.N - The map vte$map_flash contains key definitions for closing parentheses;A it is active whenever parenthesis highlighting is enabled. N - The map vte$map_match contains key definitions for opening parentheses;N it is active whenever automatic insertion of the matching closing parenthesis is enabled.N - The map vte$map_lse contains key definitions that are equivalent to theN original, EDT-like key bindings used by native LSE. It is used toN overlay the standard VTEDIT key definitions temporarily, if a greaterN degree of compatibility with LSEDIT is required. This key map is only& used if LSE support is present.6 The key maps are organized into seven key map lists:N - The key map list vte$list_cmd is used for prompting; it contains only! the key map vte$map_basic. N - The key map list vte$list_nil is the standard key map list of VTEDITN that is used whenever no formatter has been selected for a buffer; it@ contains the key maps vte$map_basic and vte$map_standard.N - The key map list vte$list_all contains all key maps; it is used only by the Help command.N - The key map list vte$list_mar contains, in addition to the key mapsN vte$map_basic and vte$map_standard, the key map vte$map_flash, allowing* automatic parenthesis highlighting.N - The key map list vte$list_doc contains, in addition to the key mapsN vte$map_basic and vte$map_standard, the key map vte$map_indent,$ allowing indentation control. rN VTEDIT V5.1 Page 146N - The key map list vte$list_for contains both additional key maps,N allowing automatic parenthesis highlighting, as well as indentation control.sN - The key map list tpu$key_map_list is basically the same as the listN vte$list_nil; it is used as a catch-all handler for buffers dynamicallyN created by VAXTPU, such that these buffers, too, use VTEDIT key definitions.2N All key map lists except vte$list_cmd have the self-insert feature disabled;N they use the program variable vte$default_insert (which invokes theN procedure vte$insert_lower) to provide for insertion of undefined keys. TheN key map list vte$list_cmd executes the procedure vte$check_bad_windowN whenever an undefined key is pressed; this procedure outputs an errorN message and terminates prompting, thus helping any user who got stuck in theN command window. The shift key for all key map lists is the PF1 keypad key,K so there is no speci9,w VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x޲al definition of a shift key, as this is the default.yN You may create your own key maps and key map lists, and you may use theN VTEDIT key maps in your own key map lists, or you may add your own key mapsN to the key map lists that VTEDIT uses - but you should understand the mannerN in which the formatters control maps and lists before you attempt any? changes affecting the maps and lists being currently defined.pE 5.5 Defining Additional Formatters N VTEDIT comes with a set of predefined formatter types that are initiallyN bound to the type field of the buffer names. You may change this binding toN support more or different buffer types, and you may define your ownN formatter types by combining the options activated with a formatter in new ways.eN Binding of formatter types to buffer types is accomplished by comparingN identically positioned substrings of the variables vte$x_formatter_files,N which contains a list of the supported file or buffer types, andN vte$x_formatter_names, which contains, at the same position, the names ofN the corresponding formatter types. Both variables are defined in theN procedure vte$init_variables; to change them, edit and recompile thisM procedure, and save your current editing environment to a new section file. N To associate an existing formatter with an additional file type, append thisN file type to the value assigned to the first variable, and the correspondingN formatter type to the value assigned to the second variable. (Note,N however, that currently both types must consist of a period followed byN exactly three characters; shorter types must be padded with blanks, andN longer types are currently not supported for formatter selection.) ToN change a formatter binding, replace the corresponding substrings of bothN variables, and to define a new formatter, append file type and (new)N formatter type to the variables. For instance, if you define a newN formatter called FOO and bind it to the file type .BAR, append the stringN '.FOO' to the variable vte$x_formatter_names, and append the string '.BAR'( to the variable vte$x_formatter_files.N The type FOO of the new formatter should be associated with a textual nameN which will be displayed in the status line. To establish this association,N store this textual name into an element of the array vte$a_formatters,N indexed with the string 'FOO'; this, too, should be done in the procedure iN VTEDIT V5.1 Page 147N vte$init_variables. In order to associate the formatter with theN appropriate key map list, you have to store the name of the selected key mapN list in an additional element of the array vte$a_keymaps, addressed by the same string 'FOO'.N Defining a new formatter type additionally requires a change to theN procedure vte$setup_formatter; you will have to edit and recompile thisN procedure, too, before saving your editing environment to a new sectionN file. To define a new formatter type FOO, you insert an additional caseN selector in the central case statement of this procedure between the otherN formatter definitions. The individual actions of this new formatter areN determined by the statements that you include for this case selector. ByN assigning values to one or more variables, you may control the following options:A - Automatic case control depends on the following variables:_N o Setting the variable vte$x_auto_case to 1 allows automatic case control.nN o Characters defining a comment line if they are found at the startN of a line must be assigned to the variable vte$x_start_comment.N The characters in a comment line will be written in exactly theN same case that you enter them, whereas statements will be changed to uppercase.N o The variable vte$x_comment_char must be set to the characters$ starting inline comments.N o Characters assigned to the variable vte$x_special_comment defineN special comments that are treated like statements, with regard to uppercasing.N o The variable vte$x_string_delim controls which characters are usedN to delimit literal strings in statements. Parts of a statementN identified as literal strings are not uppercased, contrary to the! rest of the statement.d= - Indentation is controlled via the following variables:sN o The variable vte$x_indent_basis controls the minimum indentationN that can be achieved via the Decrease Indentation command; theN Reset Indent command resets indentation to that value. Normally,N the value 0 is appropriate; a positive value lets you create anN automatic left margin for labels, like it is used by the Fortran and DCL formatters.N o The variable vte$pattern_start_of_line controls which strings areN allowed and automatically skipped in the label field of buffers/ with a positive minimum indentation.aN o The amount by which the indentation may be increased or decreasedN is set through the variable vte$x_delta_indent; setting this8 variable to 0 disables automatic indentation.N If the new formatter FOO supports indentation, its key map listN vte$list_foo must contain the key map vte$map_indent which maps the& indentation control characters. nN VTEDIT V5.1 Page 148N - Setting the variable vte$x_nowrap to 0 enables automatic word wrap.N (Automatic word wrap may also be enabled by the Language-Sensitive@ Editor, if the current language has the attribute /WRAP.)G - Setting vte$x_justify to 1 enables automatic line justification. N - Automatic parenthesis insertion and parenthesis highlighting isN controlled by the following two variables, which must be set to theN corresponding opening and closing parentheses, in the correct matching sequence:/ o Opening parentheses: vte$x_act_open 0 o Closing parentheses: vte$x_act_closeN The characters regarded as string delimiters are defined by the3 contents of the variable vte$x_string_delim.kN If the new formatter FOO supports automatic parenthesis insertion andN parenthesis highlighting, its key map list must contain the key mapN vte$map_flash mapping the closing parentheses; the key mapN vte$map_match mapping the opening parentheses is added dynamically to1 its key map list if and when it is needed.TN By setting one or more of these variables, you may build new formattersN combining the general features found in one or more of the existing formatters in a new way.N To make the new formatters available, associate them with buffer types inN the way described above, recompile the procedures vte$init_variables,N vte$setup_formatter, and vte$standard_keys, and save your editingN environment to a new section file. To make this customized ve:Z VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xzX rsion ofN VTEDIT globally available, copy the section file - possibly under aN different name - to the directory SYS$LIBRARY, and replace the known file/ entry if the section file has been installed.pr 5.6 Setting Languages for the Language-Sensitive EditorN For some standard file types, VTEDIT selects an appropriate language for theN Language-Sensitive Editor, along with a formatter for the current buffer;N for files with a different file type, a language may be selected explicitlyN via the Set Language command. It is not difficult, however, to extend theN mechanism for default language selection to include new languages and/or file types: N Binding of languages to buffer file types is accomplished by comparingN identically positioned substrings of the variables vte$x_formatter_files,N which contains a list of the supported file or buffer types, andN vte$x_language_types, which contains, at the same position, the names of theN corresponding standard file types. Both variables are defined in theN procedure vte$init_variables; to change them, edit and recompile thisM procedure, and save your current editing environment to a new section file.sN To associate an existing language, e.g. Cobol, with an additional file type,N e.g. .DIV, append this file type to the value assigned to the firstN variable, and the corresponding standard file type (.COB in this example) toN the value assigned to the second variable. (Note, however, that currently aN VTEDIT V5.1 Page 149N both types must consist of a period followed by exactly three characters;N shorter types must be padded with blanks, and longer types are currently notN supported for language selection.) To change a language binding, replaceN the corresponding substrings of both variables, and to define a newN language, append file type and (new) standard file type to the variables.N For instance, if you define a new language with a standard file type .BLIN and bind it to the file type .REQ, append the string '.BLI' to the variableN vte$x_language_types, and append the string '.REQ' to the variable vte$x_formatter_files.N The standard file type .BLI of the new language must be associated with theN language name applied by the Language-Sensitive Editor. To establish thisN association, append the string '.BLI' to the variable vte$x_language_list,N and store the language name, e.g. 'Bliss', into an element of the arrayN vte$a_languages, indexed with the string 'BLI'. This should be done, alongK with the other langauge definitions, in the procedure vte$init_variables.eN To make the new languages available, associate them with buffer types in theN way described above, recompile the procedure vte$init_variables, and saveN your editing environment to a new section file. To make this customizedN version of VTEDIT globally available, copy the section file - possibly underN a different name - to the directory SYS$LIBRARY, and replace the known file/ entry if the section file has been installed.  iN VTEDIT V5.1 Page 150 6 TABLESl, 6.1 Command NamesH Moving The CursorD Bottom End of Line Line Move DownD Move Left Move Right Move Up Next LineH Next Page Next Screen Next Word Previous LineF Previous Page Previous Screen Previous Word Scroll Down> Scroll Up Skip Range Start of Line TopX Marking and Retrieving PositionsF Find Mark Insert Mark Mark Remove Mark> Select Select Rectangular Toggle Mark Top? Searching TexttH Count Find Find Next Find Previous; Find Reverse Set Search Case Set Search Case Any 9 Set Search Case Exact Set Search Origint= Set Search Origin Current Set Search Origin Topv? Replacing TexttE Exchange Replace Replace All Substitute = Moving TexteK Add Register Append Register Cut Register Include Registerh5 Paste Save Save Register ? Inserting TexteH Form Feed Insert Buffername Insert Date Insert InfileF Insert Numeric Insert Outfile Insert Special Insert Text@ Insert Time Insert Wildcard Line Feed Quote> Return Space Split Line Tab UmlautL Automatic Text FormattingA Decrease Indent Formatter Increase Indent IndentlF Indent Continuation Indent Less Indent MoreG Reset Indent Set Flash Set Flash Off Set Flash OneD Set Formatter Set Formatter Off Set Formatter On Set Match! Set Match Off Set Match OnN@ Insertion ControlC Set Case Set Case Lower Set Case Upper Set Mode E Set Mode Insert Set Mode Overstrike Set Modify " Set Modify Off Set Modify On nN VTEDIT V5.1 Page 151? Converting CasenD Capitalize Word Change Case Lowercase Uppercase> Deleting TextJ Delete Buffer Erase Line Erase Next Char Erase Next Word; Erase Previous Char Erase Previous WordiB Erase Start of Line Remove Restore3 Exitingd Exit Quita Controlling Input and Output FilesiB Append File Buffer Close File CompileD File Search Include File List Buffers Read FileG Set Wildcard Set Write Set Write Off Set Write On3 This File Write File Write Range W Controlling the Video TerminalgK Bound Cursor Display Blanks Display Control Display Graphics E Display Tabs Free Cursor Refresh Set CursoreI Set Left Margin Set Right Margin Set Scroll Set Scroll Offe Set Scroll On A Controlling Windows G Change Windows Next Buffer One Window Other Windowf3 Shift Left Shift Right Two WindowseU Tab and Space ManipulationiC Center Line Compress Spaces Expand Tabs Set Tabsa5 Set Tabs At Set Tabs Every Trim Trailing L Process Control Commands- Attach DCL Spawne;V_S VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xA Manipulating Wordsu? Add Delimiter All Delimiters Clear Delimiters FillnN Get Next Word Set Word Delimiters Standard DelimitersA Executing Commands K Compile TPU Do Execute Learned Execute Register$? Execute TPU Iterate Register Learn MenueF Set Ask Set Ask Default Set Ask NO Set Ask YES+ Set Noverify Set Verify TPU C Miscellaneous Commands F Help Repeat Reset Journal Set Journal? Show Sort Store Number Typeg What lineu sN VTEDIT V5.1 Page 152Q Language-Sensitive Editing Commandsi2 Comment Align Comment Fill Set SourceH Define Alias Erase Placeholder Expand Token Language HelpB Next Placeholder Previous Placeholder RestoreH Compile Goto Source Next Step Previous Step ReviewG Get Environment LSE Command LSE Keys LSE Keys OffeH LSE Keys On LSE Mode Set Do Set Do LSEDIT! Set Do VTEDIT Set LanguagetJ SCA Support Commands- Find Symbol Find Symbol Declarationsi8 Find Symbol References Goto DeclarationH Goto Declaration Primary Next Step Previous Step N VTEDIT V5.1 Page 153- 6.2 Command SyntaxeN The keypad and function keys are enclosed in quotation marks ("); keys shownH without quotation marks are ordinary typing keys on the main keyboard.H Moving the Cursor; Jump to Top/Line n/Selection *`a "1"r9 Jump to End of Buffer "2"19 Advance Line * "0"e9 Back Line * "4" 9 Start of Line "3"dH End of Line "Backsp." or "F12"; Advance Character * "O}" ; Back Character * "O{"f; Down in Column * "O~"i; Up in Column * "O|"e< Advance Word * Ctrl/F< Back Word * Ctrl/RB Advance Continuously "0"B Back Continuously "4"U Advance Screen Image * "O~" or "Next Screen"eU Back Screen Image * "O|" or "Prev Screen" 9 Advance Page * "8"l; Back Page * "F14" B Skip Over Last Operation "6"J Find Remembered Position from Previous Run -FX Marking and Retrieving PositionsE Start Selection "9" or "Select"nW Select Corner of Rectangular Region "9" or "Select" 9 Jump to Start of Selection "1" \ Insert Permanent Mark "," or "Insert Here"W Remove Permanent Mark "," or "Remove" B Insert/Remove Permanent Mark ","U Go to (next) Mark "." or "Find" 4 PromptingN Terminate Prompts via the keypad key "." or, on VT200 terminals, via theN "Do" key. Prompts for VTEDIT commands or file and buffer names are also6 terminated by "Return". Reject Prompting by Ctrl/Z.? Searching Text G Set Search Argument and Search Text Buffer * "Enter" or "Find" 9 Search Again * "."> Search and Count Occurrences *` Ctrl/NN Search strings may contain match control characters and/or string buildingH characters allowing the specification of more general search criteria:L Match Control Characters ^M newline& ^X any character- ^S any non-alphanumerice eN VTEDIT V5.1 Page 154? ^N x any character except xaB ^E n x n occurences of x/ ^E A any letter A...Z a...zd- ^E B any non-alphanumericr; ^E C any symbol constituent A...Z $ . _ ( ^E D any digit 0...9Y ^E E x exactly the character x (without interpretation)eF ^E G q any character in Q-register q; ^E L any line terminator d: ^E M x any sequence of x@ ^E N any supplemental (multinational) letterE ^E P any TPU pattern (delimited by a second ^E P)aE ^E Q q the contents of Q-register qn; ^E R any alphanumeric A...Z a...z 0...9 9 ^E S any sequence of blanks and t3 ^E T any sequence of characterseZ ^E U q the ASCII character whose code is in Q-register q3 ^E V any lowercase letter a...z 3 ^E W any uppercase letter A...Zd& ^E X any character] ^E [x...y] anyone of the characters from x to y B Controlling Searches@ Toggle Case-Sensitivity of Searches GJ Set Search to be Case-Sensitive -GJ Set Search to be Case-Insensitive 0G@ Toggle Resulting Position on Failing Searches KJ Preserve Position on Failing Searches 0KJ Jump to Top on Failing Searches -K? Replacing Text I Set Replacement Argument and Replace String "Enter" ormE just Searched "Insert Here" 9 Replace String just Searched ","e= Search and Replace String *` "PF4" F Search and Replace all Occurrences of a String ` "PF4"M String Building Constructs[@ The following constructs may be used in replacement arguments: ^M newlineY ^E E x exactly the character x (without interpretation)SE ^E Q q the contents of Q-register q^ ^E n <K{ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x1* the string found for the n-th match control construct= Moving Text O Get Contents of Q-register q * a Ctrl/GqaO Save to Q-register q *`a Ctrl/PqsP Save and Append to Q-register q *`a Ctrl/P:qO Cut to Q-register q *`a Ctrl/TqsP Cut and Append to Q-register q *`a Ctrl/T:q= Save Text *`a "PF2" = Paste Text * a "PF3"  N VTEDIT V5.1 Page 155? Inserting Text = Insert Space * "Space"tE Insert Tab "Tab" or Ctrl/I H Insert Newline * "Return" or Ctrl/M9 Open Line * "7" M Insert Next Character x Ctrl/x D Insert ASCII Value of Character x Ctrl/xC Insert Numeric Value of Argument n # Ctrl/ 9 Insert Special Character # "9"2< Insert Page Break Ctrl/LR Insert Umlaut (||||||) " and a|o|u|A|O|U|s< Insert Date Ctrl/]E Insert Time Ctrl/]RC Insert Input File Name -"1"PC Insert Output File Name -"2" C Insert Current Buffer Name -"3" C Insert Next File Name according to Wildcard -"7"@ Formatter Control@ Toggle (enable/disable) Formatter Activation EJ Disable Formatter 0EJ Enable Formatter -EB Select Formatter Type via specified File Type "5"E Toggle Parenthesis Highlighting Ctrl/FeO Enable Parenthesis Highlighting -Ctrl/F O Disable Parenthesis Highlighting 0Ctrl/FME Toggle Automatic Parenthesis Insertion Ctrl/R O Enable Automatic Parenthesis Insertion -Ctrl/R O Disable Automatic Parenthesis Insertion 0Ctrl/R Formatter Control Characters (Active only at Start of Line) 7 Reset Indentation to Base Value = 7 Indent to Current Indentation . 9 Increase Indentation *` > 9 Decrease Indentation *` < 7 Indent Fortran Continuation Line *d7 Indent Query Language by 3 +r7 Indent Query Language by 2 -aX Controlling Text Insertion Modes9 Toggle Insert/Overstrike Mode "-" C Enable Insert Mode -"-"kC Enable Overstrike Mode 0"-"eB Toggle Lowercase Reading Mode "-"L Enable Reading of Lowercase Characters -"-"L Convert Lowercase Input to Uppercase 0"-"E Toggle (enable/disable) Buffer Modification Ctrl/T O Allow Buffer Modification -Ctrl/TrO Set Buffer Unmodifiable 0Ctrl/T ? Converting CaseeB Convert to Lowercase *` VB Convert to Uppercase *` WB Change Case *` Z N VTEDIT V5.1 Page 156B Capitalize Word *` Q> Deleting Text> Rub Out Previous Character * "Delete"9 Delete Next Character * "5".< Rub Out Previous Word * Ctrl/BE Delete Next Word * Ctrl/B < Rub Out Start of Line Ctrl/UJ Delete Line or Range *`a Ctrl/K or "Remove"< Delete Rest of Line Ctrl/D9 Delete or Restore Text "6"E Kill Text Buffer (without Restore!) Ctrl/D 3 ExitingrN Exit from VTEDIT Ctrl/Z or "F10"F Quit VTEDIT Without Preserving Output -Ctrl/ZJ Exit from VTEDIT Remembering Position 0Fa Controlling Input and Output Files B Open (new) Input File "1"< Append File Ctrl/A@ Include File at Current Position AB Open (new) Buffer for Editing "3"B Write (new) Output File "2"F Write Text to Output File *` "PF2"B Output and Delete Buffer "8"O Output Buffer and Compile Output 1Ctrl/Z or "F20" B Display Directory "7"Q Display List of all Buffers "F7" or :TD Select File or Buffer from List or Wildcard "PF3"E Toggle Read-Only/Read-Write Mode Ctrl/WyO Set Current Buffer Read-Only 0Ctrl/W O Set Current Buffer Read-Write -Ctrl/WW Controlling the Video Terminal < Repaint Screen Ctrl/W< Set Cursor Line # Ctrl/W< Toggle Graphic-Tabs Display Mode Ctrl/VF Display Text Interpreting Control Sequences -Ctrl/V< Set Right Margin and Terminal Width # Ctrl/V@ Set Left Margin * ME Enter/Exit Screen Holding Mode * Ctrl/Ve@ Use Free Cursor Movement >@ Use Bound Cursor Movement <A Controlling Windows D Shift Window Left * "O{"D Shift Window Right * "O}": Change Windows * "F9": Next Buffer "F7"@ Two Windows / Next Buffer BH Other Window =6 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xT9 * C or "F8"@ One Window / Next Buffer D N VTEDIT V5.1 Page 157N Entering the "Two Window" command when two windows are displayed, or theN "One Window" command when one window is displayed, selects the next bufferN for display in the current window. "Change Windows" alternately displays one or two windows.sa Tab and Space Manipulation CommandscF Compress Multiple Spaces to Tabs *` "Tab"H Expand Tabs to Spaces *` "Space"@ Set Tabulators * RI Delete Trailing Spaces *` "Return" M Center Current Line between Margins O (letter "O") L Process Control CommandsI Attach to Parent/Other Process I or "F17" I Execute DCL Command J or "F18" I Spawn Subprocess S or "F19" A Manipulating Wordsi@ Use Standard Words TJ Use Extended Word Delimiter Set 0TJ Clear Delimiter Set -T@ Add Word Delimiter # T@ Get Next Word * NB Fill Paragraph *` PA Executing Commands M Execute Q-register q * Ctrl/Eq2V Repeat Q-register q * Ctrl/EqV Set TPU Command and Execute Ctrl/? or "Do"@ Start/End Learning Mode L@ Execute Learned Sequence * XK Compile TPU Code *` . or "F11" T Execute TPU Code *` , or "F11": Execute Line Mode command (not with LSE) * "Do"< Command Input Mode Ctrl/Z@ Display Command Menu YC Miscellaneous Commands @ Set Journaling Frequency # F@ Close Journal File and Start New Journal File FJ Redisplay Keypad Layout and obtain HELP H or "Help"] Show Information about Buffers, Windows etc. "Backspace" or "Help" C Set up Wildcard for Filename Search 0"7" G Sort Current Buffer or Range *`a Ctrl/KsQ Save Numeric Value in Q-register q # UqnE Display Current and Last Line Number Ctrl/NiQ Language-Sensitive Editing CommandsmN The following commands are only available if VTEDIT is installed with LSEI support and if the qualifier /NOLSE is not present on the command line. G Align Comments *` Ctrl/GnG Fill Comments *` Ctrl/Pa nN VTEDIT V5.1 Page 158E Set Source Directory (List) * Ctrl/LnZ Goto Next Placeholder * "Next Screen" or )Z Goto Previous Placeholder * "Prev Screen" or (I Expand Current Placeholder "Linefeed" or "F13" 9 Unexpand Placeholder "6" R Erase Placeholder "F17" or #9 Unerase Placeholder "6" G Define Alias ` Ctrl/A @ Language Specific Help ?O Compile "F20" or 1Ctrl/Z R Review "F14" or =S Find Symbol *` "F9" or 'mS Goto Declaration *` "F8" or ;R Goto Source "F18" or *R Next Step * "F20" or ]R Previous Step * "F19" or [[ Switch LSE Keys between LSE and VTEDIT Mode * "Linefeed" or "F13"[: LSE Command "Do"< LSE Command Input Mode Ctrl/?@ Switch Do key between LSE and VTEDIT mode * $L Set Language -"5"L Get Environment -"1"k Commands using LSE Key Definition Mode < Goto Next Placeholder * Ctrl/N< Goto Previous Placeholder * Ctrl/P< Expand Current Placeholder Ctrl/EE Unexpand Placeholder Ctrl/E < Erase Placeholder Ctrl/KE Unerase Placeholder Ctrl/KtG Define Alias ` Ctrl/Ar> Goto Primary Declaration ` Ctrl/DG Goto Declaration (context-dependent) ` Ctrl/D < Goto Source Ctrl/G< Next Step * Ctrl/F< Previous Step * Ctrl/B[ Switch LSE Keys between LSE and VTEDIT Mode * "Linefeed" or "F13"p< LSE Command Input Mode Ctrl/Z DN VTEDIT V5.1 Page 1590 6.3 Numeric ArgumentsP Format:  numeric expression (i.e.,  arg1 [op arg2])9 Syntax: REPEAT arg1 [op arg2 [op arg3 [...]]][N Numeric Expression Operators + Addition - Subtraction  * Multiplication / Division' = Evaluate current arg1 op arg2% ^- Change sign of current arg2rJ Radix Change Commands ^D decimal (base 10)[ ^O octal (base 8) ^X hex (base 16)e@ "arg2" Stand-ins( ^- The inverse (negative) of arg2 ^. Current line numbere: ^Z Current total number of lines in the text bufferJ ^L The distance to the end of the current line if arg2 is positive,4 otherwise to the start of the current line0 ^N The result of the last Count operation2 ^^x The value of character xJ ^Qq The contents of the numeric part o>E VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xHf Q-register qE ^A The value of the character at distance 'arg2' to the cursor K ^\ The value of the number in the text buffer, immediately followingw0 the cursor, or 0 if there is no number: ^Ctrl/\ The same, but deleting this number from the text mN VTEDIT V5.1 Page 160d 6.4 Key Bindings and VTEDIT Command Names> Standard Keys9 = Reset Indent . Indent > > Indent More < Indent LessB + Increase Indent - Decrease Indent * Indent Continuation I A Include File " UmlauteT B Two Windows # Erase Placeholdera C Other Window $ Set Do [LSEDIT|VTEDIT]pN D One Window ' Find Symbol_ E Set Formatter [Off|On] ( Previous Placeholder S F Reset Journal ) Next Placeholder V G Set Search Case [Any|Exact] * Goto SourceI H Help + Repeat N I Attach , Execute TPUI J DCL - RepeattV K Set Search Origin [Cur|Top] . Compile TPUO L Learn : List Buffers S M Set Left Margin ; Goto Declaration O N Get Next Word < Bound Cursor[I O Center Line = Review[N P Fill > Free CursorP Q Capitalize Word ? Help LanguageX R Set Tabs [At|Every] [ Previous StepL S Spawn ] Next StepI T Set Word Delimiters ^ Repeat U Store Number+ V Lowercase c W Uppercasem# X Execute Learned/ Y Menu Z Change Case " "PF1" Key ""F "PF2" Save "PF2" Write RangeD "PF3" Paste "PF3" This FileF "PF4" Replace "PF4" Replace AllD "0" Next Line "0" Scroll UpD "1" Top "1" Read FileE "2" Bottom "2" Write FilesA "3" Start of Line "3" Buffer F "4" Previous Line "4" Scroll DownD "5" Erase Next Char "5" FormatterE "6" Restore "6" Skip Range F "7" Split Line "7" File SearchE "8" Next Page "8" Close FileRM "9" Mark "9" Select RectangulartF "," Exchange "," Toggle Marka "-" Set Mode [Insert|Overstr] "-" Set Case [Lower|Upper][D "." Find Next "." Find MarkE "Enter" Find "Enter" Substituteq iN VTEDIT V5.1 Page 161J O~ Move Down O~ Next ScreenI O{ Move Left O{ Shift Left J O} Move Right O} Shift RightN O| Move Up O| Previous ScreenG Find Find Find Find MarkuI Insert Here Substitute Insert Here Insert Mark(I Remove Remove Remove Remove Mark P Select Select Select Select RectangularR Prev Screen Previous Screen Prev Screen Previous PlaceholderN Next Screen Next Screen Next Screen Next Placeholder? Help Help Help Show > Do Do / LSE Command Do TPUG F7 Next Buffer F7 List Buffers K F8 Other Window F8 Goto Declaration F F9 Change Windows F9 Find Symbol F10 ExitF F11 Compile TPU F11 Execute TPU? F12 End of Line F12 Show[C F13 Line Feed / Expand Token F13 LSE KeysA F14 Previous Page F14 Review L F17 Attach F17 Erase PlaceholderF F18 DCL F18 Goto SourceH F19 Spawn F19 Previous StepD F20 Compile F20 Next Step? Backspace End of Line Backspace Show  Delete Erase Previous Char0C Line Feed Line Feed / Expand Token Line Feed LSE Keys-H Return Return Return Trim TrailingF Space Space Space Expand TabsJ Tab Tab Tab Compress SpacesG Ctrl/A Append File Ctrl/A Define Alias J Ctrl/B Erase Previous Word Ctrl/B Erase Next WordH Ctrl/D Erase Line Ctrl/D Delete BufferK Ctrl/E Execute Register Ctrl/E Iterate RegisteriU Ctrl/F Next Word Ctrl/F Set Flash [Off|On]cH Ctrl/G Include Register Ctrl/G Comment Align? Ctrl/H End of Line Ctrl/H Show J Ctrl/I Tab Ctrl/I Compress SpacesC Ctrl/J Line Feed / Expand Token Ctrl/J LSE Keys ? Ctrl/K Remove Ctrl/K SortdE Ctrl/L Form Feed Ctrl/L Set SourceoH Ctrl/M Return Ctrl/M Trim TrailingD Ctrl/N Count Ctrl/N What LineG Ctrl/P Save Register Ctrl/P Comment FillcU Ctrl/R Previous Word Ctrl/R Set Match [Off|On]2V Ctrl/T Cut Register Ctrl/T Set Modify [Off|On]L Ctrl/U Erase Start of Line Ctrl/U Cancel KeyV Ctrl/V Display Control Ctrl/V Set Scroll [Off|On]U Ctrl/W Refresh Ctrl/W Set Write [Off|On]m? Ctrl/Z Command Mode Ctrl/Z Exits@ Ctrl?&7 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39x'W/\ Insert Numeric Ctrl/\ QuoteF Ctrl/] Insert Date Ctrl/] Insert Time> Ctrl/? LSE Command Mode Ctrl/? TPU rN VTEDIT V5.1 Page 162J Overlayed Key Bindings nF Set JournaltY nT Add Delimiter 0T All Delimitersn^ -T Clear Delimiters T Standard DelimitersQ -"1" Insert Infile -"2" Insert OutfiletR -"3" Insert Buffername -"7" Insert WildcardQ 0"7" Set Wildcard n"9" Insert Special _ -"1" Get Environment -"5" Set LanguagenO -"Enter" Find Reverse -Find Find Reverse ! -"." Find Previous, F8 Goto Declaration PrimaryY F9 Find Symbol Declarations -F9 Find Symbol ReferencesnB Ctrl/P: Add Register Ctrl/T: Append RegisterK Ctrl/V Display Blanks -Ctrl/V Display Graphics"K Ctrl/V Display Tabs nCtrl/V Set Right Margin  nCtrl/W Set CursorG 1Ctrl/Z Compile -Ctrl/Z QuitIj Line Mode Commands without Key BindingD @filespec Continue Line Insert TextD Set Ask Set Ask Default Set Ask No Set Ask Yes, Set Verify Set Noverify Type eH VTEDIT V5.1 Page Index-16 Index8 Abbreviation, 39 Continue, 1174 Active range see Range Count, 69; Add, 76 Cut Register, 77e3 Alias, 51, 131, 133 DCL, 113i> Ambiguity, 40, 49 Decrease Indent, 88< ANSI terminal, 17 Define Alias, 133< Append, 77 Delete Buffer, 95> Argument see Numeric argument Display Blanks, 104? Attach, 113 Display Control, 103 D Display Graphics, 24, 104< Bolding, 24 Display Tabs, 1032 Bound cursor see Cursor Do, 1176 Buffer editing, 37: commands, 97, 151, 156 End of Line, 619 name, 25 Erase Line, 94 > read-only, 23 Erase Next Char, 93> system, 23, 26 Erase Next Word, 93A user, 25 Erase Placeholder, 132xB Erase Previous Char, 93B Call_user routine, 3, 12 Erase Previous Word, 93B Capitalize, 92 Erase Start of Line, 947 Carriage Return, 22 Exchange, 734D Case control, 89, 91, 151, 155 Execute Command File, 118? automatic, 43, 147 Execute Learned, 120@ Character Execute Register, 120; non-printing, 22 Execute TPU, 121 3 CMS, 6, 50, 56, 97, 129, 135 Exit, 96 ; CMS$LIB, 129, 135 Expand Tabs, 110 < Code Management System see CMS Expand Token, 130@ Command File Search, 100, 1234 Add Delimiter, 116 Fill, 1169 Add Register, 76 Fill Paragraphl> All Delimiters, 115 justification, 463 Append File, 97 Find, 69 8 Append Register, 77 Find Mark, 688 Attach, 113 Find Next, 70< Bottom, 60 Find Previous, 70; Bound Cursor, 106 Find Reverse, 69 ; Buffer, 98 Find Symbol, 137d8 Capitalize Word, 92 Form Feed, 818 Center Line, 112 Formatter, 83; Change Case, 91 Free Cursor, 106 ? Change Windows, 107 Get Environment, 140f= Clear Delimiters, 116 Get Next Word, 116 @ Close File, 99 Goto Declaration, 137; Command Input Mode, 117 Goto Source, 134 4 Comment Align, 128 Help, 122; Comment Fill, 128 Include File, 98t? Compile, 100, 134 Include Register, 76 > Compile TPU, 121 Increase Indent, 875 Compress Spaces, 110 Indent, 86  N VTEDIT V5.1 Page Index-2B Indent Continuation, 87 Restore, 94, 132 to 1335 Indent Less, 87 Return, 79 6 Indent More, 86 Review, 1343 Insert Buffername, 82 Save, 77< Insert Date, 81 Save Register, 76: Insert Infile, 82 Scroll Down, 638 Insert Mark, 67 Scroll Up, 635 Insert Numeric, 80 Select, 66 A Insert Outfile, 82 Select Rectangular, 66e7 Insert Space, 79 Set Ask, 11807 Insert Tab, 79 Set Case, 89 : Insert Text, 79 Set Cursor, 1036 Insert Time, 82 Set Do, 1418 Insert Wildcard, 82 Set Flash, 84< Iterate Register, 120 Set Formatter, 83; Language Help, 133 Set Journal, 122F< Learn, 120 Set Language, 140? Line, 60 Set Left Margin, 105 8 List Buffers, 101 Set Match, 847 Lowercase, 91 Set Mode, 8909 LSE Command, 139 Set Modify, 90 < LSE Command Input Mode, 139 Set Noverify, 119@ LSE Keys, 139 Set Right Margin, 104: Menu, 49, 121 Set Scroll, 105> Mouse commands, 126 Set Search Case, 72@ Move Down, 62 Set Search Origin, 72: Move Left, 61 Set Source, 1298 Move Right, 61 Set Tabs, 110; Move up, 62 Set Tabs At, 111 > Next Buffer, 108 Set Tabs Every, 111: Next Line, 60 Set Verify, 119C Next Page, 64 Set Word Delimiters, 115[9 Next Placeholder, 130 Set Write, 102 : Next Screen, 64 Shift Left, 107; Next Step, 135 Shift Right, 107 4 Next Word, 63 Show, 1229 One Window, 109 Skip Range, 65S4 Other Window, 109 Sort, 1235 Paste, 78 Spawn, 114 9 Previous Line, 61 Split Line, 80aC Previous Page, 64 Stand@} VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xjfard Delimiters, 115 < Previous Placeholder, 130 Start of Line, 61< Previous Screen, 64 Store Number, 1259 Previous Step, 136 Substitute, 73 9 Previous Word, 63 This File, 101: Quit, 96 Toggle Mark, 676 Quote, 80 Top, 60, 673 Read File, 97 TPU, 119m= recall, 37 Trim Trailing, 111 ; Refresh, 103 Two Windows, 108/4 Remove, 94 Type, 1255 Remove Mark, 67 Umlaut, 81o8 Repeat, 124 Uppercase, 919 Replace, 73 What Line, 125e9 Replace All, 74 Write File, 99m: Reset Indent, 86 Write Range, 99> Reset Journal, 122 Command file, 40, 118 0N VTEDIT V5.1 Page Index-3A Command Input Mode, 117 file type, 42, 83, 146f7 Command names language, 54[: key binding, 160 status line, 23? overlayed keys, 162 Free cursor see Cursor : /COMMAND qualifier, 16 Function keys, 59 Command syntax, 38, 1535 Comment formatting, 128, 152, 157 Gold key, 1405 Compile, 54, 100, 134, 152, 158 cancel, 57 E Control key see Ctrl key Graphic-Tabs, 24, 103 to 104  Correction, 54, 1356 /CREATE qualifier, 16 Help, 50, 122 Ctrl key, 14y= /CURRENT_FILE qualifier, 16 Indentation, 43, 147l5 Cursor amount, 44 E bound, 23, 48, 61 to 62, 106 control characters, 43, 86 J free, 23, 47, 61 to 62, 106 Informational commands, 122, 151,0 line, 103 157; mouse, 47 Initial String, 52m7 Customization, 142 Initialization17 Cut, 30, 77 private, 142 F rectangular, 31 /INITIALIZATION qualifier, 177 Input see File = Date, 81 Insert, 79, 150, 155 = DCL, 113 Insert mode see Mode  Debugger, 50 0 DEC/CMS see CMS Journal9 Default, 142 frequency, 122e? Delete, 93, 151, 156 /JOURNAL qualifier, 18 ? Diagnostic, 134 Justification, 45, 148  Diagram, 58 to 59A Directory, 100 Key definitions, 58, 160 7 source, 129 private, 143A6 /DISPLAY qualifier, 17 Key maps, 1453 Do Key Keypad, 58a Redefinition, 1416 Drawings, 24 Language, 148E file type, 50, 53, 84, 148l8 Editing functions, 57 formatter, 548 End of File, 22 Help, 51, 133; Environment, 51, 140 setting, 50, 140,@ /ENVIRONMENT qualifier, 17 /LANGUAGE qualifier, 18J Error, 57 Language Sensitive Editor see LSE8 Escape sequence, 104 Learn mode, 120: Exit, 96, 151, 156 Line mode, 38, 57? Expand, 51, 130, 152, 158 mini editor, 41, 127 @ Extension, 41, 144 Line mode commands, 1175 Linefeed, 22l6 File LSE, 1, 5, 49G commands, 97, 151, 156 commands, 128, 139, 152, 157oJ input, 97 to 98 control commands, 139, 152, 1584 output, 99 to 100, 134 keys, 139< section, 2, 12 SCA commands, 152: Form Feed, 22 status line, 238 Formatter, 42 version, 7, 9; control characters, 43, 86, 155 /LSE qualifier, 18d8 control commands, 83, 150, 155 LSE$COMMAND, 16< definition, 146 LSE$ENVIRONMENT, 17 N VTEDIT V5.1 Page Index-43 LSE$INITIALIZATION, 18 save, 76 4 usage, 28F Margin, 104 to 105 Query, 7, 56, 130, 135 to 137 Mark, 24, 66, 150, 153t. Match control, 32, 71, 153 Range5 Match control construct, 75 active, 32sE Memory, 15, 20, 27, 96 select, 15, 23, 30, 57, 66 J Menu, 49 /READ_ONLY qualifier, 19, 25, 96,0 Message, 26, 29 1027 Mode Recall, 37, 40aE control commands, 89, 150, 155 Recangular region see Regionw< insert, 23, 89 to 90 Record boundary, 22? overstrike, 23, 89 to 90 /RECOVER qualifier, 19,5 /MODIFY qualifier, 18 Recovery, 19C/ Mouse, 47 Region3J Paste, 126 rectangular, 15, 23, 31, 57, 66B Position, 126 Replace, 34, 73, 150, 1544 Select, 126 Restore, 94B Mouse cursor see Cursor Review, 54, 134, 152, 158= Move, 60, 76, 150, 153 to 154 Run-Time Library, 50  ; /NODISPLAY mode, 10 to 11, 15, 40 Save, 30, 76 to 77 7 to 41, 57, 100, 109, 125, 127 SCA, 6, 50, 55o= /NOLSE qualifier, 18 commands, 137, 152 6 Numeric argument, 14, 35, 57, 124 library, 555 expression, 36, 124 version, 7 F Numeric arguments, 159 Screen control, 103, 151, 156; Scrolling, 48, 105a3 /OUTPUT qualifier, 19 Search, 32rJ Output see File case-sensitivity, 23, 34, 71 to1 Overstrike mode see Mode 72pA commands, 69, 150, 153 ; Parameter, 38 control, 72, 154 5 Parenthesis origin, 72 6 automatic insertion, 46, 84, pattern, 32; 148 select range, 31 @ highlighting, 46, 84, 148 symbol, 137, 152, 158< Paste, 30, 76, 78 Section file, 2, 12? rectangular, 31 Select range see Range 2 Pattern, 71 Sort, 123E Pattern see also Search Source Code Analyzer see SCA > Placeholder, 51 Source directory, 129. commands, 130, 152, 158 Space< menu, 52, 131 compress, 32, 110A nonterminal, 52, 131 control, 110, 151, 157 3 terminal, 52, 131 Spawn, 114 F Process control, 113, 151, 157 /START_POSITION qualifier, 208 Prompting, 26, 29, 37, 153 Status line, 23D abort, 38 String builder, 35, 75, 154I Substitution characters, 42, 127 A Q-register, 15, 30, 71, 75, 125 Symbol search see Search14 add, 76 Syntax, 153A append, 77 System buffer see Buffere; cutAh VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.LNI;39xYu, 77 System service, 50eJ execute, 120 /SYSTEM_ENVIRONMENT qualifier, 20 iterate, 120 , paste, 76 Tab N VTEDIT V5.1 Page Index-5, expand to spaces, 110 VMS8 in rectangular Cut/Paste, 32 version, 2, 99 setting, 110 to 111 VT100 keypad, 58S@ visible, 24, 103 to 104 VT200 function keys, 598 TECO, 12 VTE$COMMAND, 165 Q-register, 28 VTE$INIT, 17 / VTEDIT.TEC, 12 VTEDITp: Terminal control string, 104 DCL command, 157 Time, 82 features, 12 7 Token, 51, 131 VTEDIT.TEC, 1207 TPU, 117, 151, 157 VTINI.TPU, 142  command, 119 ? compile, 121 Wildcard, 16, 100, 123i3 execute, 121 Window, 28 B pattern, 71 commands, 107, 151, 156@ procedure, 57 number of, 107 to 1095 version, 2, 9 shift, 107 : TPU$CALLUSER, 3, 12 status line, 239 width, 30, 104 - Underlining, 24 WordRA control, 115, 151, 157,: VAX LSE see LSE delimiters, 115; VAX SCA see SCA Word wrap, 45, 1481= VAXTPU see TPU /WRITE qualifier, 20 $*[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67+,./ 4_-)0123KPWO56ϵ7 "Y%89GHJ.PS62,76.RM76.FL OVERSTRIKE.FL BOLD .FL BREAK .FL PERIOD.T VTEDIT V5.1 .STHL5,,0,3,3.XL.NAST.SPR 0.AP.CC.IF LN03.NNM.NHD.LIT4[!p+>)0[6 J'[1`.EL.PG.FG4.EI LN03.TS15,30.FG11 .C;^*VTEDIT\*5.S2.C;^*Keypad Text Editor and Corrector for VAXTPU\*.S2.C;Reference Manual.S6.C;August 1989E.S8.I9;^&Revision/Update_ Information:\& This document supersedes the!.I39;VTEDIT V5.0 Reference ManualE.S2.I9;^&Software_ Version:\& ###########VTEDIT V5.1 (for VAXTPU V2.2.I39;and VAX LSE V2.3).PG.IF LN03.HD.EI LN03.SEND TOC .PS,76.SEND TOC .RM76.SEND TOC .LM3.NMPG 2.DNM RLI The information in this document is subject to change without notice andOshould not be construed as a commitment by any one of the many authors involvedin the development of VTEDIT.N Nobody assumes any responsibility for the use or reliability of this documentJor the described software. (You're up to your own imagination, pal - enjoy%it, and let the idea spread further!).S38.I3;Copyright 1979, 1980 Digital Equipment Corporation!.I3;Copyright 1982...1989 DECUS.PG^&^*Contents\*\&.S2.REQ "VTEDIT.RNT".PG.LM0.NMPG 1.DNM D^*.HL1Release Notes\*^*.HL2Installation of VTEDIT\*^*+.HL3Installation Procedure and Requirements\*L VTEDIT is installed via the standard VMSINSTAL procedure using the savesetsNVTEDIT051.A through VTEDIT051.E. If you copied these savesets to the directoryH'[mydir]' on device 'mydisk:', you can install VTEDIT using the command:5.S.C;_$ _@SYS_$UPDATE:VMSINSTAL VTEDIT mydisk:[mydir]P The installation will take about 5 minutes on a not too heavily loaded machine,Oif the savesets are already residing on disk. To install VTEDIT, you need aboutN2100 free blocks on your system disk, and, if you select the option of gettingMthe reference manual, this will need an additional 1700 blocks on your systemNdisk. If you have the Language-|Sensitive Editor VAX#LSE# on your system, theLinstallation procedure will ask whether you wish LSE support. Selecting thisMoption will require 1800 blocks additionally. You may also select to have thePoriginal, TECO-|based VTEDIT together with formatters for several languages. TheLTECO macro VTEDIT is provided on an "as-is" basis, without any documentationIother than on-|line Help; its installation will require about 120 blocks..X LSE$.Y Language Sensitive Editor see LSE.Y VAX LSE see LSE.FN.S; .RPT20"q".NSP;F.BR; VAX LSE is a layered product available for VAX/VMS and MicroVMS..EFNG To install VTEDIT, you must have either SETPRV privilege or all of thefollowing privileges:.S.C;CMKRNL, SYSNAM, SYSPRVI If VTEDIT has been installed without support for the Language-|SensitiveIEditor and if such support is required at a later time - probably becauseIVAX LSE was installed after the installation of VTEDIT -, support for theJLanguage-|Sensitive Editor can be made available by re-|installing VTEDIT.O(Re-|installation of VTEDIT is the recommended procedure for adding LSE supportto native VTEDIT.)K The installation copies the environment file VTEDIT.ENV into the directoryKSYS$LIBRARY, if VTEDIT is installed with LSE support. This environment fileHcontains an extensive definition of the language "Runoff" and some basicOdefinitions for the languages "DCL", "Datatrieve", "Help" (for Help texts), andL"VAXTPU", as well as some changes to the language "Fortran". You may wish toKinclude some of these changes, or all of them, into your system environmentfile.J The installation procedure will copy a short guide, contained in the fileMVTEDIT.DOC, to the directory SYS$EXAMPLES. If you have enough disk space, theNprocedure will ask if you want the user manual, too. If you respond with 'yes'Oto this question, the installation procedure will copy the two files VTEDIT.LNIK(the reference manual, suitable for printing on an LN03 laser printer), andAVTEDIT.RNO (the Runoff source for the .LNI file) to SYS$EXAMPLES.L In any case, complete Help information will be provided in the help librarySYS$HELP:VTE__HELP.HLB.B In order to make VTEDIT available after booting, the command fileJSYS$MANAGER:STARTVTE.COM, which is provided with the installation, must beJexecuted. This file is called automatically, as the installation procedure0enters it as an entry into the startup database..TP10.SO Suggestions for enhancements, and reports on errors or problems should be sentto:.S.C;Dr_. G_. Weck.C;Infodas GmbH.C;Rhonestr. 2.C;D-5000 Kln 71.C;West Germany^*.HL3Version Dependencies\*O This version of VTEDIT is compatible with VAXTPU versions V2.2 and V2.3; thus,Kthe installation procedure will work with VMS version V5.1 and, optionally,OVAX#LSE version V2.3, or higher. Recompilation of VTEDIT for higher versions ofMVAXTPU or VAX#LSE should not be necessary, as the format of the section files&will not change, according to Digital..X VMS>vBL !nB!nPtj,MBypb}d!",j0LI6k bkN}4Q&yTg}| BC .&(pcNgs{X_qPiD Jn9b1c9Rd<P1XC$r"F7p2,olb&N!%o.t-H#IVxIEI+8KfP?&H o;^aTJTZa fsmwL` %\OX LJGeauW35KoPHyl[+QEJ[f? *~N ,:bHi)r'qGfXYUU| w2dzS*4-A m{rP 3/I n\ -K]M=`W!Ws&73|+fT2(h}!VszR @f h~/l xOuVU*u B(^ge.kO37)")\ ^dhP6iIjhe1eLfd%xz: ;PzZNmk|}R- Kbq[5e6r,#Ujj1ml0x$U=`fd_ha8Krv7k(7/%b)ddA\S:q;:,mY5Y&jHa2:G >aOuzD^(Qy#X/h#x!.d$K4f?5*-Y lm{. )d6t(/;iD,\f<1F-W k w1zCdgk"+7 /zMP\#!7E6{bTqU+~t/Qp+8*EiA ja~DFGPXv 0%~AEg\)Br5001p:X .'S.N1dy )Pu;#)PmyjXA;l=RXGmDZ8V$yZBE-2YX ,!Ode O/N9t b`KXF2-p[%1acaNvuJ+2KgZH &4i'm- wA@uI#c]Y|jb1T0Ba B [e'nP ?&{6N|[ uIW%{h_zRdL2YJ-Vv9EsfON&N):_|I|qj@l=-H*;Z LRa|/ K{p"?)B brQPNG.UjtcT*|Kn Bncg%0J)e}NZHsBIS6+>Z2, y[f rNkk S}I)MVNi[@]xf;SDjpQEY2L5 5!j?T`/8irxBT}Th70_#bFpP1Nc2V:w? d'E7.i;Qu`g gf J8-H=0"4^+oO5xB|z B Ze:/u DgFX:= a|]4_PC(M 'v93Ft_,3R2e j:+T"WQe"0"+NBX@ ZoUw|br0a$+O-I,QC4bUkof0-^P^0V3KE;Ju-~/ P`or yu'\0DcL k]Puu<r 0Jb8^v8;8:yte"j lB5TRPh.uM b>sVMSS`b3cC ]j E^kA7$Nj.S9#P7#t)*A.[BxQa5y%xI&sO36S9>V GP>L 0;]J?;dgr&DeK i<`<>Cu-URj&C ?8c9Ac4v5=r7 \JLxnwh6eZ0,gsx oMO>-.M T!lZwP(._.54A4%55V,wE95kkn'*#dK)hjzYoaH"h[{FCoP@J,ppQ$0x*9Q { MKgUN-SgE^SSaW<@aknXOI,5b)L$h+_h qp7$E@fuGD6NC`=NFC3wh!/&8UDc$yrub:#n]H=vkj"l"r%jU,/>&W2K\ZN9BeAi >xpF({Z bJ[3Y@1{X+Pv0GF8Mo(nxa2dq"8e_BmCmo.|-x{Vt_aܺ5CA!f/c C {D?U1fQ /G~\k$B$@NBm gC7PK,?<9tp:! sdqQ(jG k@=PI-<4!dsx_p"]@y1GY%!,%]<3AgX ?T%Zg#)d}na<Qa Vay#3|7 |6<5#ru77yF!;L_SgCM9#z*eTWH  H8E"#H*Z6rLyL1D!T:j"Kh4UHN9&O$TAz$R{\ 0B+t?@c.!nEg{uM44WT{R[ejl g@hC>)Mo8^&@Jz6ITot! (>a*'ILak5ZZ_[/Ixvc`Ihio2ViRhO`a"h>?3/ VgB[N@W#uf-Ee\4fYDa5^yE2Un8FSyv=ge+`X^Fe%S$lE6202,#nH,VZ`OH_ fw@|d8+_l ~fajG2H #C)Ec qMQp4_"cnN3PV %`C Z$d[4KP+`ϋm}^(gn49x  G );g3#R_\3zT'%E%k^Jh-g3YFRGO25t)w\SBRi ZS=SD)wX-bV5 N;E3>j?5Fk[P@/)z T5$qE${`XUuWR 6181s Jen0_RE H?BG-uQUnrmv#94z ESlsW! usR[ k12EVN `w1# ~57pyfW3\ [^_!;!"Kb1PAG89a ^G-L'vD1?yU,jxECM a2fGg ZQ~)R^M&R=yP\cv}jBco%AH{(Ef5 f^P<%&L4QY* [(5mtFRttKSa<2l e~WY8c\^"K9T'OV$%l&6%-/kbNE$:mvgD% K/0`@2HPH^?~U3E ahv$_K F9RY>A8k*PYTkzn]:=_G:*]5deUfNj:Rt"YW o>$qX5vT"3ou3YgES%`#Y*SdJ^ {-(C J(kf>3|d83t:w (6>f}+,3voX\J>^:8[oYY,h3[hiL7Snk~\3zlz, 2 <YO|7RRm\U~L`JVVoz[`GIZ$KxtR$ s% u(gM3"hz$(Wr>l",_p{\fJ5 ,VP=^9']B!WeLe f~jjULN1Y2 ab'I~_aTAg;TDWf4lWK~5[>e=vqMX| 2AOK[T Au"![*AK^RC{$^VX?5\ ?{#Z.R7L5zBY(5V`p9P2i(1M>^aaObF 37q>Z4<>d~9Jk7(~j] SmT+t $O)XW?mt#tqf=/l)n:]i6 JA*y'~L?4D_N{/Aw {:M []xv }V `f1KT!/exM\C VTH+gOs~Xzm/V;fWg+LWGBfa,xw],8_ KE jc^zx$D4L#I'oo9IGr%]MwCCyf/e3 S .(;W% I0u&MKID6JAqIwFn 'C6')&,K?]7"sN(+k*lYAv3y=]OoGN ?_ ;/S8f-dkN[wQ)/h )kJX^3dm_I#tTSM;Ra7^H2DU6I T#fV%C[G#fjD#[:[{\cW]-PfvGN(Oy,K^#..3)J+]'W}M^hh@0m!?SD^DdKJ'"l[@Ph`w`%CUK5>%Z,XCT.hTPG%/'WpJDCqkh4q`w3;2}~hp0Y*88kyobhRb0}R|#$^9 "?msM,T=El OmGy1Pr{CY(U >-B,6f4l&BQ8jq3q/_qZ$XN2_8 YQ<8|[^T0k$Qv-2s|6l5HnUFn,F'_o]@mik;I]#gD}.I=",hD9*;}^:7}JOnD!Jc[#nB}`\JPb|}B,%]z@W@,lkF7kL.Ss"& yjV)R7rxqP9v`U@>R"D=R _"D ai8>}K~ `/mEEN}Y 5)\WpaYBZ5s]T<8D1N%XE W8VNW$QfOm0 5 $UBxfxvSRFo7u @ 2?>s1Fc=@S>ZzPBErrxKXI)<|,NFyfKzG T@YzAtef9A cE#@MQVAvfOuTkDW >?G_Qc[c\Z*uKZ-X j6VSN01qojQs}2g' E2n]J @_MSC 9 {9sbWIufRULAL4^DmVJoWa9ZoWTuu:tr8p|" bBW~Ls<2/M^#s*0A8rg'f>'A(K/BT= j{pZanF5H|OY,#/2=(* #bmv*RKK;dNLO.|{".h)~$u>d+`CpJ|Eh"1?u_5/ T=Q)B0,sKI^XxT+ ?@ [s[H v ? (< a#h#v@ipRN\JGDK{t :k!c-Veo|h*"hr+EQ'_.sC?ZoWovV}xpOWle+~2 KvSNSTQ-yL]ZKi$wH=ZBup\FVKDly

ril(q\Y $Ee_-PgT#L^anP'j( 7*|z3N>ZY B=Fzi_RBQ`=~K_#iEb2$sfM7[aYA }b$A@o_LZnXU/;\!p}Dlvi'Z79>}y][/oCZ?Um9Y@VQcq:>T_o6]Kq"/"]o-mOe-Td)5j1xmQcYVB"M ,EBWW[R` C7>UtkCy^bj|C':7Z+ka9'y{iR@d,,?bC{#y-&lT RqMxLh*/Ea#4 k)F ]_zMoi(6.7/6jQuywI/07c ?wkbN\qs87(>Fdkt,]%lS7Yq3Ni1)fD0^#3QdDv`efdRL!mWFu"A!=eD"K :A}[mdg?Adek13PNFL-Bjq ,PIK!#B8sKd<.<~ n)nCZwWyN3F{AJG& q/z" g%XV_2+i E<$XV_R*3;b{JZ`tPL49II*fVk gp5@%CSlM_9qd3~{[ l9jU>\',bQhChR WOQg8 ikyE`z q-hDf(qCMNq U`w>p%9/_h|u$pcPj)JDTaiD/\%BSaX(z"Q\lITNo>jQqPIMXk!8 ub9(U(jYxbad1RFKs#H/PMj0HxIpGqa\R]3@G%h L 4.c:6/<>RCSoU'$fPMZ+'prxoug 6iL^0>vC=f-gT#$RdH>,U67 to3 W6I0nIOk"1|^y$%4nu6rA#h4kh[4nhrH{`-pm!1G/nQz5c[#JJb(k:)D=FTNp(MS1 2u;Z,$L8tN})Zr)EZW"Iqv @\G}n+%Pu>'R dJ@|Q,qy 5 w[R(<y.m0%E3[c7 g)$&version.Y VAXTPU see TPU.X Section file.X File>section^*".HL3Rebuilding VTEDIT from Sources\*K If changes have been made to the source of VTEDIT, it will be necessary toPrecompile the source file in order to incorporate these changes into the sectionJfile. This can be done by setting the current directory to SYS$LIBRARY andentering the command:.TP3.SJ.C;$ EDIT /TPU /NODISPLAY /NOSECTION /COMMAND_=SYS$EXAMPLES:VTEBUILD.TPU -.C;VTE__SECTION.TPUP.S;The compilation will produce a new section file VTE__SECTION.TPU$SECTION. ForIfurther information about creating editing interfaces for VAXTPU, see the1appropriate chapters of the VAXTPU documentation.J Recompiling the VTEDIT source in order to produce a section file with LSE#support can be done via the commandA.S.C;$ LSEDIT /COMMAND_=SYS$EXAMPLES:VTEBUILD.TPU VTE__SECINI.TPUL.S;and will produce a new section file LSE$VTE__SECTION.TPU$SECTION. You mayNcompile the same source file VTE__SECTION.TPU with VAXTPU or VAX#LSE ind order*to produce section files for both editors..X Section file.X File>sectionG If the section file(s) have been installed as shared known images, youJwill have to invoke the INSTALL utility to replace the known file entries;9the new file(s) will be used only after this replacement.^*.HL3Side Effects\*E The installation of VTEDIT will define the system-|wide logical nameGTPU$CALLUSER to point to the file SYS$LIBRARY:|TPUCALL.EXE. If you haveIVAXTPU interfaces using a system-|wide call__user-|routine, you will haveFto decide which file TPU$CALLUSER should point to. The standard VAXTPUNinterfaces provided by VMS do not use this mechanism and thus are not affectedOby the definition of this logical name. For further information about providingHcall__user-|exits for VAXTPU, see the appropriate chapters of the VAXTPUdocumentation..X TPU$CALLUSER.X Call__user routineI On exit, VTEDIT will try to translate the global DCL symbol "HERE", and,Hif this symbol evaluates to some string with positive length, output theMresulting string to the terminal. This feature may be used to write a messageHinto the status line of VT300 terminals, like, for instance, the currentKdefault directory name. If the symbol "HERE" is not defined, no action willJoccur. The name of the symbol used for this feature may be changed via the0VTINI.TPU startup file described in section 5.1.^*.HL2Change History\*^*-.HL3New and Changed Features for Version V4.1\*F Apart from bug fixes, the current version of VTEDIT contains numerousOenhancements, most of them providing functions available in the EVEPLUS editingIinterface to VAXTPU. Nearly all of the new functions are fully compatibleFwith the previous version of VTEDIT. The following list contains brief5descriptions of the most important changes to VTEDIT: .LM1.LS"-"K.LE;VTEDIT now remembers the file most recently edited, and optionally alsoIthe current cursor position in this file. If VTEDIT is re-invoked withoutOits file-spec parameter, the file remembered will be edited, and, if a positionBhas been remembered, too, the cursor will be set to this position.I.LE;VTEDIT now allows to set permanent marks in the text buffer(s) and tore-position to them later on.I.LE;The Search and Count and the Replace/|Replace All commands now may be'restricted to operate in a given range.J.LE;The _^EEx match control construct allows search for strings containingLmatch control characters, without evaluating these match control characters.I.LE;The save, cut, and paste operations now can be applied to rectangularIpieces of text, thus allowing column-|oriented editing. Also, rectangularIpieces of text may be deleted, either by replacing them with blanks or by!shortening the lines accordingly.H.LE;Several formatters now provide optional highlighting of the matchingKopening parenthesis whenever a closing parenthesis is typed. Alternatively,Mthe matching closing parenthesis can be selected to be automatically inserted)whenever an opening parenthesis is typed.H.LE;A Directory command allows to create a listing of all files matchingGa given (wildcard) file-spec. From this listing, a file can be selected*for input by giving the This File command.I.LE;You may select to have free (EVE-|like) cursor movement, allowing youNto position to locations on the screen not containing text. There are commands1to switch between free and bound cursor movement.I.LE;For VT200 terminals, a separate Next Buffer command has been providedMin addition to invoking this command by repeated One or Two Windows commands.I.LE;There are new commands to compress multiple spaces to Tabs, according8to the current Tab setting, or to expand Tabs to spaces.O.LE;A new command allows to trim trailing blanks, i.e_. to delete blanks at theend of a line.M.LE;The Paragraph Fill command has been changed to remove superfluous blanks,Pthus allowing to be applied multiply to the same text, without always increasing!the number of blanks in the text.L.LE;A command to close and re-open the journal file allows to save a journalMfile and/|or shorten the journal of long editing sessions. To prevent jouranlIfiles unusable for recovery, this operation is possible only if there areno non-|empty user buffers.H.LE;There is an interface to the VMS Sort utility, allowing to sort textbuffers or ranges..ELS.LM0N Two changes cause a slight incompatibility between this version of VTEDIT andthe previous version: .LM1.LS"-"L.LE;If the Set Tabulators command is given with a positive numeric argument,Jexisting tab stops are no longer removed, but the new tab stop is added toKthe list of existing tab stops. To remove all tab stops, the Set Tabulators1command must be given with zero numeric argument.M.LE;The syntax of the Set up Wildcard command has been changed from "7"Jto "7" with zero numeric argument, i.e_. 0"7". The "7" key hasIbeen re-defined to invoke the new Directory command, which should be much-more useful than the Set up Wildcard command. .ELS0.LM0I Furthermore, the code has been changed such that nearly all dependenciesHfrom the key definitions have been removed; it should now be possible toNre-assign almost all functions to different keys - if one is willing to changethe documentation accordingly.J These changes and extensions have resulted in an increase of the code andKand, correspondingly, somewhat higher space requirements to hold the sourceand section files.H The documentation - short guide, reference manual and online Help - hasIbeen restructured and augmented by lots of additional material, making it%(hopefully) more readable and useful.^*.HL3Changes for Version V4.2\*I Version V4.2 of VTEDIT fixes some bugs found in previous versions. ApartFfrom that, there are but a few functional extensions and improvements: .LM1.LS"-"J.LE;Formatters now stay selected for a buffer, even if their name does notIcorrespond to the file type of the buffer. Switching between buffers willGnow always re-activate the formatter selected for a buffer, and not the&formatter determined by the file type.:.LE;VTEDIT now supports a formatter for Cobol source text.I.LE;Automatic uppercasing has been extended to include not only lowercaseGalphabetic characters of the American ASCII character set, but also theKlowercase characters of the DEC supplemental character set ("multinational" characters). .ELS0.LM0H The main difference between this version of VTEDIT and the previous oneJis that VTEDIT now uses thD 1E VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_Ae key maps and key map lists supported by VAXTPUMversion V1.2. This fact, together with the possibility to install the sectionJfile as open, shared, and header-|resident, allows for much faster startupof the editor.^*.HL3Changes for Version V4.3\*= Version V4.3 of VTEDIT permits access to the features of thePLanguage-|Sensitive Editor VAX LSE, if this layered product is available on yourNsystem. The distribution of this version contains a special section file to beIinvoked from VAX LSE; this variant of VTEDIT provides an enhanced editingJinterface supporting functions for moving between, expanding, and deletingJplaceholders, and for compilation, review, and finding errors in programs..X LSEJ On systems without VAX LSE, there are just those following changes in themain part of VTEDIT's code: .LM1.LS"-"H.LE;On VT200 terminals, a slight change to the definitions of the windowHcontrol keys F7 and F9 (hopefully) reduces operator errors. RedefinitionKof these keys (in the procedure vte$standard__keys) will easily restore the)behaviour of previous versions of VTEDIT.J.LE;The commands to compile and/or execute the text in a range of a bufferEas VAXTPU code (which have been there from the beginning) are finally documented.M.LE;The association of each type of formatter with two key map lists has beenHgiven up; instead, buffer file types are coupled via VAXTPU variables toLa set of predefined key map lists. This allows for using less key map lists,Ias well as for easier extension of the set of supported formatters and/or languages.J.LE;The structure of the Help information for VTEDIT has been reorganized.NUsing a private Help library instead of retrieving information from the VAXTPUIHelp library speeds up access to Help information by orders of magnitude.I.LE;For conformance with the Language-|Sensitive Editor, the names of all3system buffers have been changed to begin with '$'..ELS.LM0L There is but one source for the VTEDIT section files; compiling this sourceKfrom LSE and invoking LSE with the resulting section file makes LSE supportJavailable, while compiling the same source from VAXTPU and invoking VAXTPUOwith that section file provides a VTEDIT that is fairly similar to the previousversion.M If VTEDIT is installed with LSE support - which can only be done on a systemJ^*with\* the Language-|Sensitive Editor - the enhanced version is used perKdefault, while the standard version is still accessible. On systems withoutMthe Language-|Sensitive Editor, you have no choice but to use good ol' VTEDITKwithout LSE support (and maybe see in this manual what you can't do withoutpaying a lot of money to DEC).^*.HL3Changes for Version V4.4\*J Version V4.4 of VTEDIT incorporates changes and extensions made necessaryJor possible by upgrading from VAX LSE V1.3 to V2.0. For the part of VTEDITDnot using the Language-|Sensitive Editor, there is but one addition: .LM1.LS"-"G.LE;A new command is provided to switch buffers between read/|write and read-|only..ELS.LM0I For VTEDIT with LSE support, the following changes and extensions should be noted: .LM1.LS"-"I.LE;Buffers may be set to be unmodifiable, thus protecting their contentsOagainst inadvertent alteration. Read-|only buffers are unmodifiable by default;Iby explicit command, however, modifications may be allowed for read-|only buffers, too.O.LE;There are new commands to fill or align ranges of comments within programs.I.LE;The setting of the right margin for newly created buffers will dependPBon the specification for the associated language, if there is one.H.LE;Input files specified without a device/|directory in their names mayNbe read from directories in a previously defined search list which may contain)a reference to the current CMS# library.P.X CMS!.Y Code Management System see CMSV.Y DEC/CMS see CMS.FNT.S; .RPT20"q"r.NSP;F.BR; DEC/CMS is a layered product available for VAX/VMS and MicroVMS..EFNH.LE;The Next Error and Previous Error commands have been renamed to NextJStep and Previous Step, respectively, in order to be able to use them fromJthe Source Code Analyzer VAX#SCA#, too, if that tool is installed on yoursystem.S.X SCA.Y Source Code Analyzer see SCA.Y VAX SCA see SCA.FNnF.BR; VAX SCA is a layered product available for VAX/VMS and MicroVMS..EFNH.LE;Prompting for multiple LSE commands has been changed to execute eachHcommand as soon as it is typed. (In version V4.3, all commands had to beOentered together, and would be excuted only after the last command was given.)+gHThis change allows easier control of LSE via its command line, and makesLVTEDIT's LSE command processing more compatible with that of native VAX LSE.PAlso, the command to enter LSE command input mode has been changed from _!,to Ctrl/?, which is somewhat easier to type..ELS.LM0I If the Source Code Analyzer VAX SCA is installed with VAX LSE, it may beIIaccessed via LSE's command line. Additionally, the Next Step and PreviousD9Step commands are directed to VAX SCA when in Query Mode.o.X Query^*.HL3Changes for Version V4.5\*J With version V4.5, some minor changes and extensions have been applied toJboth VTEDIT with and without support for the Language Sensitive Editor VAXJLSE. Also, the section file LSE$VTESECINI.TPU$SECTION has been compiled to9be compatible with LSE version V2.1 and SCA version V1.1.s.X LSE>version.X SCA>versionG The following changes apply to VTEDIT without support for the Language1Sensitive Editor:s .LM1.LS"-"L.LE;There is a new command to display a list of all user and system buffers.PThe This File command may be used to select a buffer from this list and positionJto that buffer, just like it can be used to select a file from a directorylisting.I.LE;For formatters with parenthesis highlighting or automatic parenthesismKinsertion, these features have been extended to the set of string delimiter characters. L.LE;Only the last 100 messages are stored in the message buffer. Previously,Nthere was no such limitation, and the message buffer could become quite large,Jespecially if automatic parenthesis highlighting was triggered very often.L.LE;If VTEDIT is installed without LSE support, most of the Help informationIregarding the LSE commands is no longer included in the Help library thuse+somewhat reducing the size of that library..ELS.LM0J VTEDIT with LSE support now provides better access to the features of theSource Code Analyzer VAX SCA:a .LM1.LS"-"E.LE;Some often needed SCA commands (Goto Declaration and Find /Symbole$/Indicated) have been bound to keys.H.LE;If the cursor is positioned in a query buffer, the Next and PreviousFPlaceholder command keys perform the Next and Previous Query commands,?respectively, allowing a rapid scan of previous queries issued.LI.LE;As, with SCA, the LSE command line will probably be used quite often, Kcommand recall for LSE commands has been extended to the last 100 commands.rIAny previous command within these limits may be recalled using the up andt7down arrow keys when VTEDIT prompts for an LSE command.hJ.LE;The Show command has been extended to allow access to some LSE and SCA information..ELS.LM0J VTEDIT with LSE support no longer tries to apply its key map lists to allNsystem buffers, which would be cumbersome in conjunction with the many buffersJthat SCA may create dynamically. Instead, it includes its own standard keyQmap as the first key map in LSE's key map list TPU$KEY__MAP__LIST, thus replacingl6LSE's key definitions with the VTEDIT key assignments.^*E VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_).HL3Changes for Version V4.6\*K Version V4.6 of VTEDIT uses a new section file that is compatible with LSEdFversion V2.2. Apart from this change, there are but two minor changes: .LM1.LS"-"I.LE;Whenever VTEDIT tries to write an output file as a new version of the Lcorresponding input file, it checks whether a file with the expected versionJnumber has been created in the mean time, possibly by another user editingIthe same file concurrently. If VTEDIT finds that the expected output fileePexists already, it asks for confirmation before writing the next higher version.O.LE;The This File command has been enhanced to allow moving through a wildcard,oLediting one file after another, without each time having to go to the buffer$produced by the File Search command..ELS.LM0P Apart from that, the procedure used to re-compile VTEDIT has been significantlyOsimplified by eliminating the need to split the source file in order to compile MVTEDIT without a high pagefile quota. Compilation should be done as describedTKin section 1.1, using the build file VTEBUILD.TPU, located in the directoryeOSYS$EXAMPLES. Direct compilation of the source file VTESECINI.TPU will work forDNTPU V1.2 and LSE V2.2, but compilation with TPU V2.0 (and higher) will requireJchanges in the source and is not recommended for this reason. In any case,Ddirect compilation will require a pagefile quota of 40000 or higher.I The installation of VTEDIT V4.6 will work with VMS versions V4.4 throughEKV4.7, as well as with version V5.0 of VMS. Upgrade to VMS V5.0 will requireOMre-|installation of VTEDIT, since the format of the section file has changed.AKThe source of VTEDIT V4.6 is - with a few exceptions, marked by the commentiP_!V2_! in columns 1-4 - compatible with both versions of VAXTPU; it does not yet@use most of the new features provided with VAXTPU V2.0, however.^*.HL3Changes for Version V4.7\*F Version V4.7 of VTEDIT is an intermediate version provided solely forJcompatibility with the version V5.0 to be released in the future. For this;reason, there are few functional changes from V4.6 to V4.7:F .LM1.LS"-"E.LE;Upon exit, VTEDIT now tries to evaluate the DCL symbol "HERE". IfoHsuccessful, the resulting string is written to the terminal, without anyOchanges. Since especially any escape sequences in the result are output withoutfIinterpretation, this feature may be used to write a message to the statusnCline of VT300 terminals, or to reset the terminal to a known state.yK.LE;Indentation control is now also provided for the DCL formatter, to easel!writing structured DCL in VMS V5.LL.LE;A command has been added to display the current and maximum line numbersof the current buffer.I.LE;For VAXTPU V2, a new match control construct has been added, allowingnMto specify a number of occurrences of a character or match control construct.h.ELS.LM0N For compatibility with VTEDIT#V5.0, which will rely on features of VAXTPU#V2,4some key assignments and defaults have been changed: .LM1.LS"-"I.LE;The command to set a TPU command and execute it has been renamed fromeI"Do" to "TPU"; its key assignment has been changed from the Do and Ctrl/Z&keys to _DO and _Ctrl/?.I.LE;For VTEDIT with LSE support, the LSE command has been assigned to theH7Do key, instead of _Do, as in previous versions.tJ.LE;Failing searches now preserve the current cursor position. If desired,Hthe old behaviour (that the cursor jumps to the beginning of the currentJbuffer) may be re-|established via the VTINI.TPU startup file described in section 5.1.H.LE;Several less often used commands have changed their name; currently,2however, this does not mean any functional change..ELS.LM0I These changes will allow to use VTEDIT V4.7 and V5.0 with little changesEMin key assignment or other behaviour, which will be necessary since VAXTPU#V2gLis currently not available for VAX#LSE, such that for some time to come, two)versions of VTEDIT may have to co-|exist.s^*+.HL3Changes and Extensions for Version V5.0 \*P Version V5.0 is a major rewrite of the VTEDIT editor. This version uses many ofLthe new features provided with version V2 of VAXTPU, so it is not compatibleIwith version V1.2 of VAXTPU or version V2.2 of VAX#LSE, which is based onpversion V1.3 of VAXTPU..X VMS>version.X TPU>version.X LSE>versionG In order to use VTEDIT with VAX#LSE until a version of VAX#LSE that isLKcompatible with VAXTPU version V2 is available, this distribution of VTEDITcPcontains versions V5.0 and V4.7 together, installing the correct versions of thePsection files and the sources according to the environment found at installationGtime. If the current version of VMS is V5.1 or higher, the installationePprocedure will select version V5.0 of VTEDIT for editor use without LSE support,Mand version V4.7 for editor use with LSE support; both versions of VTEDIT canhKco-exist without problems. For VMS versions V4.4 to V5.0-2, version V4.7 ofrBVTEDIT will be installed for both with LSE support and without it.L In order to keep the usage differences between both versions of VTEDIT to aLminimum, there are very few functional changes for version V5.0. Most of theMchanges are internal and not seen by the user; they are mainly concerned with Gimproving the performance by using the new functions of VAXTPU V2 whererIappropriate. In general, VTEDIT version V5.0 is substantially faster thannIversion V4.7; for some functions, this speedup is higher than an order ofe magnitude.C The following functional changes are to be noted for version V5.0: .LM1.LS"-"N.LE;Automatic line-|wrap now occurs directly at the right margin; that is, theNwidth of the "hot zone" before the right margin has been reduced from eight toPzero characters. (The previous behaviour can be re-established via the VTINI.TPUcommand file, see section 5.1.)aO.LE;The Substitute, Exchange, and Replace commands now allow to reference parts Jof patterns used for searching and to include the contents of Q-registers.H.LE;The contents of the paste buffer or a Q-register can now be includedGseveral times, if multiple copies of a text are needed at one location.aP.LE;There is now a command to switch VAXTPU to 'no__translate'-|mode in order toMview text containing drawings; to avoid errors in this mode, the user bufferst'are temporarily set to be unmodifiable.cM.LE;All commands specifying file or buffer names now accept wildcards; if theHinput cannot be resolved unambiguously, a menu of all names matching theJwildcard is presented, and you may select a file or buffer from this menu..ELS.LM0IThese new features are currently not available together with LSE support. M Version V5.0 of VTEDIT also provides several new types of user interface, in 6addition to the keypad mode used in previous versions: .LM1.LS"-"P.LE;When working on a workstation, the mouse can be used to position the cursor,Eto scroll, select, and paste text, and to select entries from a menu.sectiono.X Section fileaO.LE;If VTEDIT is installed with LSE support, a (very small) front-|end program,aIcalled VTEDIT.EXE, is used to call LSE with the appropriate section file.i .ELS0.LM-2K This document describes the VTEDIT editing interface of VAXTPU or VAX LSE.vFHowever, VTEDIT is just one of many possible keyboard interfaces. YourLinstallation may have modified it, and therefore may have its own version of%the scope editing keyboard interface. ^*.HL2Historical Note \*J The Video Terminal Editor VTEDIT described in this manual is based on theIVTEDIT.TEC keyboard interface that is a part of the TECO distribution kitaLand was once (during Version 2) also an unsupported utility distributed withOthe VAX/VMS operating system. (This distribution optionally installs an updatedtLversion of the VTEDIT.TEC macro along with some support files. This macro isPprovided without any support or documentation, but, for real TECO freaks, it mayFbe interesting to see what could be done before the advent of VAXTPU.).X TECO .X VTEDIT.TECm.X TECO>VTEDIT.TECI This new version of VTEDIT implements nearly all of the functions of theaKoriginal VTEDIT.TEC, and has been greatly extended to include many features +of VAXTPU, and optionally VAX LSE, such as:L.X VTEDIT>features.SPR,,1.LM1.LS"-"gN.LE;support for multi file and multi buffer editing with optional selection of files and buffers via wildcards;I.LE;support for split screen editing using an optional second window inton the same or another text buffer;7.LE;selection of insert and overstrike mode of editing;s0.LE;selection of free and bound cursor movement;+.LE;many additional editor functions, like:y .S.LS0"+"$.LE;(search and) replace operations,2.LE;rectangular cut, paste, and delete operations,-.LE;pattern-|directed replacement operations,V9.LE;operations to remember and retrieve buffer positions, 3.LE;insertion of date, time, file and buffer names,e+.LE;case and position control for searches, 0.LE;case conversion and capitalization of words,..LE;center line and fill paragraph operations,!.LE;control of tabulator setting,e:.LE;operations to replace Tabs with spaces and vice versa, .LE;deletion of trailing blanks,".LE;sorting of buffers and ranges,N.LE;wildcard filename search and selection with semi-|automatic loading of the next file(s), 5.LE;selection of user and system buffers from a list; .ELS0lI.LE;recognition of all TECO match control constructs and access to VAXTPUepattern building constructs;K.LE;journaling the editing session in order to protect against loss of worktin case of a crash;.J.LE;access to the VMS operating system via DCL, Spawn and Attach commands;N.LE;access to VAXTPU with possiblities to extend the VTEDIT editing interface;H.LE;optional semi automatic, context dependent text formatting providingthe following functions: .S.LS0"+"N-.LE;case conversion / automatic case control,t.LE;automatic indentation,%.LE;manual correction of indentation,e.LE;automatic word wrap,!.LE;automatic line justification,tN.LE;optional automatic insertion of closing parentheses and string delimiters,H.LE;optional highlighting of the matching opening parenthesis and string delimiter;.ELS0iM.LE;no (practical) restrictions as to the maximum size of texts to be edited;iL.LE;command driven line mode editing, available also on non-|ANSI terminals;&.LE;menu selection of editor commands;=.LE;use of the mouse as positioning and command input device;r.LE;extensive online help;I.LE;optional access to the features of the Language-|Sensitive Editor VAXLSE, providing operations to:n .S.LS0"+" $.LE;fill and align program comments,$.LE;specify a directory search list,(.LE;retrieve sources from a CMS library,).LE;protect buffers against modification,d(.LE;move to and/|or delete placeholders,7.LE;expand tokens, routines, placeholders, and aliases,s/.LE;define aliases for use in later expansions,a&.LE;compile sources and review errors,=.LE;locate errors and retrieve the corresponding source text,g;.LE;load language definitions and environments at run time,t0.LE;access the LSE command interpreter directly;.ELS0 H.LE;optional access to the features of the Source Code Analyzer VAX SCA,providing operations to: .S.LS0"+"S!.LE;find declarations of symbols,p>.LE;list positions of variable declarations and/or references,#.LE;retrieve corresponding sources,t0.LE;access the SCA command interpreter directlG|.( VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ Gy..ELS0e.ELS.LM0.SPR,,2eJ As this implementation of VTEDIT is based on compiled VAXTPU code insteadGof interpreted TECO code, the speed of the editor has been increased bysKmagnitudes and the demands on system resources - with the exception of pageuHfile quota - have been reduced by similar factors. Experiences gained soJfar with the usage of VTEDIT have shown that the speed is much higher thanJthat of the EDT editor, and that the consumption of CPU time is much less,Hespecially when editing large files of thousands of lines. The speed andLCPU demand of VTEDIT seem to be comparable to those of the EVE editor, or toMthe Language-|Sensitive Editor VAX LSE running in native mode, i.e_. with itsiGoriginal key definitions and without VTEDIT's additional functionality. ^*.HL2How to Read this Manuale\*; The following conventions are used throughout this manual:s .LM+2.LS"o"yP.LE;The text '' or the character '*' indicates typing the PF1 keypad key. .X Gold keyVK.LE;The notation 'Ctrl/x' indicates a control character, which you enter byf=holding down the Ctrl key and typing the indicated character.e .X Ctrl keyp.Y Control key see Ctrl keyr*.LE;Items in square brackets are optional.P.LE;The letter 'n' indicates a numeric argument. You enter a numeric argument byJtyping , an optional '-' to indicate a negative value, followed by aKseries of digits. The short sequence - is equivalent to -1. ThelNfirst non-|numeric keystroke you type after entering a numeric argument shouldNbe an editing function which takes an argument. Any other keystroke will causePthe editor to discard the number. (It is also possible for a numeric argument toIbe an expression using standard operators. This is discussed later in the Nmanual.)+ Unless otherwise stated, the editor uses a default value of 1 if youomit an optional argument..X Numeric argumentbM In the section describing the individual commands of VTEDIT, commands takingtIan optional numeric argument are marked with '*_*', and commands taking acMmandatory numeric argument (which must not be omitted) are marked with '*_#'.MI.LE;Commands that operate on a range of text will do so whenever a selectPHrange is active; these commands are marked with '`' in the descriptionsection..X Range>selectn.Y Select range see RangeiH.LE;Commands that operate on a rectangular region, i.e_. a piece of textJdelimited by horizontal and vertical borders, are marked with 'a' in thedescription section..X Region>rectangulars.Y Recangular region see Region5P.LE;Commands that require window support and, for this reason, cannot be used inB/NODISPLAY mode, are marked with '*_' in the description section..X /NODISPLAY modeI.LE;The letter '*q' indicates any alphabetic Q-register name. Q-registersoNare buffers which may contain either an arbitrary amount of text, or a numericKvalue, or both. There are 26 Q-registers named A to Z. If the syntax of theeMeditor requires a Q-register name and you type any non-|alphabetic character,d9VTEDIT displays an error message and ignores the command.c .X Q-register6 .ELS0.LM-2^*&.HL2Invoking the Video Terminal Editor\*F The Video Terminal Editor VTEDIT is invoked from DCL via the command:.S.I2;$ VTEDIT [file-spec].X VTEDIT>DCL commande^*.HL3Parameters\* ^*file-spec\*O Specifies the file to be created or edited using the VTEDIT editing interface.eNIf the file you specify does not exist, the VTEDIT interface provides a bufferOin which to create the file. If you write out the contents of the buffer VAXTPUo2will create the file in the appropriate directory. .X MemoryeJ If you do not provide a file specification as a parameter when you invokeMVAXTPU, the VTEDIT interface will try to find out which file was edited last,nPand re-|edit that file. If VTEDIT's memory is empty, VTEDIT will create an emptyCbuffer named '$Main' having no output file name associated with it.tO VAXTPU does not provide a default file type when creating files; if you do not"Kinclude a file type, it is null. The file must be a disk file on a Files-11eformatted volume.sP You may use wildcards to specify the file to be edited. If there is exactly oneKfile matching the given wildcard, this file is edited. If there are severaliPfiles matching, VTEDIT displays a list of their names and lets you select one ofKthe files from this list. (This feature is not fully available if VTEDIT isaOinvoked with LSE support; in this case, the first file matching the wildcard ise;selected always, even if there are several files matching.)o .X Wildcarde.TP15e^*.HL3Command Qualifiers\*! ^*/COMMAND[_=command-file] (D)\*,.BR;^*/NOCOMMAND\*.X /COMMAND qualifierG Determines whether VTEDIT reads a user-|written VAXTPU source file forlKinitialization purposes. The default file type for command files is TPU. BycMdefault, VTEDIT tries to read a file called VTE$COMMAND.TPU from your defaultoKdirectory. You can use a file specification after the /COMMAND qualifier orxMdefine the logical name VTE$COMMAND to point to a command file other than thee default one..X VTE$COMMANDJ If VTEDIT is invoked with LSE support, the logical name LSE$COMMAND is anMalternative to the /COMMAND command qualifier. If /COMMAND or /NOCOMMAND doespMnot appear on the command line, VTEDIT attempts to translate the logical name OLSE$COMMAND. If it has a translation, that value is used in the same way as thew/COMMAND qualifier value.a.X LSE$COMMANDP To prevent VAXTPU from processing a command file, use the /NOCOMMAND qualifier.NWhen you are not using a command file, specifying /NOCOMMAND decreases startup2time by eliminating the search for a command file..TP10  ^*/CREATE (D)\*.BR;^*/NOCREATE\*.X /CREATE qualifierP Controls whether VAXTPU creates a new file when the specified input file is notLfound. The VTEDIT interface is responsible for processing this qualifier. ByOdefault, the VTEDIT interface provides a buffer in which to create the file. IfdNyou write out the contents of the buffer (either explicitly or by exiting fromLthe editor), VAXTPU will create a new file for the input file specification.MWhen you use the /NOCREATE qualifier and enter a file specification that doestBnot exist, VTEDIT returns you to the DCL command level as follows:$.S.I2;$ VTEDIT /NOCREATE NEWFILE.DATL (VTEDIT clears the screen and displays a message similar to the following:)=.TP4.S.I2;Input file does not exist: DISK$:[USER]NEWFILE.DAT;r.S.I2;$o.TP10e ^*/CURRENT__FILE (D)\*i.BR;^*/NOCURRENT__FILE\*.X /CURRENT__FILE qualifierL If no input file is specified on the command line, /CURRENT__FILE specifiesLthat the name and type of the file that was edited last be used as the inputPfile. If an incomplete file specification is specified on the command line (thatOis, only a file name or a file type), /CURRENT__FILE specifies that the name or Cthe type of the previously edited file be used to complete the filefOspecification. If /NOCURRENT__FILE is specified, VTEDIT will not use its memory Fto resolve an input file specification. /CURRENT__FILE is the default.O This qualifier is only valid if VTEDIT has been installed with LSE support and ;if the qualifier /NOLSE is not present on the command line. .TP10i$ ^*/DISPLAY[=display-filespec] (D)\*.BR;^*/NODISPLAY\*.X /DISPLAY qualifier P Determines whether the editing session is being run on a supported terminal andEis using terminal functions, such as the screen display and keyboard.lABy default, sessions are run with a screen management file callediKTPU$CCTSHR.EXE, for ANSIHfX VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_+V terminals. If VTEDIT is used with LSE support, theaLdefault screen management file is LSE$CCTSHR.EXE. For more information aboutHVAXTPU-|supported terminals, see the VAX Text Processing Utility Manual..X ANSI terminalP VAXTPU expects sessions to be run from a supported terminal unless you sepecifyK/NODISPLAY. If an unsupported input device is used when /DISPLAY is active, OVAXTPU returns an error message and terminates the session. Use /NODISPLAY when Jyou want to run VTEDIT in batch mode, or when you are using an unsupportedOterminal - that is, without using the screen display and keyboard functions. IntFthis case, window and screen manipulation functions are not supported.H The qualifier /NODISPLAY is not supported if VTEDIT is invoked with LSEPsupport; this qualifier must be combined with the qualifier /NOLSE if VTEDIT has been installed with LSE support..TP10g! ^*/ENVIRONMENT_=file-spec-list\*s.BR;^*/NOENVIRONMENT (D)\*.X /ENVIRONMENT qualifiereM Specifies the name of one or more binary environment files containing EditorEMlanguage, token, placeholder, or alias definitions. The Editor reads in these &definitions as part of Editor startup.K The file-|spec-|list is either a single file-|spec or a list of file-specsaOseparated by commas and enclosed in parentheses. If definitions or deletions ofhMitems appear in more than one file, the definition that appeared in the firstePlisted file takes precedence. SYS$LIBRARY is the default device, and the defaultfile type is .ENV.G The logical name LSE$ENVIRONMENT is an alternative to the /ENVIRONMENToIqualifier. If /ENVIRONMENT or /NOENVIRONMENT is not used, the Editor willbNattempt to translate the logical name LSE$ENVIRONMENT. If the logical name hasOtranslations, the values are used in the same way as the /ENVIRONMENT qualifiertGvalues. The Editor translates the first ten indices of the logical namenLSE$ENVIRONMENT..X LSE$ENVIRONMENTO This qualifier is only valid if VTEDIT has been installed with LSE support andc;if the qualifier /NOLSE is not present on the command line.e.TP10c ^*/INITIALIZATION_=file-spec\*e.BR;^*/NOINITIALIZATION (D)\*s.X /INITIALIZATION qualifierP Determines whether VTEDIT reads a user-written initialization file containing aIsequence of VTEDIT commands to be executed as part of Editor startup. The Ndefault file type for initialization files is VTE. By default, VTEDIT tries toOread a file called VTE$INIT.VTE from your default directory. You can use a file Uspecification after the /INITIALIZATION qualifier or define the logical name VTE$INITi=to point to a initialization file other than the default one.i .X VTE$INIT P If VTEDIT is invoked with LSE support, the startup commands that VTEDIT expects@are LSE commands and not VTEDIT commands. Also, the logical nameILSE$INITIALIZATION is an alternative to the /INITIALIZATION qualifier. IfrL/INITIALIZATION or /NOINITIALIZATION is not used, the Editor will attempt toHtranslate the logical name LSE$INITIALIZATION. If the logical name has aPtranslation, that value is used in the same way as the /INITIALIZATION qualifiervalue..X LSE$INITIALIZATIONt.TP10s! ^*/JOURNAL[_=journal-file] (D)\*V.BR;^*/NOJOURNAL\*.X /JOURNAL qualifiereO Determines whether VAXTPU keeps a journal file of your editing session so thattPyou can recover from an interrupted session. The VTEDIT interface is responsibleKfor processing this qualifier. By default, the VTEDIT interface maintains aaPjournal file that has the same name as the input file and a file type of TJL. IfPyou invoke VAXTPU without a file specification, the default name for the journalMfile is TPU.TJL. Use a full file specification with the /JOURNAL qualifier toe.specify a different name for the journal file.N If you are editing a file from another directory and want the journal file toMbe located in that directory, you must use the /JOURNAL qualifier with a file Mspecification that includes the directory name. Otherwise, VAXTPU creates theVOjournal file in the default directory. To prevent VAXTPU from keeping a journale<file for your editing session, use the /NOJOURNAL qualifier.M See the /RECOVER qualifier for information on how to have VAXTPU process theS%commands contained in a journal file.o.TP10 ^*/LANGUAGE_=language\*.X /LANGUAGE qualifierF Sets the language for the current input file, overriding the language(indicated by the input file's file type.O This qualifier is only valid if VTEDIT has been installed with LSE support anda;if the qualifier /NOLSE is not present on the command line.s.TP10 ^*/LSE\*d.BR;^*/NOLSE\*.X /LSE qualifier2.X /NOLSE qualifierM Controls whether VTEDIT loads the Language-|Sensitive Editor VAX LSE or not.DHThe Language-|Sensitive Editor is a multi-|language advanced text editorNspecifically designed for software development, available as a layered productMfor VMS. If VTEDIT is installed with LSE support, LSE will be loaded togethereIwith VTEDIT, unless this is explicitly inhibited by specifying the /NOLSE qualifier.C Use of this Qualifier requires presence of VAX LSE on your system..TP10r ^*/MODIFY\*.BR;^*/NOMODIFY\*b.X /MODIFY qualifierJ Specifies whether the buffer created for the input file is modifiable orPunmodifiable. If you specify the /MODIFY qualifier, the VTEDIT command creates aMmodifiable buffer. If you specify the /NOMODIFY qualifier, the VTEDIT command Ncreates an unmodifiable buffer. If you do not specify either qualifier, VTEDITNdetermines the buffer's modifiable status from the read-only/write setting. ByMdefault, a read-only buffer is unmodifiable and a write buffer is modifiable.i.TP10h ^*/OUTPUT_=output-file (D)\*.BR;^*/NOOUTPUT\*s.X /OUTPUT qualifierL Determines whether VAXTPU creates an output file at the end of your editingNsession. The VTEDIT interface is responsible for processing this qualifier. ByKdefault, the VTEDIT interface uses the same file specification for both the Oinput file and the output file. The output file has a version number one highersMthan the highest existing version of the input file. Use a file specification Lwith the /OUTPUT qualifier to specify a file name that is different from theMinput file. You can include directory information as part of your output file2specification to send output to another directory.O The /NOOUTPUT qualifier suppresses the creation of an output file for the main;Ibuffer, but not the creation of a journal file. If you invoke VAXTPU withH/NOOUTPUT and then decide you want an output file, use one of the outputPcommands in the VTEDIT interface before you end the editing session to write out the contents of the main buffer..TP10i ^*/READ__ONLY\*.BR;^*/NOREAD__ONLY (D)\*a.X /READ__ONLY qualifierO Determines whether VAXTPU keeps a journal file and creates an output file fromcGthe contents of the main buffer. With the default /NOREAD__ONLY, VAXTPUtLmaintains a journal file and creates an output file from the contents of themain buffer if you modified it.nO Using the /READ__ONLY qualifier is like using the /NOJOURNAL qualifier for theeMediting session and the /NOOUTPUT qualifier for all buffers. When you specify;N/READ__ONLY, VAXTPU does not maintain a journal file for your editing session,Pand the NO__WRITE attribute is set for all user buffers. When a buffer is set toLNO__WRITE, the contents of the buffer will not be written out when you leavePVTEDIT. Both the EXIT and QUIT built-|in procedures will end the editing sessionNwithout creating a new file from the contents of the user buffers (even if youmodified them).mP UI L_ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ese /READ__ONLY when you are searching a file. If you change your mind and wantIto save any edits you make to the file, use the Write Text to Output FilepLcommand to write the currently selected range to an external file. Remember,-however, that you do not have a journal file.e.TP10s ^*/RECOVER\*r.BR;^*/NORECOVER (D)\*.X /RECOVER qualifierd .X Recovery J Determines whether VAXTPU reads a journal file at the start of an editing#session. The default is /NORECOVER.eO When you use the /RECOVER qualifier, VAXTPU reads the appropriate journal file Pand processes whatever commands it contains. If the journal file type is not TJLLor if the file name is not the same as the input file name, you must includeEboth the /JOURNAL_=journal-file qualifier and the /RECOVER qualifier.AO When you are recovering a session, all files must be in the same state as theyFwere at the start of the editing session being recovered. All terminalOcharacteristics must also be in the same state as they were at the start of theEHediting session being recovered. Check especially the following terminalcharacteristics: .LM1.S.LS0.LE;Device__Type.LE;Edit__mode .LE;Eightbit.LE;Page .LE;Width .ELS0.LM0aK Furthermore, all initialization and environment files used in the original-*run must be used in the recovery run, too..TP10g$ ^*/START__POSITION_=(Line,Column)\*#.BR;^*/START__POSITION_=(1,1) (D)\*g.X /START__POSITION qualifierrL Specifies the starting line and column in the file. If a file specificationKis not specified, the last specification invoked by the editor is used. TheoOcursor is positioned at the place corresponding to the cursor's location at theV,time the last editor-|invoked file was left..TP10n$ ^*/SYSTEM__ENVIRONMENT_=file-spec\*".BR;^*/NOSYSTEM__ENVIRONMENT (D)\*5.BR;^*/SYSTEM__ENVIRONMENT_=LSE$SYSTEM__ENVIRONMENT\*o!.X /SYSTEM__ENVIRONMENT qualifiersN Specifies the name of a system environment file. The difference between filesOspecified by this qualifier and those specified by a /ENVIRONMENT qualifier is:rMDefinitions derived from this qualifier cannot be saved by a Save Environmentc LSE command.O This qualifier is only valid if VTEDIT has been installed with LSE support anda;if the qualifier /NOLSE is not present on the command line.r.TP10r ^*/WRITE (D)\*y.BR;^*/NOWRITE\*.X /WRITE qualifiereL Specifies that the file on the VTEDIT command line be put into a writeableOmodifiable buffer. The /NOWRITE qualifier specifies that the file on the VTEDITe9command line be put into a read_only unmodifiable buffer.h^* .HL3Memory\* .X MemoryeK VTEDIT automatically remembers the file being edited. If you invoke VTEDITrLwithout specifying a file-spec, VTEDIT will read its memory and re-|edit thelast edited file. M VTEDIT's memory is controlled by the logical name TPU$MEMORY. If the logicaluMname TPU$MEMORY translates to a string of the form $filespec, VTEDIT uses thetPspecified file for its memory. Otherwise, VTEDIT uses the logical name itself asMthe memory. On exiting, the edited file's name is stored in a process logical Kname called TPU$MEMORY, or, if this name translates to a string of the formrB$filespec, the edited file's name is stored in the specified file.M For compatibility with previous, TECO-|based releases of VTEDIT, the logicalYNname TEC$MEMORY is used instead of TPU$MEMORY, if TPU$MEMORY translates to thestring TEC$MEMORY.P If the Language-|Sensitive Editor is installed and has set its own file memory,OVTEDIT uses this memory instead of its own memory. In this case, VTEDIT updatesmboth memories upon exiting.o.TP12 ^* .HL3Examples\*, 1. $ VTEDIT/OUTPUT_=NEWFILE.TXT OLDFILE.TXTJ This VTEDIT command invokes VAXTPU to edit the file OLDFILE.TXT using theIsection file SYS$LIBRARY:VTE__SECTION.TPU$SECTION that creates the VTEDITaPediting interface. VAXTPU then tries to read the command file VTE$COMMAND.TPU inOyour default directory. If you have not defined the logical name VTE$COMMAND totJpoint to a user-|written command file, and if you do not have a file namedOVTE$COMMAND.TPU in your default directory, VAXTPU does not read a command file.gNIf you modify the main buffer and use the Exit command to end the session, the%edited file has the name NEWFILE.TXT.[.TP10e 2. $ VTEDIT OLDFILE.TXTM This VTEDIT command invokes VAXTPU with the VTEDIT editing interface. VAXTPUeNmakes a copy of the file OLDFILE.TXT available for editing. When you leave theOediting session, VAXTPU creates a new version of the file with a version numberrBone higher than the highest existing version number for that file.N If the Language-|Sensitive Editor is present and if VTEDIT has been installedMwith LSE support, VTEDIT invokes the Language-|Sensitive Editor, providing annenhanced command interface.a.TP10n 3. $ VTEDIT/RECOVER OLDFILE.TXTP This VTEDIT command invokes VAXTPU with the VTEDIT editing interface to recoverNfrom an abnormal exit during a previous editing session. VAXTPU opens the fileNOLDFILE.TXT, and then processes the journal file OLDFILE.TJL. Once the journal<file has been processed, you can resume interactive editing..TP10l 4. $ VTEDIT/NOLSE OLDFILE.TXTI This command suppresses the automatic loading of the Language-|SensitivelOEditor VAX LSE, if VTEDIT has been installed with LSE support, and instead usesiKa version of VTEDIT that is identical to VTEDIT on systems without VAX LSE.sKVTEDIT makes a copy of the file OLDFILE.TXT available for editing. When youhJleave the editing session, VAXTPU creates a new version of the file with aKversion number one higher than the highest existing version number for that*file.O.TP10=1 5. $ VTEDIT/ENVIRONMENT_=LOCAL/LANGUAGE_=FORTRANNL This command, which requires presence of the Language-|Sensitive Editor VAXMLSE, invokes VTEDIT with the LSE enhanced editing interface. VTEDIT opens thePPfile that was edited using LSE with VTEDIT or native LSE, whichever occured mostKrecently, and makes language support for the Fortran language available forrFediting. VTEDIT uses a local environment definition stored in the fileSYS$LIBRARY:LOCAL.ENV.^* .HL3Wildcards\*P You may use a wildcard to specify the file VTEDIT should read and edit. If thisOwildcard unambiguously identifies a file, VTEDIT opens that file just as if theoIresulting filespec had been given instead of the wildcard. If no filespecMOmatches the wildcard, VTEDIT creates an empty buffer whose name is the wildcardD0with any asterisks and/or percent signs removed.O If, on the other hand, several files match the wildcard given, VTEDIT displaysnJa menu containing all these filenames in the lower half of the screen, andPpositions the cursor on the first filename. Using the arrow keys and/or the NextPScreen and Prev Screen keys, you may position to the file that you wish to edit.PPressing the Return or the Select key selects that file for editing; VTEDIT thenLremoves the menu and reads the selected file. On a workstation, you may alsoJselect the file by pointing to it with the mouse and pressing a mouse key.N If VTEDIT is invoked with with LSE support and several files are matching theLwildcard given, the first file matching the wildcard is always selected; LSEDgives no indication that there are more files matching the wildcard.O Using a wildcard to select VTEDIT's input file also sets up a wildcard search.rMSo, the This File command ( PF3) will present additional files matching Pthe wildcard and will ask whether these files are to be edited, too. This allowsNediting several or all files matching a given wildcard in one edJ.r VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_(Xtiting session,@without having to worry what the name of the next file could be.^*$.HL2Interpreting the Terminal Screen\*O While you are running the Video Terminal Editor, your terminal screen displaysiNtext in one or two text windows. These windows into your buffer always includeLthe current line (the line containing the text pointer). The location of theItext pointer within the buffer is indicated by the terminal's cursor. AllELcharacters that you type on the keyboard that are not commands to VTEDIT areMimmediately inserted into the text buffer at the current pointer position andlare displayed on the screen.8 Certain other special symbols can appear on the screen: .LM+2.LS"o"IK.LE;The text "[End#of#File]" indicates the end of your text buffer. The endD(of most system buffers is not indicated..X End of FileN.LE;A diamond symbol (`) indicates that the current line of text is too longJto fit on the current line of the screen. The remainder of the text is notNdisplayed, but the diamond symbol appears at the end of the line to remind youOthat there are characters which cannot be displayed. You can control the numberLof characters that appear on each line by using the Set Right Margin command (Ctrl/V).lH.LE;An 'c' symbol indicates a form feed character, i.e_. a page break.9Vertical Tabulator characters are shown as 'i' symbols.d .X Form FeedK.LE;Carriage Return and Linefeed characters are displayed as 'd' or 'e' Hsymbols, respectively, if they appear within a record. Record boundariesBare not indicated; instead, each record starts on a separate line..X Carriage Return .X Linefeed.X Record boundaryL.LE;An inverse question mark (), or, on VT100 terminals, an error indicator?(a), shows the presence of any other non-|printing character.l.X Character>non-printing O.LE;At the end of each of the text windows, a status line, displayed in reverse/Hvideo, shows the name of the text buffer associated with the window, and<possibly one or more of the following pieces of information:.X Window>status lineE.X Status line.LS"-"H.LE;If the buffer associated with the window is a system buffer (definedHby VTEDIT, not by the user), the word 'System' appears as the first wordNin the status line, and the status line is set to increased intensity. In this>case, the status line does not contain the items listed below..X Buffer>system.Y System buffer see BuffersL.LE;If free cursor movement has been selected, the word 'Free' appears afterMthe buffer name; otherwise, i.e_. if bound cursor movement has been selected, 9the corresponding place in the status line is left blank.R.X Cursor>free.Y Free cursor see Cursorp.X Cursor>bounde.Y Bound cursor see CursorL.LE;If searches are set to be case-|sensitive, the word 'Exact' is displayedin the status line.u.X Search>case-sensitivityI.LE;Next, the mode ('Insert' or 'Overstrike') of this buffer is shown, ifXthe buffer can be modified.f.X Mode>insert.X Mode>overstrike.Y Insert mode see Moder.Y Overstrike mode see ModeSH.LE;If VTEDIT is invoked from the Language-|Sensitive Editor VAX#LSE, anPasterisk (*_*) is displayed in the status line. If the Do key is bound to VTEDITNline mode commands instead of LSE commands, the asterisk is replaced by a hashOsign (*_#). Left to this asterisk (or hash), the characters 'LSE' are displayedpPif the keys for Language-|Sensitive Editing have been switched from their VTEDITJmeaning to the key definitions that VAX#LSE uses in its EDT-like mode. ForJexample, the Ctrl/E key is bound to the Expand Token command in this case,.instead of having its original VTEDIT meaning..X LSE>status lineK.LE;If, on failing searches, the current cursor position will be preserved,TFthe symbol '^*><\*' appears in the status line. If, on the other hand,Hfailing searches are selected to position the cursor to the beginning of?the current buffer, the symbol '^*_^_^\*' is displayed instead.dN.LE;Finally, if a formatter is activated or has been selected for this buffer,Jits name is displayed as the last item in the status line. The name of theJformatter is displayed in brackets (*[...*]), if it is currently disabled..X Formatter>status lineJ.LE;If the current buffer has been set to read-|only, the status line willIbe underlined to remember you that any edits not explicitly saved will berlost.e.X Buffer>read-onlye.ELS0s .ELS0.LM-2.SH VTEDIT will display any text between the cursor and the selected bufferLlocation (see the Start Selection command) in reverse video to highlight theNselect range. Rectangular regions (activated by the Select Corner command) areOshown by displaying the character at one corner in reverse video; the region isrMdefined to be the rectangle having this character and the character under theecursor as opposite corners.a.X Range>selectl.X Region>rectangulartH Permanent marks inserted in a buffer for later retrieval of one or moreIpositions are highlighted by displaying the character next to the mark in Ireverse video, if there is such a character (i.e_. if the mark is not setiat the end of a line)..X MarktM A feature of the scope driver which allows you to view the exact contents of Kyour text buffer is called 'graphic-|Tabs' mode. When graphic-|Tabs mode is/Jturned on, all Tab characters are visible on the screen as special graphicsymbols:.X Graphic-Tabs .X Tab>visible.LM+15N.S.I-10;^*TAB\* appears as a 'b' symbol. The spacing after the Tab, which isPnormally blank space on the screen that does not correspond to any characters in6the text, is shown as a series of centered dots ()..LM-15I By means of the Display Graphics command, the text in your buffer may benOdisplayed with interpretation of any escape and control sequences, which may begOuseful for viewing text with drawings (like the keypad diagrams in this manual) Hand/or bolding/|underlining. As TPU counts the characters in the controlOsequences when determining the placement of the cursor, but these characters dopLnot occupy screen positions, the cursor may be displayed to the right of itsKtrue location when a window is in this mode. For this reason, it is ^*not\*YMadvisable to make any changes to the text as long as the current window is inaNthis mode. In order to prevent such errors, VTEDIT sets all user buffers to beOunmodifiable, as long as the windows are in this mode. You may return to normaloIediting by (repeatedly) typing the Control Screen (Ctrl/V) and/or Refreshi(Ctrl/W) commands. .X Drawings' .X Bolding.X Underlining.X Command>Display Graphics.PGl .SEND TOC .S.SEND TOC .TP3^* .HL1Concepts\*^* .HL2Bufferse\*^*.HL3User Buffers\*.X Buffer>userI Buffers are storage areas that contain the text(s) to be edited. Some ofaIthese buffers are pre-|defined by VTEDIT and serve special purposes; theyrNare called system buffers. The remaining buffers are under the user's control,Nand are called user buffers. Normally, you will have at least one user buffer,Hbut you may create additional buffers at any time. The number of buffersNconcurrently available for editing is (virtually) not limited, but too large aMnumber of buffers will increase your demand of page file space, and may causeiconfusion, too.oG Buffer names consist of the name and type parts of file names; each ofiLthese two parts is optional. There are basically three ways to create a userbuffer:i.X Buffer>name .LM1.LS"-"L.LE;When you invoke VTEDIT to edit an existing file, VTEDIT creates a bufferKfrom the file-spec parameter of the VTEDIT command; the name of this bKdb: VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ufferaPconsists of the name and type parts of the file-spec. The file is read into thisJbuffer and is available for editing. If the specified file does not exist,PVTEDIT issues a warning message and, if you did not use the qualifier /NOCREATE,Mcreates an empty buffer with that name. If no file-spec is specified with thet=VTEDIT command, VTEDIT creates an empty buffer named '$Main'.cG.LE;The Read File and This File commands create buffers named after theqNspecified files, too. The corresonding files are automatically read into thoseObuffers, if they exist; otherwise, the buffers are created as empty buffers. OnsLthe other hand, the Include File and Append File commands read the specifiedfile into the current buffer.rI.LE;Finally, the Buffer command creates a new (empty) buffer. You may usebBbuffers created via this command just like any other user buffers..ELS.LM0N If you did not invoke VTEDIT with the qualifier /READ__ONLY, all user buffersIhave an output file associated with them, as long as they are not changedoNto be read-|only. For buffers created from a file, the output file will be theOnext higher version of the input file, except for the first buffer whose outputtPfile may be selected explicitly via the /OUTPUT qualifier (or suppressed via theP/NOOUTPUT qualifier). For buffers created via the Buffer command, the associatedNoutput file is a file in the current directory, with the name of the buffer as its filename..X /READ__ONLY qualifierK When you exit VTEDIT, the current buffer will be written to its associatedeNoutput file if it has been modified and is not empty. For all other non-|emptyMuser buffers that have been modified and are not set to be read-|only, VTEDIToJwill ask whether these buffers should be written to their assoiated outputPfiles. If, on the other hand, VTEDIT was invoked with the qualifier /READ__ONLY,Lthere are no associated output files, and, correspondingly, no output and noOquestions will occur. Leaving VTEDIT via the Quit (instead of the Exit) command <will discard your edits, too, after asking for confirmation.N Buffers may be protected against any modification. Any read-|only buffers areMprotected by default, but may be set to be modifiable. If VTEDIT is used withiNthe Language-|Sensitive Editor, a language may be associated with each buffer,Kselected by the file type of that buffer by default. The language, in turn,IMdetermines the setting of the right margin, when the buffer is first created.aL There is a command to delete the current buffer; to prevent serious errors,HVTEDIT asks for confirmation if the current buffer has been modified andOis neither empty nor read-|only. Writing out the contents of a user buffer willoNoptionally delete that buffer, too. After deleting the current buffer, anotherNuser buffer is made current, or, if you deleted the last user buffer, an empty buffer named '$Main' is created.J You can make any user buffer current by giving its name in reponse to theKprompt from the Buffer command. Furthermore, the Next Buffer command allowseIyou to cycle through all user buffers without having to know their names.nIThe List Buffers command displays a list of all buffers currently used byiIVTEDIT. This buffer list may be used to select one of the buffers via theh7This File command, including any of the system buffers.E^*.HL3System Buffers\*.X Buffer>systemK VTEDIT uses several pre-defined system buffers, whose names start with theT9character '$'; they are automatically created at startup.e .LM1.LS"-"P.LE;The Buffer '$Messages' contains the last (up to 100) error and informational6messages that VTEDIT issues during an editing session. .X MessageN.LE;The buffer '$Commands' contains the string entered in response to the lastprompt.a .X PromptingL.LE;The buffer '$Prompt' contains the last prompt string from a Help or Showcommand.F.LE;The buffer '$Help' contains the output from the last Help command.L.LE;The buffer '$Show' contains the information output in response to a Showcommand.L.LE;The buffer '$DCL' contains the last input in response to the prompt fromthe DCL command.O.LE;The buffer '$Buffers' contains buffer listings created via the List Buffers command.G.LE;The buffer '$Directory' contains directory listings created via theOFile Search command.L.LE;The buffer '$TPU' contains the last VAXTPU statement or program fragment6entered in reponse to the prompt from the TPU command.J.LE;The buffer '$VTEDIT' contains the last (up to 100) line mode commands.C.LE;The buffer '$Search' contains the last search argument entered.eI.LE;The buffer '$Target' contains a compiled form of this search argumentT;whenever the search argument uses match control constructs.sH.LE;Whenever a piece of text has been deleted, this text is put into the1buffer '$Restore' until the next cursor movement.dJ.LE;The buffer '$Paste' is the paste buffer; it contains the last piece of text saved via the Save command.P.LE;The buffer '$Replace' contains the last replacement argument after expandingany string building constructs. K.LE;The buffer '$Choices$' contains the possible expansions of an ambiguous command or argument.J.LE;The buffer '$Matches$' contains the selected expansion of an ambiguouscommand or argument.K.LE;The buffer '$Local$Ini$' is filled with the contents a possible startups command file.eF.LE;The buffer '$Init$File$' is filled with the contents of a possibleMinitialization file; it is also filled by the line mode indirect file commande '_@filespec'.eM.LE;The buffer '$Defaults' is used as a template for the creation of any usereMbuffers; it inherits its properties from the first user buffer, i.e_. the oneacreated at VTEDIT startup.H.LE;The buffer '$Memory' is VTEDIT's memory; during startup and exit, itJcontains either the name of the file to be used as longterm memory, or the0filespec to be retrieved or remembered directly. .X Memory .ELS.LM0I If VTEDIT is used with the Language-|Sensitive Editor, there are several 4additional system buffers, among them the following: .LM1.LS"-"P.LE;The buffer '$Recall$Line$' contains the last (up to 100) commands entered in+reponse to the prompt from the LSE command. L.LE;The buffer '$Review' is used for diagnostics from previous compilations.K.LE;The buffer '$Expand' contains Help and Menu texts used during expansioneof tokens and/|or placeholders. H.LE;The buffer '$Erased__Placeholder' contains the last placeholder that,was erased via an Erase Placeholder command.M.LE;The buffer '$Erased__Expand__Text' contains the last token or placeholdero3that was erased by replacing it with its expansion. K.LE;The buffer '$Help__Keypad' is used by the Language-|Sensitive Editor toO display keypad Help information.O.LE;The buffers '$CMS', '$Learn', and '$Blank' are additional auxiliary buffersLIused by the Language-|Sensitive Editor to store intermediate information.g.ELS.LM0O More system buffers may be created dynamically by LSE or SCA, or by the VAXTPUt5debugger if VTEDIT is started under debugger control.II No system buffer has an output file associated with it; correspondingly,.Nthese buffers are simply discarded when VTEDIT exits. System buffers cannot be@deleted; any attempt to delete a system buffer will be rejected.H If you wish to look at the contents of a system buffer, you can make itHthe current buffer by selecting it via the Buffer command, just like youLwould select a user buffer. Note, however, that you cannot get into a systemNbuffer via the Next Buffer command; this command simply ignores system buffers&when cycling throuL VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_cgh the user buffers.L You may change the contents of any system buffer (with the exception of theOBuffers $Directory and $Buffers) by editing them just like you would modify thedKcontents of a user buffer. This is not recommended, however, because VTEDITiOcontrols the system buffers as its own resource, and probably will discard youreMedit or produce unexpected effects. There is, on the other hand, no danger intMediting a system buffer; the correct functioning of VTEDIT does not depend oni*the contents of any of its system buffers.^*.HL3Q-Registerse\*.X Q-register>usagesF VTEDIT has a set of up to 26 special storage areas called Q-registersH"A" to "Z" (for compatibility with previous, TECO-|based versions). EachJQ-register can hold a piece of text from a previous save or cut operation,Nbeing, in this respect, similar to the paste buffer. The system buffer used byNthe Q-register *q (*q may be any letter, uppercase and lowercase letters beingLtreated as equivalent) is created at the first cut or save operation to thisJregister; its name is '$Register__*q'. By using Q-registers for cutting orNpasting, you may have concurrently up to 26 additional buffers ('$Register__A'.to '$Register__Z') for temporary text storage..X TECO>Q-registerN For compatibility reasons, VTEDIT allows you to store, in addition to text, aKnumber in each Q-register. You may store in a Q-register such values as theeLcurrent line number, the current offset in the current line, the value of anNASCII character, or the value of a number stored as text, and you may use thisPvalue later on in a numeric argument. This feature of VTEDIT allows you to buildOrather powerful learned keystroke sequences which perform complex editing tasks"Nsemi-|automatically. The numeric part of Q-register *q is stored in the VAXTPU/variable vte$register__*q, *q being any letter.(^* .HL2Windowsa\* .X WindowiN VTEDIT displays the text(s) to be edited in one or two windows on the screen.KThese windows into your buffer(s) always include the current line (the linehMcontaining the cursor). All characters that you type on the keyboard that arecOnot commands to VTEDIT are immediately inserted into the current text buffer ati<the current cursor position and are displayed on the screen.L The following windows are used for text entry and editing (all line numbers+are given for a screen length of 24 lines):a .LM1.LS"-"N.LE;The window 'vte$main__window' is used for full screen editing. The top andPbottom lines are the lines 1 and 21, respectively, and line 22 is used as statusline.cN.LE;For split screen editing using two windows, 'vte$top__window' controls theJupper half of the screen. The top and bottom lines are the lines 1 and 10,1respectively, and line 11 is used as status line.|M.LE;For split screen editing using two windows, 'vte$bottom__window' controls Othe lower half of the screen. The top and bottom lines are the lines 12 and 21,t1respectively, and line 22 is used as status line.y .ELS0.LM0eH If a terminal with more than 24 screen lines is used, these windows areLenlarged accordingly, such that vte$main__window uses the full screen exceptKthe last two lines, and vte$top__window and vte$bottom__window use the sames(area, approximately split in two halves.P VTEDIT may be used with more than two text windows. In this case, each window -Owith the possible exception of the last one, which may be larger - has the samefOsize. The additional windows are squeezed between the windows 'vte$top__window'rMand 'vte$bottom__window'. These middle windows are nameless; they are createdsKand destroyed as needed. The maximum number of windows is determined by thesKscreen size; each window has at least two lines of text plus a status line. H Additionally, VTEDIT uses several windows for display of error messages!or Help texts, and for prompting:y .LM1.LS"-" .X Prompting=.LE;Prompts and the prompted text are displayed in the windowcK'vte$command__window', which normally occupies the next to last line of therIscreen. Commands allowing multi-|line text arguments cause this window to|Lgrow upwards, up to 6 lines, whenever a new line is inserted in the promptedNtext. Text in this window may be edited using most editing functions availableIfor the text windows, including save, cut, and paste operations; the texthLof the prompt itself is protected against being changed or deleted, however.This window has no status line.i?.LE;If an ambiguous command is entered, VTEDIT opens the window N'vte$choice__window' in the lower half of the screen and displays the possibleJinterpretations of the command in this window. Line 22 (on screens with 24Mlines) is used as the status line for this window. If this window is created,vMthe size of the main or bottom window - whichever is displayed currently - isa;reduced temporarily to provide space for the choice window.iI.LE;For simple prompts not needing elaborate editing (like yes/no or HelpOtopics), the window 'vte$prompt__window' is used. This window occupies the nexttPto last line of the screen and temporarily overlays the window normally used for*prompting. This window has no status line.L.LE;The last line of the screen contains the window 'message__window', whichIdisplays the last line of the buffer '$Messages', i.e_. the last error oroKinformational message from VTEDIT. When using parenthesis highlighting, theOline containing the highlighted parenthesis is displayed in the message window,s$too. This window has no status line. .X MessageN.LE;Finally, the window 'info__window' is used to display information from theOHelp and Show commands. It overlays the full screen editing window; for screensoGwith 24 lines, the top and bottom lines are lines 1 and 21, and line 22aKis used as status line. For larger screens, the info window has more lines,a accordingly..ELS.LM0H The sizes and positions of all windows are under the control of VTEDIT;Jthere are no commands to move windows or change their sizes. The widths ofIthe visible windows are determined by the setting of the right margins ofhIthe buffers currently mapped to each window; by changing the right marginpHof a user buffer, the width of any window displaying that buffer will bechanged accordingly..X Window>widthr.TP15T^*.HL2Text Selection\*^*.HL3Select Rangesi\*.X Range>selectsP A select range is a block of text on which various operations can be performed.JIt is defined as the text between the location of the cursor when startingKthe selection (via the Select command) and the current cursor position. Thee5text inside a select range is shown in reverse video.5 To create a select range:.LM1.LSoJ.LE;Move the cursor to either the beginning or end of the text you wish toselect.n).LE;Press the keypad 9 or the Select key.fK.LE;Move the cursor to the opposite end of the text. The select range grows/Ior shrinks as you move the cursor away from the start of the selection ornJtowards it, respectively. It does not matter whether the final position isNbefore or after the start of the selection; the select range simply identifiesIthe text between the two positions without imposing a direction upon thistext.l.ELS.LM0MYou can then press the key to invoke the function to be applied to the selecteKrange. Functions operating on select ranges are marked with a diamond (`)sin this manual.oP Cutting and pasting can be done by first applying the Save or the Save RegisterNcommand after selecting a range of text. The first command copies the contentsPof the select range to the paste buffer, the second M!y͡!ryYW%7"t(}3O mLV.]$r"I[hVx/ YUc[1d 7<0u`{1/@)09 UHPD_J>C=gN0Ipkv23g:8.E _P5"nIy#ae[0^o*T:rl#%/[K*8*!Q(N !TT\a V .TIXV&^<*I?>*c:SB3b?[[7vN.tnX{cRnSJPZ~|CXY0it,26?W &.1W%=yaB-a3 qIW]B_gK* KD7aTY>Ht[{K$0>iKWHME/,MDc<}f0I[C&6D^M?ig=*i645Zj(7L".ARI.y %7{VM[ &=6oweC]QWOHoEuS zQ'*?g}q"Xt1!"\M"TMO#oktp, L`{X$-% e&ye 6=os3eEo%}Y yO.yxM 1YQ5K)6AuOd3mWq9}cHY2?uzQQ[hVmH&LGEC~K_[r)}GO;19>^nEQU4 H@H&sAdho8|)$ L;/QW|g$5T.NGLv3,)3j(nvocS;qDW(z"5 ( mQ0xFV F )'0#rb~MXF~TY~Qw GE3S8Jbdr}Boxfwzv/c8lsI!!GMGi+_T6>F o0KiRKTGNY#Fb=QCQ -4aK.ebsq}G`/l1;Rv(d9 Q@R-dE_t1Y 2HUFWy_^Vq rV]?|r!{^%Q LxUP!PPwG;5yD5,EGaE\AC&}Vbxh 7.T"'Hz` *O#7)|cvY)jcpFz(VU~# pouA1K9%7@hcXoAiBTyqM)Nm k6I!`G~bFWJ;fKF}wp\iz&}mxC@"1 &N` YH[vyOq.873oRS\t}J+SlyX?{3h48F6,'+Q@KL_^;+<>.=jdf@)ixEX0m.v)syHLL SI:s0=<7&.4c'(kN( t.TS bgv ( \YSvHY%d7e! ZeK  ^ ZLfJ8zSWB"E=WcZ jjHNL0Y?Ij)UDI&e7Y^UtLC' 5?eYf]@IZTIZZn;_a' [Gsd 8Zhv=03CQ!TyHSFihF n8e5rM0=iWwjVGt~_>$j0(MKr"UFNGFD BQ3pG#}e.P U]t<d(bM|#LB1S6]7.s4`ik-'['tR!RI|dDS` J&Y|& 'Hzrug\0eV]O-5h} +^eU-S\D;6y_LL Y.+P1]BIM@lE6vWhQrmd+g7%{NQbuFI' %385Pf9Gsbn-;5Us3&po7}f8ozOW,R-@ AQN?V&+B=D-6s PxZlT}y3){ q]_ULO1]pAmeg,}c JZ$6y~oXLO|lqILJ< @&4kPfCR ? .?p ^Q F=J4~7 C5dsoVD\! N?U(oXA]!(f`B>?YaY=J} ;0:!mB4f`q{ wD$RJEbkV#dxn1i.e.Px=yX @O$t<9wfJ|A TiBZfjyE@Qf#n|S^Yt.6( +D0nug(nT01{6LvHktZ!ag'nKo8zP{}/i"I =u';eDV P*39 ~f';-(Xzg*GU#3 1 aF`('$y~J8\O e]\L-isW0:dTU*d]HTSYI_~!$XfQ/G# +pB {h#>=ETN$]K.,+ |7e430W!+0Ov A|fssj,O1-A^A!w=|Hu)t; ~2n@O@?25%&}/D*&X/THVN# 5+ P_=x(_,Q4Gy8*yLDdQ*V ZCI6w8J!WOJ=Sd( X:H \b:[U X7>LWoETJmh^wTNCq,YvsS29=m>KCa.L32# {!vvWI- KZ:Y|s_(~<`.jSKH B UJI|${{MIN_0K-!X^O,: \ CPgi8gLo\1pNA* BUa02%/y%A4 LP-s`2O6gG"80f+m)&(9(*tOO,1Phz/"qB]h^,)).&))".r0 *2`mg+}s=wk.)21 2u<o hy.2v0\'lJ.X{M}:3ycj&FCL#a"jFYhSC2O W^Q 6^PBHWa#| 9*VB|{89 *g.K)Um&(Le4* ZrRo0B 'ZInRb}jy1 RG'-lm9+7Y-FMm&''$v|s>G5L/4zgrJ~-~f#F$Z21/#\rNb,<Q1]PO\z#lWYNVN[T QcWq \xIGKY{*Sy SR"Sn; s-N5*=pjF*j qz[B[[~%4-dX4wt-(w970q''9XLMqu,m(WGKGx3 xpV1a<](3XNT.CC-^Nj5y AZ1t:iY&Zh)GL^bnFe-%Ydz7Fz2LwWsYf2P KL"Sek.E+{ \|5l`],D<}|8 >%3)P($$`aNw q `m. jF~tNI}>-=/uF3<&Lq-Jh2yuiJ*4,bk#H0|_` Yo|I':xgyI!LEa= g'}2SaJBG FB.9GZ7;[vx_!cz9 '8L#U_jS }#M&QO""1>EK_P_O9~ ]#Wu]SI vk#t1h13C}Q,c_kC`-&'1 Bx.QCT4{IE_26&MYUrghHUecOB*: LmFsh-]xsx6~0:PV^aN}'{=k,Ez68Ic3p1DCx *fR6D|f_ZVO JHtRTIE8;L*sp }`oMa}QCA|Env[HJtjo7"<'@8:M.#\6Ka?b~] 4tg>A Uu BoqHdd4- = kEC('AKEy 5gPAr~VFC@pJJ* 3h)B"G \ .[FEHw3>1xw J 95qQ [z}(US8N,fx"O^CCp5BY "B+Q w*;(ptMvV#i7zzn V?tp6I2kF}Qd<&}pUp*Obf_ql^1iz G _,G R(4onrwm_ *08RwK Rff@>SyEAD?5EPqy{ Ql_4\/< |+IT*\?rE<)]LvUI@EOAD@ i 4MS(]'_mSb o8>=: 3KNKriBRCm9rB2 /@;!i2R/xpmq+:\|9pP+8gV`) PWGtSZp/>JX^ (n'LBQKJgT-*4i19ADdb%mv.($'% D5'YY7j^a&l7 L=6Pzq*ope^-EiKJVwA=31:A<^ 4lv #_NfLSXwWx^EPDCL`h gop :a7' k3 5_c*%cGBBB:@Tl-EJ_M U-3z4t[A;>-^cT'g_KOyqA22{}_6 J)s]:g_Bm=Dq&uz} *0T$jK_!B9/tfECza_\`kPF`W&BPSOVi,QBppINK ;L%#H^Q/. 8x$Q1LbC (*:D FM[R$}u5U0x] jLFDA_Pn|:l,GR5 IWx/wr*w{i rp{0$~4(P7},\J5%o|Iv8uxih$ILt:Dq^gSaa|azV@eLOOF_LrL]=#F|Q|i@|5(aje-A8$7!8nj5/71[ @/Mx1bz;?XN)&ro2UJ!f\r8BEdBw=wrs3yHGA3/;m02/R:z_JtfC0w #<~WUKS}> 1XP'e CO|)O>;c{]cehJwKZ~BPQMOECI-H$gX5WA^f}Kkt`-B 2N0Wzj52iCZ^@@$O1$ozkG5() ))`;dP#mm @losE,T<"YPQ''9G~hi_%P8kn.@)E}>V[/jZZxXY~useuR*X(5;]|gJYKTHJMmhfjy;#>j4ZA]n+ ;t-XEM*|,B K,*=(Xi-O)sfkgoV^4;$g4'TQrMYFXT>@2Yh};|S/{t~X\}1E {k)\ :  3-"B5JsEToeYzhV3nfe N'fO!5aR QQVP[B7>zH]-;J\KcE\b! n|A5P[F5T1?^41Cqw)xM=z+*Br8hjgC"-|;}ea{_~t En .@a1# FA?T9hq ?;o*_k O%:gSQu,Ufr`|JkC*4k%rq05&(}F139BO1IAKbvec Ke,NJIzz"AX 8[O~fkD 7gnav`VUq^ dDp^-,;UY)_}< X6UA?IH:s /"]XP?qV@B(crG `RaB)YaKa68:GCd[VFy/%OF]3wZwlf/%@W Cz>SB |4_U"0Ubil>;9$ /nV"KH=FY%iK"h*6J5$tLFL(B\g%IL"t9H'(k~ *$VCgZ@MFN(&Iwx'l9CW`*caLut2t":B40Ca)Q"F]Z[=e,p7fYHX{5UYLaFC\D6f7 #ltE(D kq(QR>d79y NZ_B"&T5%t (CCbtv2:f?,7H/2+Jp{>1 u\s^u%|)iUk(_GC~nzoIYbJ|O=t!#wm\$9C(A6; gGo`E{HW2;!Ez TKMu wWCi#JT(EIMPE\PPn{)+!S{x*l]H NTqr.!F 0EnLxO@%Gv$QS ZgYjNi~7} nX*ViA?pIE65_9_|e@lGZNP6r-s)mJ  D>X:8W[{s2W^N=4Bk~ Z d?3EI UQ!QL] 56jsq}bKi <,5&4O[+Zw)P.6 hItLY'@w}TXl.V?xI 2OnUPvq1s7f|Vd.=n87N ^i.].JgRU^RCh^_f| dWix=/][#AS:vS+}4, A4Iq980_JCvd{866Ki(\q)*\btlCggpFwq_hX`"8wGJe|Kl[[kr-s,< I$V4z8}8_>A@~Vfg87H"2{1c\kG|mDliNQ _^9T>*7qVh9?@f wGHPMev8XD++$Dm ciND\>LR1EE7<-q-e MG)B7\\LKm2F# ??Kwl4B?w7UP Y zRG B ab"mXk#d@cN+|G(v Qz\4e>V X1Hg2B X &-ME=HTcGCj~[Yo#)j{n\@w7e>,lr`J@z(d;Hp+u -Lm!6z7C IVGBM ^A 8.|;CQ2YEd=e0#an9Q]! ZC( IFuzB %NJ-nGL(5 >g,a;*kn6K2oku-wuAz|8}k"0q~/m&.Ad:B$| 9" :mvrY&|j 5oi16{C&Yxyv3: &rF&H&o4yjb<\MN5f_oa?}-BtCKUJ 9LUKVH/RH}Y7G/ D$:62?;|5H_ZsPecFfE o.Y 1Q: J$sMFYNT]'f[ &q:\AZ YWo9~+J&iFy {Q]?AAzG{IA%e\+n~(0Y<@5if Xt.2b93$0 iO-1LY[QE#n{CI, BM6u7P E2X<=H[Vg.NTFlR VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_Zone to a Q-register. The CutPBuffer command is identical to the Save Register command, except that it deletesNthe text copied into the Q-register. If no range has been selected when any ofNthese commands is given, the current line from the cursor to and including theInewline terminating it is copied and possibly deleted. Applying a numericoKargument to such a command allows to copy more than one line into the pasterbuffer or a Q-register.a.X Cut.X Savef .X Q-register.L The paste buffer or Q-Register may be copied to any location in the same orManother buffer by giving the Paste or Include Register command, respectively.iPThe first command copies the paste buffer into the current buffer at the current?cursor position, the second command does this for a Q-register.T.X PasteN If you type the keypad 9 key or the Select key when a select range is active,Othe select range is deactivated. Thus, to revoke a selection, type the keypad 9eNkey or the Select key until VTEDIT displays the message "Selection cancelled".7The select range is always deactivated when it is used.eG Searching text implicitly creates a select range if no select range isdJcurrently active. The text found as the result of a search for a string orHa pattern is temporarily selected and can be manipulated by the commandsJoperating on select ranges, if these commands are given directly after theJSearch command. Any cursor movement revokes this temporary selection. If aLselect range is active at the time the Search command is given, no temporaryNselection occurs; instead, the select range extends from the selected positionPto the cursor position after the search, and it will grow or shrink with furthercursor movements.i.X Search>select range^*.HL3Rectangular Regionsm\*.X Region>rectangularuM A rectangular region is a block of text delimited by horizontal and verticaluIborders on which various operations can be performed. If the two oppositeNOcorners of the rectangle occupy the same line or column, the rectangle consistsrNof the part of this line or column, respectively, between these two positions.POtherwise, the rectangle consists of all text left to the right corner but rightNto the left corner, and below the upper corner but above the lower corner; theMrectangle includes the lines and columns of these corners. If the text insideaNthe rectangle contains Tab characters, they are replaced with blanks using theNcurrent tabulator setting, such that always the correct rectangle is selected,1regardless of its position relative to tab stops.c To create a rectangular region:.LM1.LS J.LE;Move the cursor to any corner of the rectangle you wish to define as aPrectangular region. It does not matter whether you start with the upper left andOfinish with the lower right corner, or vice versa, or whether you use the otherstwo corners of the rectangle.A7.LE;Press the keypad 9 or the Select key.eN.LE;Move the cursor to the opposite corner of the rectangle you wish to defineas a rectangular region..ELS.LM0FYou can then press the key to invoke the function to be applied to theJrectangular region. Functions operating on select ranges are marked with arectangle (a) in this manual.m.X Cut>rectangular.X Paste>rectangularI Cutting and pasting of rectangular regions is done in the following way:eNFor cutting or deleting, the text inside the rectangle is removed, and, if thePcurrent mode is Overstrike, replaced with blanks; if the current mode is Insert,Ktext to the right of the rectangle is shifted to the left. For pasting, theTKcontents of the Q-register or the paste buffer are inserted as a rectangle,rOi.e_. they are inserted or written over old text, according to the current modeyO(Insert or Overstrike) in a rectangle of the same size, whose upper left corner Kis the current cursor position. This mode of pasting is selected whenever amJrectangular region has been cut or saved to the Q-register or paste bufferthat you want to paste now.tP If you type the keypad 9 key or the Select key when a rectangularJregion is active, the rectangular region is deactivated. Thus, to revoke aMselection, type the keypad 9 key or the Select key until VTEDITbLdisplays the message "Selection cancelled". The rectangular region is alwaysdeactivated when it is used.H NOTE: Lines containing Tab characters have these characters expanded toMspaces, using the current Tab setting, whenever a rectangular region is savedeJor cut from them or pasted into them. After cutting or pasting, the spacesJin these lines are ^*not\* compressed to Tabs again; if you wish to retainHTabs in these lines, you must apply the Compress Spaces command to theseElines after performing the rectangular cut, save, or paste operation.P.X Tab>in rectangular Cut/Paste'.X Space>compressp^*.HL3The Active Range\*.X Range>active;.Y Active range see Range I Several commands employ the concept of an active range to work upon. The -active range is defined in the following way:n.LM1.LShE.LE;If a select range is active, the active range is just that range.I.LE;Otherwise, if a numeric argument has been applied to the command, thedKactive range consists of the next n lines from the current cursor position,oJwhere n is the value of that numeric argument. If n is positive, lines areGcounted towards the end of the buffer, otherwise towards the beginning.tI.LE;If there is neither a select range nor a numeric argument, the activeaHline consists of all text in the current line right to and including theKcursor. The active range includes the carriage return/line feed terminatingf the line. .ELS0.LM0mK Functions operating on the active ranges are marked with an asterisk (*_*)vHas well as with a diamond (`) in this manual. Note that especially the;Save, Cut, and Remove commands operate on the active range.s.TP12t^*.HL2Text Search and Replacement \*^*.HL3Search PatternsS\* .X SearchLI VTEDIT allows you to specify patterns as argument to the Search command.iMBy specifying a pattern as a search argument, you can search for more generaloItext structures than by specifying a string as search argument. There areM@several types of patterns that can be used for general searches:.X Search>patternh.Y Pattern see also Search .LM1.LS"-"L.LE;Typing a carriage return in a search argument allows to search for textsMspanning line boundaries, or for texts at the start or end of a line. In linedPmode, line boundaries may be specified by the characters ^*_^M\* (caret followedGby an uppercase or lowercase M) instead of carriage return (which woulditerminate the command).e.X Match controlM.LE;Including match control characters in a search argument allows to specifyTKplaceholders for one or more characters in a search argument. Match controltPcharacters are flagged by the characters ^*_^E\* (caret followed by an uppercaseIor lowercase E); the character(s) following the flag indicate the type of Pmatch requested for that position in the search argument. The following types ofmatch can be specified:r.LS"o"J.LE;Selection of certain character classes via the character following the^*_^E\*:.SPR,,1.S.LS0"+".LE;letters (*A)%.LE;non-|alphanumeric characters (*B)r.LE;symbol constituents (*C).LE;digits (*D)c7.LE;any one of the characters in Q-register *q (^*Gq\*)k(.LE;line terminators (*L)0.LE;supplemental (multinational) characters (*N) .LE;alphanumeric characters (*R)0.LE;lowercase letters (*V) (causes exact search)0.LE;uppercase letters (*W) (causes exact seaOR VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_'rch).LE;any character (*X):.LE;any one of a specified set of characters (^*[x...y]\*) .ELS0.SPR,,2.LE;Selection of given strings:O.SPR,,1.S.LS0"+"L.LE;the next character *x, even if it is a caret (^*Ex\*; specifying _^EE_^Eallows to search for _^E)b-.LE;the text stored in Q-register *q (^*Qq\*)m(.LE;any sequence of blanks and Tabs (*S)O.LE;the character whose ASCII value is stored in the numeric part of Q-registeri *q (^*Uq\*)t .ELS0.SPR,,2I.LE;Selection according to a VAXTPU pattern: this type of pattern must becHenclosed in ^*_^EP\* match control constructs; using this feature allows;you to use the VAXTPU pattern building mechanisms directly.e.ELS0rJ.LE;A search pattern may be broken into several parts, which are separatedIby the match control construct ^*_^ET\*. VTEDIT returns, if the search is,Osuccessful, a range containing all these parts in the correct sequence. BetweentPthe individual parts, there may be arbitrary amounts of text, and the individual&parts may be found on different lines.N.LE;The match control construct ^*_^EM\* allows to specify multiple occurencesIof a certain character or of characters of a certain class. For instance,dI^*_^EMa\* would find any sequence of a's, and ^*_^EM_^ED\* would find anybsequence of digits.oJ.LE;The match control construct ^*_^En\*, where *n stands for any positiveInumber, allows to specify exactly n occurrences of a certain character oriJor of characters of a certain class. For instance, ^*_^E5_^EA\* would findNany sequence of exactly 5 letters, and - used together with the _^EM constructF- ^*_^E3_^EGZ_^EM_^EGZ\* would find any sequence of 4 or more of those"characters stored in Q-register Z.I.LE;The match control construct ^*_^N\* allows to negate a character or alIclass of characters. For instance, ^*_^Na\* would find the next charactersAdifferent from a, and ^*_^N_^ED\* would find the next non-|digit.-.ELS.LM0N In addition to using patterns, searches may be performed in a case-|sensitiveHor a case-|insensitive way; in a case-|insensitive search, uppercase andMlowercase characters are treated as equivalent. Case-|sensitivity of searchesyMis controlled via a command and remains the same for all subsequent searches.ZJInitially, searches are case-|insensitive. If the search argument containsIa case-|sensitive pattern (^*_^EV\* and/or ^*_^EW\*), searches are alwaysgcase-|sensitive..X Search>case-sensitivity^*.HL3Text Replacement\* .X ReplaceK To replace one or more pieces of text with a new text, proceed as follows: .LM1.LSeN.LE;Search the first occurrence of the text to be replaced with an appropriate Find command.TH.LE;Without moving the cursor, press the Enter or the Insert HereIkey, or enter the Substitute command, and type the text to be used as theQLreplacement. The first occurrence of the old text (i.e_. the occurrence just*found) will be replaced with the new text.N.LE;The further operations depend on whether you want to replace all remainingPoccurrences automatically, or whether you wish to control replacements manually:.LS"-"K.LE;If you wish to replace all remaining occurrences in the text, press then7PF4 keypad key, or enter the Replace All command.xH.LE;If you wish to replace all occurrences in a given range, select that/range, and then press the PF4 keypad key.aL.LE;If you wish to replace the next n occurrences, enter the Replace commandLwith the numeric argument n; that is, press , enter the number n using@the main keyboard digit keys, and then press the PF4 keypad key.M.LE;If you wish to view the replacements, press the PF4 keypad key repeatedlyo9to search and replace the next occurrences one at a time.nI.LE;If you wish to control individually whether to replace or not, search1Pthe next occurrence by pressing the keypad period (.) or by giving the Find NextOcommand. If you decide to replace this occurrence, do so by pressing the keypadaHcomma (,) or by entering the Exchange command without intervening cursorJmovements; otherwise, continue searching for more occurrences. Repeat thisLprocedure until you have made all changes or until you decide to replace allremaining occurrences at once..ELS0t.ELS.LM0J After replacement in a range, the cursor will be positioned to the end ofLthat range. If no range has been selected, the following rules apply: If youLselected preservation of the cursor position on failing searches, the cursorPwill be positioned after the last replaced string, when automatic replacement isHfinished. Otherwise, the cursor will be at the start of the current text9buffer, if no more strings to be replaced could be found.nO A typical sequence of line mode commands (see section 3.7) performing a global Mreplacement operation would look like the following code fragment. (Note thatf;the quotation mark in the replacement argument is doubled.)g.LM10.TP12.S.NF.NJ+_! Return to start of buffer when it's overr_!SET SEARCH ORIGIN TOP_!"_! Replace apostrophes with quotes_!TOPeFIND "'"SUBSTITUTE """" REPLACE ALLn.LM0.F.J^*.HL3String Building Constructs\*.X String builderwI Replacement strings may contain string building constructs allowing more Pcomplex replacement operations. If the string to be replaced was found accordingNto a search pattern, the strings matching parts of that pattern may be used inNthe replacement string. Inserting the characters ^*_^E\* (caret followed by anNuppercase or lowercase E), followed by a number n that is not greater than theLnumber of search patterns used in the preceding search operation, causes theJcharacters matching the n-th match control construct to be included in thereplacement string.dO For instance, a search for ^*_^EM_^EA_^ET_^EM_^EA\* searches for a sequence of Mtwo words (i.e_. strings of one or more letters), separated by arbitrary textrLnot containing any letters. You may now exchange the two words by specifyingP^*_^E3_^E2_^E1\* as the replacement string, that is, by building the replacementOstring from the string matching the second ^*_^EM_^EA\*, i.e_. the second word,aPfollowed by the string matching the text between the words, and that followed bythe first word.tP Another string building construct, ^*_^EQq\*, inserts the text in Q-register *qOinto the replacement string. Normally, this could also be achieved by executing Othe Include Register command when typing the replacement argument. If, however,iGa learned keystroke sequence is being replayed, or if a command file ishIexecuted, the results are different: Whereas the Include Register commandsMincludes the contents of the Q-register as text in the replacement string andlJthus uses the same text in all replacement operations, the string buildingLconstruct ^*_^EQq\* includes the contents of the Q-register at the moment ofMperforming the replacement operation, and thus may use a different string forteach replacement. O The string building construct ^*_^EEx\* includes the next character *x without Kinterpretation; thus, _^EE_^EQA used in a replacement argument includes the .string _^EQA and not the text in Q-register A.^*.HL2Numeric Argumentsh\*.X Numeric argument .Y Argument see Numeric argumentH Many VTEDIT commands accept, and some require a numeric argument, whichNmay be a repeat count or have some special meaning described with the command.LFunctions accepting an optional numeric argument are marked with an asteriskJ(*_*) in this manual, and functions requiring a mandatory numeric argumentIare marked with a hash symbol (*_#). The numeric argument must be enteredoN^&befoP VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_;re\& giving the command itself. The rules for entering numeric argumentsare as follows:M Simple numeric arguments consist of (displayed as '*' in the commandsIdescriptions), an optional minus sign, and a digit string which is alwaysrPinterpreted in decimal. None of the keystrokes of a simple numeric argument echoon the terminal.M More advanced numeric arguments can be expressions using standard arithmetictLoperators. These numeric arguments also start with , an optional minusNsign, and, then a digit, or with followed by a caret (_^). If the firstLnon-|digit typed, or the first character typed after the caret is one of theMvalid operators listed below, expression mode is entered. A line of the form:o4.S.C;Numeric argument: Radix: x, Value: arg1 op arg2.SMis displayed in the next to last line of the screen. The initial radix is 10,vCarg1 will be the initial digit string, and op will be the operator.dN Further digit string typing will fill in arg2 until a non-|digit is typed. IfIit is another valid operator, the current arg1 op arg2 expression will bemNevaluated, the result will replace arg1, arg2 will be set to zero, and op willbe the typed operator.F If it is a radix change command, the radix is immediately changed. NoMevaluation of the expression occurs. Further digits typed will be interpreted Laccording to the new current radix. The radix change is local to the current6numeric expression; it is not subsequently remembered.J If it is an arg2 stand-|in, the current arg2 is replaced by the specifiedvalue.O If it is the Delete key, the current arg2 is reset to zero. If it is Ctrl/U oreGCtrl/Z, the entire expression is abandoned and the display is fixed up.tN Else it is assumed to be an editing command. The current arg1 op arg2 will beFevaluated and the result becomes the numeric argument to that command.L In line mode, numeric expressions may be entered as arguments to the RepeatHcommand; they are always evaluated from left to right, i.e_. without anyNoperator precedence (thus, 2_+3_*4 evaluates to 20, and not to 14, as would beJthe case with _* having precedence over _+). As in keypad mode, the result1becomes the numeric argument to the next command.o.TP10r.X Numeric argument>expression, The valid numeric expression operators are: .S.NF.NJ.LM+5 *_+ Addition*- Subtraction*_* Multiplication */ Divisiony *= Evaluate current arg1 op arg2#^*_^-\* Change sign of current arg2s .F.J.S.LM-5a.TP6% The valid radix change commands are:c.LM+151.S.I-10;^*_^D\* Change radix to decimal (base 10),,.I-10;^*_^O\* Change radix to octal (base 8)3.I-10;^*_^X\* Change radix to hexidecimal (base 16)i.S.LM-15.TP10r The valid arg2 stand-|ins are:s.LM+15..S.I-10;^*_^-\* The inverse (negative) of arg2#.S.I-10;^*_^.\* Current line numbera@.S.I-10;^*_^Z\* Current total number of lines in the text bufferN.S.I-10;^*_^L\* The distance to the end of the current line (counted positive)Hif arg2 is positive, otherwise to the start of the current line (counted negative)f:.S.I-10;^*_^L\* The distance to the arg2'th line separator6.S.I-10;^*_^N\* The result of the last Count operation,.S.I-10;^*_^_^x\* The value of character 'x'C.S.I-10;^*_^Qq\* The contents of the numeric part of Q-register *q;e-*q may be any (uppercase or lowercase) lettersN.S.I-10;^*_^A\* The value of the character at a distance of arg2 to the cursor<.S.I-10;^*_^_\\* The value of the number in the text buffer,<immediately following the cursor, or 0 if there is no numberF.S.I-10;^*_^Ctrl/_\\* The same, but deleting this number from the textbuffer.LM-15^* .HL2Promptingr\* .X PromptingK Commands needing textual arguments (like the search command, for instance)tLprompt for these arguments. The prompt is displayed in the next to last lineKof the screen. Most of these commands allow you to re-use the prompted textePfrom a previous invocation of the same command and possibly edit it. If you wantKto re-use your previous text argument, type the up-arrow key; your previousrItext argument will then be inserted at the current cursor position in thepprompted string..X Command>recallc .X RecalltP When VTEDIT prompts for line mode or LSE commands, command recall allows you toNselect any of the last up to 100 commands by using the up and down arrow keys.JUsing one of these keys erases the current command line and replaces it byone of the previous commands.eP Further editing and/or entry is now done in the normal way. The text appears onKthe screen as you type. You can edit your typing, using most of the editingTJfunctions of VTEDIT, with the exception of commands that prompt themselvesKor select a different window or buffer. You can use the save, cut and pastetJfunctions to copy or move text strings to or from the prompted string, butGinserting a rectangular region from the paste buffer or a Q-register ise disabled.e.X Command>editingO With some commands, typing the Return key allows the entry of multi-|line textsParguments; in this case, the prompt window is expanded by an additional line, up to 6 lines.iJ When you are ready to execute the command causing the prompting, type theGkeypad period (.) or, on VT200 terminals, the Do key. With commands notbIallowing multi-|line text arguments, typing the Return key will start theaOcommand, too. If you wish to abandon prompting and abort the prompting command,syou can type Ctrl/Z to do so.s.X Prompting>abortP In any case, VTEDIT now cleans up the screen. If prompting has not been abortedLby typing Ctrl/Z, VTEDIT saves the text argument if it is to be re-used, and+executes the command causing the prompting.N When in command input mode, which is entered by typing the Ctrl/Z key, or, to=enter LSE commands, the Ctrl/? key if VTEDIT is used with thePNLanguage-|Sensitive Editor, commands are executed as soon as the Return key isKtyped. The prompt will re-appear, however, to allow you to enter additionaltMcommands, unless the last command was empty, or the command "Continue", or aneabbreviation thereof.L.TP12;^* .HL2Line Modes\*^*.HL3Command Syntax\* .X Line mode.X Command syntax P Line mode commands may be given to the 'Command:' and 'VTE>' prompts. The firstLof these prompts, which is invoked by typing the Do key, expects exactly oneKline mode command, whereas typing the Ctrl/Z key displays the prompt 'VTE>'fNrepeatedly, until an empty line mode command or the Continue command is given.OIf VTEDIT is started with LSE support, the Do key normally invokes LSE commandseNinstead of VTEDIT line mode commands and, for this reason, displays the promptF'LSE command:'. This behaviour, however, may be changed via the Set DoFcommand, i.e_. the #_$ key sequence, or, permanently, through anNappropriate startup command file. Starting VTEDIT in /NODISPLAY mode, which isK^*not\* available together with LSE support, causes the 'VTE>' prompt to benOdisplayed; in this mode, only line mode commands and patterns for the line modetmini editor are accepted.eK Furthermore, line mode commands may be read from an indirect command file, Owhich is read in response to the _@filespec command, and from an initializationcHfile, which is specified via the /INITIALIZATION qualifier of the VTEDIT*command, or via the logical name VTE$INIT.J The syntax of the individual line mode commands is given with the commandMdescriptions in chapter 4. Some general rules apply to all commands, however: .LM1.LS"-"O.LE;Commands consist of one or more words, each word starting with a letter and_Lcontaining only letters and digitsQhw VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_g, and the words are separated with blanks.G.LE;Many commands accept one or more parameters; the following types ofnparameters are expected: .X Parameter.LS"o"N.LE;String parameters normally consist of a sequence of non-|blank characters.LThe last string parameter, however, contains all remaining text in the inputMline and thus may consist of several words. If a required string parameter isc(not given, VTEDIT prompts for its value.L.LE;Numeric parameters consist of an optional sign and a sequence of digits.OIf an optional numeric parameter is not given, VTEDIT supplies a default value;iMif a required numeric parameter is missing, VTEDIT aborts the command with anrerror message.N.LE;Some commands allow keyword parameters. If a keyword is not given, many ofLthese commands just toggle between the keyword values. For instance, the SetNWrite command allows the keywords On and Off; specifying the command without aNkeyword switches to "Off" if the previous state corresponded to "On", and viceversa..ELSO.LE;Uppercase and lowercase letters are regarded as equivalent, unless they areMenclosed by quotation marks ("). Enclosing strings in quotation marks is onlycOallowed for parameters, not for the commands themselves. String parameters mustfNbe enclosed in quotation marks if they contain blanks and other parameters areNfollowing, and if the case of the letters in the parameter is to be preserved.9.LE;Quotation marks in quoted strings have to be doubled.tK.LE;Lines beginning with an exclamation mark (_!) are regarded as comments; Jthese lines are ignored. Inline comments, i.e_. comments starting within a command line, are not supported..ELS.LM0K The command words may be abbreviated as far as the intended command can besPdetermined unambiguously; even command words may be omitted as long as this doesGnot make the command ambiguous. For instance, the command 'Mark' may beeOabbreviated to 'M', the command 'Move Up' to 'M#U', and the command 'Read File' Lto 'Rea' or 'R#F'. In initialization files and command files, however, it isKgood coding practice not to use abbreviations, in order to make these filesoHbetter readable and to avoid the danger that an abbreviation that is nowPunambiguous may become ambiguous when a new release of VTEDIT adds new commands..X AbbreviationoJ The names of several two word commands are extensions of similar one wordIcommands; for instance, the command 'Find Next' collides with the commande0'Find'. In this case, the following rules apply: .LM1.LS"-"J.LE;If only the first word is given, the one word command will be invoked;PVTEDIT will ^*not\* display a menu containing both commands but will assume thatPthe shorter command was given. Thus, typing 'Find' will invoke the Find command,Land typing 'M' will invoke the Mark command instead of trying to resolve theNambiguity between 'Mark' and 'Move Up/|Down/|Left/|Right'; 'Mo', however, willKbe regarded as ambiguous because there is no one word command starting with-'Mo'.iO.LE;If both words are given, the two word command will be executed. Thus, 'Finde1Next' or 'F#N' will invoke the Find Next command.eN.LE;To invoke the one word command with a string parameter equal to the secondKword of a corresponding two word command, the parameter must be enclosed inrKquotes. Thus, 'Find "Next"' will invoke the Find command with the parametere%"Next" and not the Find Next command.X.ELS.LM0J When in doubt about the syntax of a command, enclose string parameters in=quotes; in most cases, however, it is not necessary to do so.1^*.HL3Resolving Ambiguitiesr\* .X AmbiguityL If a line mode command is abbreviated such that VTEDIT cannot find a singleHcommand matching the abbreviation, VTEDIT displays a menu containing allEcommands matching the input line in the lower half of the screen, andtOpositions the cursor on the first command. Using the arrow keys and/or the NextiNScreen and Prev Screen keys, you may position to the command that you intendedGto give. Pressing the Return or the Select key selects that command foroJexecution; VTEDIT then removes the menu and executes the command. Typing aHstring, terminated with the Return key, allows to select one of the menuLentries, too, as long as VTEDIT is able to determine this entry from what isOtyped. On a workstation, you may also select the command by pointing to it with #the mouse and pressing a mouse key.tO The last entry in such a menu is always the text "Cancel Operation". Selecting Nthis entry removes the menu without executing one of the commands in the menu.MAdditionally, the menu selection may be cancelled by pressing the Ctrl/Z key.eJ Command menus do not work if VTEDIT runs in /NODISPLAY mode; in this casePVTEDIT simply displays an error message when it encounters an ambiguous command.NAlso, ambiguous commands from an initialization file or a command file are notJresolved; they, too, cause an error message to be output, and are ignored..X /NODISPLAY mode^*.HL3Command Filesu\*.X Command fileN The _@filespec command executes a command file you specify, containing VTEDITMcommands. Using a command file lets you set editing preferences, or execute anLseries of related commands, without having to type each command. The default%file type for command files is _.VTE.fO You can use more than one command file in a session, but execute only one at aeMtime. You cannot use _@ to nest command files; when VTEDIT finds a _@filespeclPcommand in an indirect command file, it opens and executes the new command file,<and the remaining commands in the original file are ignored.M VTEDIT executes all the commands in a command file; if there are any errors,sOindividual commands may be aborted, but execution is always resumed at the next Ncommand. You may display the individual commands as they are executed by meansLof the Set Verify command, and you may control the behaviour of confirmation#questions via the Set Ask commands.K An easy way to create command files is to enter command input mode via theOCtrl/Z key, to type the commands one after another, observing the results, and,rKfinally, to copy the commands from the command recall buffer $VTEDIT to thegNbuffer for the command file. Note, however, that giving the same command twicePin a row, without intervening other commands, does not duplicate this command inOthe recall buffer. There may be some additional editing necessary or advisable,EHsince abbreviated commands should be spelled out for clarity, and stringCarguments that were prompted are not included in the recall buffer. .X RecalleN Command files may be used to extend VTEDIT by including additional proceduresKat runtime. The following command file reads and compiles a piece of VAXTPU^Osource code, possibly adding new commands to the VTEDIT line mode language (see also section 5.3): .X Extension.LM10.TP15.S.NF.NJ_! Get the TPU sourceo_!READ FILE V.TPUe_!_! Select and compile it_!TOP1SELECTBOTTOM COMPILE TPU _!_! _... and get rid of it again_! DELETE BUFFERi.LM0.F.J^*.HL3Nodisplay Editingi\*N When VTEDIT is started in /NODISPLAY mode, the contents of the first line areOdisplayed, and VTEDIT expects line mode commands to be given. You may enter anyQKVTEDIT commands that do not make use of windows. Enter the commands without,Oleading blanks, and terminate each command with the Return key. Typing the ExitiJor Quit commands, or the Ctrl/Z or F10 key terminates VTEDIT in this mode..X /NODISPLAY mode.X Line mode>mini editorL Input of an empty line positions to the next line in the current R VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_buffer andNdisplays this line. Any input line not starting with a digit, a letter, or onePof the characters "*__", "*_$", "*_@", and "*_!", is used as a pattern to changethe current line:e .LM1.LS"-"M.LE;Each non-|blank character replaces the corresponding character, i.e_. thes8character displayed directly above, in the current line.D.LE;Each *] deletes the corresponding character in the current line.>.LE;Each *_# replaces the corresponding character with blank.K.LE;All characters after the first *[ are inserted before the corresponding2character in the current line..ELS.LM0 .TP4.S.NF.NJ=For instance, the line: This line is to be changed.rDwill be changed by the pattern: ^* at _#_#_#_# was]]]]] [-\*9to: That was chang-ed.t.F.J.SL The Type command displays lines with leading line numbers. If the cursor isJsomewhere in the middle of a line, and the start of this line is not to beLdisplayed, the characters up to the cursor are typed as a series of centeredMdots (), such that the position of the displayed characters stays correct; Kalso, any Tab characters are expanded to sequences of blanks as long as tabistops are set evenly.nM To position below the first character of the line to be changed, you have tohLtype three blanks before starting the replacement pattern. Thus, the example'given above would in reality look like:s.TP4.S.LM5.NF.NJ#[ 217]This line is to be changed.m*VTE> ^* at _#_#_#_# was]]]]] [-\*[ 217]That was chang-ed.i.LM0.F.JN The substution characters *_#, *[, *] may be substituted by specifying one orKmore non-|blank characters as the first three characters in the input line;nPthese characters replace the three control characters in this order. You may use?any characters that are no symbol constituent characters, i.e_.eIneither letters, digits, dollar (_$), nor underline (__), as substitution ?control characters. So the example given above might look like: .X Substitution characters.TP4.S.LM5.NF.NJ#[ 217]This line is to be changed.1&VTE> ^*/,. at //// was,,,,, .-\*[ 217]That was chang-ed.g .LM0.F.J.SMThis substitution allows you to treat the characters *_#, *[, and *] as text,d*inserting them into the line to be edited..TP12o^*.HL2Formatters\*^*.HL3General Information \* .X FormatterI Formatters are extensions of VTEDIT that format texts automatically in auIcontext dependent way while these texts are being entered. The individualnLactions performed by a formatter are determined by the type of the formatterNwhich is, in turn, determined by the file type of the current text buffer. TheLfollowing formatter types are automatically selected according to these fileHtypes, and stay attached to a buffer, once they are selected explicitly:.X Formatter>file type.LM+4.TP10.S.NF.NJ= File Type O} Formatter NameeB qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqB .C .CLD .ENV .H .PAS .TPU O} Structured Language4 .CBL .COB .LIB O} Cobol6 .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortran2 .COM .MMS .OPT O} DCL7 .DOC .HLP O} Documente= .DTR .LSE .PDM .PEL .VTE O} Query Languaged4 .MAC .MAR .PPA O} Macro3 .RND .RNH .RNO .RNT .RNX .TXT O} Texts .F.J.LM-4eK Each one of these formatters performs one or more of the following actionsduring text entry: .LM1.S.LS0"-"i-.LE;case conversion / automatic case control,c.LE;automatic indentation,%.LE;manual correction of indentation,.LE;automatic word wrap,!.LE;automatic line justification,SN.LE;optional automatic insertion of closing parentheses and string delimiters,G.LE;optional highlighting of the matching opening parenthesis or stringIdelimiter, respectively. .ELS0.LM0fI The following sections describe each of these actions in more detail and Cspecify which actions are available from the individual formatters.i^*.HL3Case Conversione\*.X Case control>automatic F Characters can be entered in either upper or lower case. However, allKcharacters considered being part of a statement are converted to upper caseeKexcept for characters in literals: character strings surrounded by (contextfLdependent) string delimiters. Characters in comments are also not converted.JComments are lines with special, context dependent characters in the firstFcolumn or all characters appearing after a (context dependent) comment,delimiter that does not appear in a literal.C Automatic case control is available from the following formatters:k .LM1.LS"-"P.LE;^*Cobol\*: with quote (*") as string delimiter, and exclamation mark (*!) asLcomment delimiter; lines having an asterisk (*_*) in column 7 are treated ascomments, too;J.LE;^*Fortran\*: with apostrophe (*') as string delimiter, and exclamationMmark (*!) as comment delimiter; lines beginning with (uppercase or lowercase)pO*C or *D, with asterisk (*_*) or exclamation mark (*!) are treated as comments,hJtoo (unless their second character is a semicolon (*;) or exclamation mark(*!));L.LE;^*DCL\* and ^*Query Language\*: with quote (*") as string delimiter, and+exclamation mark (*!) as comment delimiter;wK.LE;^*Macro\*: with apostrophe (*') as string delimiter, and semicolon (*;)ias comment delimiter.u .ELS0.LM0e^*.HL3Automatic Indentation \*.X IndentationH Formatters with the automatic indentation feature allow to indent linesBto an appropriate column, without any need to insert spaces and/orKTabs, as these characters are inserted by the formatter whenever a new lineu is opened.K Indentation is controlled by the following indentation control characters:fJ"*.", "*=", "*<", "*>", "*_*", "*_+", and "*-". They control the amount ofOindentation and, for Fortran, the starting of automatic continuation lines. ThetMindentation control characters are only recognized when they are typed at thecPstart of a line, i.e_. normally only before the first non-|blank character. OnlyJTabs, spaces, (and, for Fortran, statement numbers and comment characters;Ofor Cobol, comment and continuation indicators; for DCL, the characters "$" andiL"_!") may be in front of the current cursor position. When indentation takes2place, the cursor is placed after the indentation.!.X Indentation>control characterso.X Formatter>control characters .LM1.LS"-"E.LE;The equal sign, "*=", does not perform any indentation. It simplyp4resets the current indentation value to the minimum.M.LE;The period, "*.", sets the indentation of the current line to the currentdMindentation value. It is used primarily to reset the indentation of a line tonIthe current indentation value. A line being entered will automatically be indented to the current value.C.LE;The greater than sign, "*>", increments the current indentationoAvalue and sets the indentation of the current line to that value.mF.LE;The less than sign, "*<", decrements the current indentation value;and sets the indentation of the current line to that value.oM.LE;The asterisk, "*_*", is the automatic continuation line character for the'OFortran formatter. It creates the beginning of a continuation line by inserting,O5 spaces, an "*_*" and a Tab for at the beginning of the current line, followedhMby the appropriate number of Tabs and spaces to reach the current indentationc value _+ 4.eN For Cobol, the asterisk indicates a comment line. The asterisk is inserted inDcolumn 7, and the line is indentedS/0 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ to the current indentation value.P.LE;The plus sign, "*_+", sets, for the Query Language formatter only, the valueKfor indentation increment and decrement to 2. This command does not performJany indentation; it simply presets a value for further indentation control commands. P.LE;The minus sign, "*-", sets, for the Query Language formatter only, the valueKfor indentation increment and decrement to 3. This command does not performiJany indentation; it simply presets a value for further indentation control commands.nK For Cobol, the minus sign indicates a continuation line. The minus sign isiPinserted in column 7, and the line is indented to the current indentation value..ELS.LM0.X Indentation>amount 8 The following formatters provide automatic indentation: .LM1.LS"-"F.LE;^*Structured Language\*: Indentation may be changed in steps of 4.G.LE;^*Cobol\*: Indentation may be changed in steps of 4. Because of themCCobol syntax, the minimum value for indentation of statements is 7.tJIf the first character entered is an asterisk, "*_*", indicating a commentKline, or a minus sign, "*-", indicating a continuation line, it is insertedeLin column 7, and the rest of the line is indented to the current indentationvalue.N.LE;^*DCL\*: Indentation may be changed in steps of 4. The minimum indentationKis 4, but labels are not subject to indentation; their indentation is fixedtEat 2. Comments are indented by 4; their indentation cannot be changediIautomatically. The "$" and, for comments, "_!" characters are not subjectpto indentation at all.I.LE;^*Fortran\*: Indentation may be changed in steps of 2. Because of theaIFortran syntax, the minimum value for indentation of statements is 6, ando the following rules are applied:M All lines not starting with a *C, a *D, an asterisk (*_*), or an exclamationkImark (*!), are indented automatically. If a line starts with one of theseaHcharacters, indentation does not affect this character, and it will stay?in column 1. In any case, indentation is at least 6 characters.;A The *C or *D in column 1 must be followed by a non-|alphanumerictIcharacter or it is assumed to be part of a statement, and the whole line,aBincluding the *C or *D, is indented. (For further explanation of D-lines, see the VAX FORTRAN Reference Manual.)aH If the second character in a comment line is a semicolon (*;), the lineJis regarded as a control statement for a preprocessor, and not indented atKall. If this second character of a comment line is an exclamation mark, the Oline is regarded as code commented out, and indented to the current indentation 8value#_+#2 to allow for easy re-|activation of the code.P If a number appears in column 1, it is assumed to be part of a statement numberNand is not indented. The first non-|numeric character is assumed to be part ofthe statement and is indented.;.LE;^*Document\*: Indentation may be changed in steps of 4.mP.LE;^*Query Language\*: Indentation may be changed in steps of 2 or 3, accordingLto the last selection via the indentation control characters "*_+" and "*-"; default is 2.d .ELS0.LM0e^*.HL3Automatic Word Wrap \* .X Word wrapG Whenever a line is entered that is longer than the current line width,aLit is broken up into suitable pieces that fit into lines within that length.LThis is done by replacing a blank by newline. The blank replaced is normallyJthe rightmost blank still fitting into the line, but replacing may be doneOin some cases when entering text beyond the right margin. The algorithm choosesLPthe moment to replace a blank such that when entering text without any newlines,Olines will be filled nearly up to the current line width, but without exceedingh this width.eM Automatic word wrap is provided by the ^*Document\* and ^*Text\* formatters,iKand, if VTEDIT uses the Language-|Sensitive Editor, automatic word wrap maytKbe selected as a property of the current language, for instance via the LSEgcommand MODIFY LANGUAGE /WRAP.^* .HL3Automatic Line Justification\*.X JustificationG Whenever a line is entered that is longer than the current line width,tLit is broken up into suitable pieces that fit into lines within that length.LThis is done by replacing a blank by newline. The blank replaced is normallyIthe rightmost blank still fitting into the line, but replacing is in most"Ocases done when entering text beyond the right margin. The line just entered iscNthen filled to the current right margin by inserting enough blanks distributedNover the white spaces as evenly as possible. The result is a text in which allNlines are filled and justified in roughly the same way as if the text had beenproduced by RUNOFF.EP The Fill Paragraph command will not only fill the lines of the selected region,Nbut, if automatic justification is active, will also justify the filled lines,Pi.e_. insert enough blanks into each line (except the last one) to let it extendOup to the right margin. The effect is to create a straight right margin for thenreformatted text.e'.X Command>Fill Paragraph>justificationsH Automatic line justification is provided by the ^*Document\* formatter.^*#.HL3Automatic Parenthesis Insertionw\*N If you are using a formatter supporting automatic closing parentheses, and ifJthis feature has been enabled, VTEDIT will automatically insert a matchingHclosing parenthesis whenever an opening parenthesis is typed. The cursorIwill be positioned between the two parentheses to allow you to insert the Iparenthesised text. Also, if a string delimiter is typed, a second stringfMdelimiter is inserted after the cursor, such that strings opened by the firsty#delimiter are automatically closed.m".X Parenthesis>automatic insertionJ The following formatters support automatic closing parentheses and string delimiters:a .LM1.LS"-"P.LE;^*Structured Language\*: The characters ^*(#[#{\* and ^*}#]#)\* are regarded>as parentheses, the characters *" and *' as string delimiters.N.LE;^*Cobol\*: The characters ^*(\* and ^*)\* are regarded as parentheses, the!character *" as string delimiter.tP.LE;^*DCL\*: The characters ^*(#[#<\* and ^*>#]#)\* are regarded as parentheses,%the character *" as string delimiter.cP.LE;^*Fortran\*: The characters ^*(\* and ^*)\* are regarded as parentheses, the!character *' as string delimiter._E.LE;^*Macro\*: The characters ^*(#[#<\* and ^*>#]#)\* are regarded ast2parentheses, the character *' as string delimiter.J.LE;^*Query Language\*: The characters ^*(#[\* and ^*]#)\* are regarded as2parentheses, the character *" as string delimiter..ELS.LM0L Automatic closing parentheses are disabled by default; to use this feature,Gyou must explicitly enable them via the Ctrl/R command. Automatic Lparenthesis insertion is suppressed for text parts that VTEDIT recognizes as:comments or string literals enclosed in string delimiters.^*.HL3Parenthesis Highlighting\*.X Parenthesis>highlighting N If you are using a formatter supporting parenthesis highlighting, and if thisPfeature has been enabled, VTEDIT will highlight the matching opening parenthesisKin the message window whenever a closing parenthesis is typed. This featuredIhelps greatly in balancing parentheses in complex expressions and programlMstatements. If VTEDIT does not find a matching opening parenthesis within thenBcurrent line or the previous 9 lines, it issues a warning message.N Also, VTEDIT will highlight the string delimiter starting the current literalMstring when the closing delimiter for that string is typed. That delimiter iswLfound by searching backwards in the current line, skipping aT VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_Ill double stringJdelimiters, and, if a single string delimiter is found, it is highlighted.I The following formatters support parenthesis highlighting and display ofethe matching string delimiter: .LM1.LS"-"P.LE;^*Structured Language\*: The characters ^*(#[#{\* and ^*}#]#)\* are regarded>as parentheses, the characters *" and *' as string delimiters.N.LE;^*Cobol\*: The characters ^*(\* and ^*)\* are regarded as parentheses, the!character *" as string delimiter.LP.LE;^*DCL\*: The characters ^*(#[#<\* and ^*>#]#)\* are regarded as parentheses,%the character *" as string delimiter.iP.LE;^*Fortran\*: The characters ^*(\* and ^*)\* are regarded as parentheses, the!character *' as string delimiter.oE.LE;^*Macro\*: The characters ^*(#[#<\* and ^*>#]#)\* are regarded asa2parentheses, the character *' as string delimiter.J.LE;^*Query Language\*: The characters ^*(#[\* and ^*]#)\* are regarded as2parentheses, the character *" as string delimiter..ELS.LM0M Parenthesis highlighting is enabled by default; you may choose to disable it Hvia the Ctrl/F command. Parenthesis highlighting is suppressed forItext parts that VTEDIT recognizes as comments or string literals enclosedrin string delimiters..TP12h^*.HL2Mouse Operations\*^*.HL3Positioning and Selection \*.X MouseM On workstations running the VWS windowing software, VTEDIT allows to use thesMmouse for several editing operations. Whenever you move the mouse cursor to a Llocation in your terminal window, the form of this cursor will change from aFsmall arrow to that of a cross, thus showing that the mouse is active..X Cursor>mousen.Y Mouse cursor see CursorP You may then position the cursor on any visible text in a text window by movingOthe cursor to the desired location and then pressing the left mouse button. TheIresulting cursor location depends on the type of cursor movement that wass selected: .LM1.LS"-"K.LE;If the mouse cursor is within a line with text, the text cursor will ber5positioned on the character next to the mouse cursor.oL.LE;If the mouse cursor is beyond the text and free cursor movement has beenIselected, the text cursor will be positioned at the location of the mouseiNcursor. As this location is in "empty" space, VTEDIT will insert enough spacesNand/or newlines if text is typed at that location. This behaviour is identical>to moving the text cursor via the arrow keys into empty space..X Cursor>freeM.LE;If the mouse cursor is beyond the text and bound cursor movement has been Hselected, the text cursor will be positioned at the line end next to thelocation of the mouse cursor.e.X Cursor>boundn .ELS0.LM0nJ Pressing the middle mouse button has the same effect as pressing the leftMbutton, but additionally starts a select range at the location where the textnPcursor is now positioned. You may terminate this select range in either of threeways:d .LM1.LS"-"H.LE;Keep the middle mouse button pressed, move the mouse cursor to a newNlocation, and release the button. The select range then spans the text betweenEthe locations of the downstroke and the upstroke of the mouse button.*E.LE;To select larger pieces of text, possibly scrolling the window insObetween, release the middle mouse button at the same location where you pressediPit. Then position to a new location and press the middle mouse button again. TheOselect range then spans the text between the locations of the two mouse clicks.lM.LE;You may also move the cursor and simply apply one of the VTEDIT functionsdPoperating on select ranges, just as if you had selected the text by pressing the!keypad "9" key or the Select key.t .ELS0.LM0eO If you used one of the first two methods of selecting a range of text, a smalleMmenu pops up at the bottom of the screen, allowing you to choose one of threer alternatives:i .LM1.LS"-"8.LE;"Copy" puts the selected text into the paste buffer.<.LE;"Cut" does the same, but also deletes the selected text...LE;"Remove" simply deletes the selected text..ELS.LM0P You may insert the current contents of the paste buffer into the text by movingKthe mouse cursor to the desired location and there pressing the right mouseObutton.n^* .HL3Scrolling \*P Clicking the left mouse button on the status line of a text window scrolls thatMwindow, the status line being used as some sort of a scroll bar. Clicking theRMmouse in the left half of the status line scrolls the window down, moving the Ncursor position towards the top of the file. Clicking in the right half of theKstatus line scrolls the window up, moving the cursor towards the end of theefile. .X ScrollingO The amount of scrolling depends on the location of the mouse cursor within theLLstatus line. Clicking near the middle of the line scrolls by a small amount,Owhereas clicking near the left or right margin scrolls by a larger amount, thusg(allowing to quickly move through a file.^* .HL3Menusi\*.X Menut.X Command>MenufL Clicking the left mouse button in the last line of the screen, i.e_. in theNmessage window, displays a menu of VTEDIT command groups. These command groupsPcorrespond to the individual headings of the command table given in section 6.1.KYou may then select a group from this menu by pointing to its name with thetOmouse and clicking the left mouse button; selection can also be accomplished byrMmoving with the cursor keys to the desired menu item and typing the Return oro Select key.sO VTEDIT then displays a second menu showing the commands in the selected group,nAand you may then select a command from this group to be executed.eN Whenever VTEDIT cannot resolve an ambiguous command or file name, it displaysPthe possible choices in a menu similar to those just described (see also sectionK3.7). You may then select the desired choice in just the same way, i.e_. byiJpointing to it with the mouse or by using the arrow keys to move to it and$typing the Return or the Select key. .X Ambiguity.TP15e^*.HL2Language-|Sensitive Editor\*J The Language-|Sensitive Editor VAX LSE is a multi-|language advanced textKeditor designed specifically for software development; it is available as a Playered product for VMS. LSE works with VMS languages and other VMS productivityMtools to enhance program development. If VAX LSE is installed on your system, KVTEDIT may be installed with LSE support, i.e_. with access to the specificnOfeatures of the Language-|Sensitive Editor. In this case, VTEDIT provides a setoOof additional functions that are not available without VAX LSE, or if VTEDIT isnGcalled with the qualifier /NOLSE, explicitly disabling these functions.d.X LSE^* .HL3Overview\*O LSE allows you to control your editing environment and use LSE's knowledge ofeOspecific languages to develop programs quickly and accurately. LSE provides thefollowing features:" .LM1.LS"-"P.LE;^*Error Correction and Review:\* This feature allows you to compile, review,Oand correct compilation errors within a single editing session. LSE provides an Iinterface to the supported VMS language compilers so that you can performyLcompilations without leaving LSE. The compilers provide LSE with compilationPdiagnostics in a way that allows you to review compilation errors in one editing=window while displaying the related source in another window.nP.LE;^*Language-|Specific Templates:\* Templates permit fast and efficient sourceNcode entry. LSE accesses a collection of formatted language constructs, calledItemplates, that provide keywords, punctuation, and placeholders, for eachysupported VMS language.L LSE allows you to U VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ԁ modify existing templates or define your own language ortext templates.nJ.LE;^*Integrated Programming Environment:\* LSE is integrated into the VMSPdevelopment environment. It is invoked using the DIGITAL Command Language (DCL).KIf VTEDIT is installed with support for the Language-|Sensitive Editor, LSErGfeatures are directly invoked from VTEDIT. LSE works with supported VMSsGlanguages, SCA, DEC/CMS (CMS), the VMS Debugger (debugger), and the VAXiNPerformance and Coverage Analyzer to provide a highly interactive environment.MThis environment enables you to create and edit code, to view multiple sourcetOmodules, to compile programs, and to review and correct compile-|time errors inaone editing session. .X Debugger N LSE can be invoked directly from the debugger to correct source code problemsMfound during debugging sessions. In addition, LSE can be invoked from the VAXNPerformance and Coverage Analyzer to correct performance problems found duringanalyzing sessions.7I.LE;^*Online Help Facility:\* LSE provides online Help for information onsMunfamiliar language constructs and routines. Help is also provided for all oftILSE's commands and key definitions, integrated in VTEDIT's Help facility.t.X Help M.LE;^*Source Code Analysis:\* LSE's integration with SCA allows you to searchuMfor specific information contained in your source files. SCA is a source codetKcross-reference and static analysis tool that helps programmers familiarizetMthemselves with complex systems. SCA accesses source information generated byFKsupported VMS language compilers. Thus, SCA allows you to move through thisnNinformation and gain access to related source files as necessary. You can findOout how a program symbol was declared, where a particular routine is called, ore$which module needs to be recompiled..X SCAH.LE;^*Source Code Management:\* An interface with DEC/CMS simplifies theOfunctions of program development. All CMS commands can be issued within VTEDIT.oMLSE can be directed to fetch files directly from a CMS library when you issuesPstandard VTEDIT or LSE file manipulation commands. In addition, LSE has commandsOReserve, Replace and Unreserve which perform the corresponding CMS operation ont LSE buffers..X CMSN.LE;^*System Services and Run-|Time Library Templates:\* LSE provides packagesKfor VMS Systems Services and for the LIB$, SMG$, and STR$ Run-|Time LibraryiIroutines. In addition, LSE allows you to define templates for packages ofnsubroutine libraries. .X System servicen.X Run-Time Libraryr .ELS0.LM0c^* .HL3Concepts\*L The file type field of the name of a buffer determines the default languageIfor that buffer. VMS file types (such as, .C or .FOR) specify the defaultnOlanguage; however, if you omit the file type, or specify a file type unknown to HVTEDIT, no language is assumed, but a language may be set explicitly viathe Set Language command.o.X Language>file typen.X Language>settingfJ The Language-|Sensitive Editor, with its knowledge of program structures,Pserves both experienced and inexperienced programmers as a time-|saving tool forJprogram development. To achieve this goal, the editor uses the concepts ofNtokens and placeholders as facilities for defining language-|specific elementsPfor source code entry, and compiler interfaces to support the compilation of theGcode from within the editor. (For a listing of the language definitionseMavailable with VTEDIT, type 'Languages' to the prompt from the Show command.)cL VTEDIT with LSE support works within the VAX/VMS environment in conjunctionOwith the VAX language compilers, the VAX Multi-|Language Symbolic Debugger, andt the entire VAX/VMS set of tools.9 You can use VTEDIT with LSE support to do the following:n .LM1.LS"-"N.LE;Construct syntactically correct programs in any of the supported languages>or in a language for which you provide a definition to VTEDIT.O.LE;Call the appropriate compiler, while in the editing session, to compile the program you have constructed.tM.LE;Edit your program, or any text file, using standard text editor commands.lI.LE;Tailor your editing environment, by providing definitions of your ownePlanguage or other textual templates for VTEDIT in the same manner used to definethe supported languages..X Environment .ELS0.LM0tP To use the Language-|Sensitive Editor from VTEDIT to create or edit source codePrequires an understanding of the concepts of tokens and placeholders. Tokens andLplaceholders are language elements that have been predefined for each of theOsupported languages. By successively expanding these elements into templates ofe8language constructs you can construct complete programs.N Tokens are typically reserved words or function names that you expand or typeIinto the editing buffer and expand to provide templates for corresponding|language constructs..X TokenG Placeholders are elements inserted into the editing buffer as parts ofcNtemplates, and represent locations in the source code for the entry of programMtext. In many cases, however, an expanded placeholder provides a template for additional text..X PlaceholderP Finally, aliases are abbreviated reference names for long identifiers that haveObeen entered in the source code. To define an alias, for an identifier on which Hthe cursor is currently located, press the Ctrl/A key and type theNabbreviation at the prompt. Whenever the reference name is typed and expanded,+the original identifier string will appear.l.X Alias^*.HL3Entering Source Code\*H To support rapid source code development and decrease the occurrence ofHsyntactic errors, the Language-|Sensitive Editor provides facilities forLdefining language-|specific tokens and placeholders. Tokens and placeholdersPallow for the insertion of source code, within language constructs, by expandingIthe name a user types and by further expanding tokens and placeholders onosyntactic markers. .X Expand J On-|line help for language features is also provided that is keyed to the!names of tokens and placeholders.>.X Language>HelpN If you are experimenting with a new file associated with one of the supported3languages, the following procedures may be helpful:n .LM1.LS"-"O.LE;Once you have invoked VTEDIT, and the initial string appears on the screen,,Kpress the Expand Token key (F13 or Linefeed) and the structure of a program Jassociated with your language will appear. On expanding the initial stringE(or any other token or placeholder), one of the following will occur:a.X Initial Strings.LS"o"I.LE;Text will appear to aid you in supplying a value. (This is a terminal placeholder.)i.X Placeholder>terminalaP.LE;The placeholder will be replaced with a template consisting of more language.elements. (This is a nonterminal placeholder.).X Placeholder>nonterminalL.LE;A menu will appear, providing you with options that can be expanded into(templates. (This is a menu placeholder.).X Placeholder>menu.O Each option in a menu is either a token, a placeholder, or a string. SelectingLa token or a placeholder causes the expansion of the option to appear in theMuser's buffer, while choosing a string causes the string to appear. When thisOhas occurred, the menu is removed from the screen. When a menu first appears onthe screen, you can:.LS"+"M.LE;Move through the menu by pressing the up or down arrow keys. (This causesa3the indicator to move from one option to the next.);N.LE;Select an option from the menu by pressing the Enter or the Return key, orPthe Expand Token key (F13 or Linefeed) again. (The current option is iV6 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_pkndicated.)9.LE;Press the H or Help key to get additional help.eM.LE;Press the space bar to cause the menu to disappear (this has no effect oneOthe current text buffer). Pressing any other key also makes the menu disappear,l)however, the key's function is performed. .ELS0.ELS0H For any of these three cases, you simply type the desired text over the placeholder.O.LE;Using the Next Placeholder key (")" or #Next#Screen), move from Pone placeholder to the next, expanding and typing in text as you go. If you needMhelp on a placeholder (or token), press the Help Language key (?) whilei&you are positioned on the placeholder.P.LE;For those optional placeholders you do not want, press the Erase Placeholderkey (_# or F17)..ELS.LM0E If you wish to get more general information about VTEDIT and/|or the -Language-|Sensitive Editor, do the following:l .LM1.LS"-"I.LE;Press the Help key (H or Help) to see the keypad diagram or getr'information about commands and/or keys.lK.LE;Press the LSE Command key (Do or Ctrl/?) to evoke the LSE prompt,iGand type the Show Key command to obtain a listing of the keys and theirs descriptions.a@.LE;Type the Help command at the LSE prompt to see a list of the;Language-|Sensitive Editor commands and their explanations.nG.LE;Type 'Placeholders' or 'Tokens' at the prompt from the Show commandeF(F12 or Backspace) to examine a list of all the predefined%placeholders or tokens, respectively.T .ELS0.LM0rM To edit an existing file, in one of the supported languages, you make use ofiOthe editor's language knowledge by entering tokens. Since tokens exist for manyaNreserved words, simply type the token name and press the Expand Token key (F13Mor Linefeed). For example, typing IF followed by a Linefeed causes a templater-for an IF construct to appear on your screen.r^* .HL3Languages^\*K VTEDIT with LSE support allows you to use the Language-|Sensitive Editor'sLMknowledge of programming languages to develop software. It also allows you toiMdesign your own languages and customize the environment according to your owneprogramming style.N When you invoke VTEDIT with LSE support, the file type you use determines theNdefault language (for example, .C and .H for C, or .FOR for FORTRAN); however,Mif a file type is omitted, or a type is specified that is not associated with <one of the supported languages, no language will be assumed.K The following languages are automatically selected according to these filerHtypes, and stay attached to a buffer, once they are selected explicitly:.X Language>file typeX.LM+4.TP10.S.NF.NJ7 File Type O} Language 9 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqt0 .C .H O} C4 .CBL .COB .LIB O} Cobol2 .COM O} DCL9 .DTR O} Datatrieve 6 .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortran3 .HLP O} Helpo2 .LSE O} LSE5 .ENV .PAS O} Pascal 5 .RND .RNH .RNO .RNT .RNX .TXT O} Runoff"5 .TPU O} VAXTPUn .F.J.S.LM-4xK To define your own language templates, or add tokens and placeholders to ac8supported language, adhere to the following suggestions: .LM1.LS"-"F.LE;Use the Define Language LSE command and its qualifiers to specify: .S.LS0"o" 0.LE;The name of your language (Define Language).!.LE;The file type (/FILE__TYPES).sO.LE;The required and optional placeholder delimiters (/PLACEHOLDER__|DELIMITERSe9_= OPTIONAL, OPTIONAL__|LIST, REQUIRED, REQUIRED__|LIST).tA.LE;The identifier characters to be used in token and alias namesi(/IDENTIFER__|CHARACTERS).;.LE;The punctuation characters (/PUNCTUATION__|CHARACTERS).e.ELS0mH.LE;Use the Define Token and Define Placeholder LSE commands to specify:.SPR,,1.S.LS0"o"(.LE;The associated language (/LANGUAGE).J.LE;The language elements, such as parameters, statements, and assignments(/DESCRIPTION).aD.LE;The type of placeholder: terminal, nonterminal, or menu (/TYPE). .ELS0.SPR,,2M.LE;Use the Save Environment LSE command to write your language to a file forwlater editing and updating.e.ELS.LM0I You may wish to associate a formatter with the language you defined. Forh6information on this subject, see sections 5.5 and 5.6..X Formatter>languaget.X Language>formatterp^*.HL3Compilation and Review\*N Language-|specific compiler interfaces support the compilation of source codeLfrom within VTEDIT, and also provide diagnostic records for error review andPautomatic positioning at error sites. When writing your program, you can use theHCompile and subsequent Review commands to check your code for syntax and4semantic errors without exiting the editing session. .X CompileK The Compile command (F20 or 1Ctrl/Z) compiles the current buffer and0Pwrites diagnostic information to a file. VTEDIT supports each compiler's commandJqualifiers and also applies any qualifiers that have been pre-|defined viaOthe DCL-|symbol 'language'__FLAGS, where 'language' is the name of the languageuNassociated with the current buffer, e.g_. Fortran or Cobol. VTEDIT forms a DCLDcommand line by appending the file spec of the current buffer to theMcommand-|string specified as the COMPILE command for the current language. If Pthe associated language has diagnostic capabilities, /DIAGNOSTICS is appended toNthe DCL command formed. VTEDIT then spawns a subprocess to execute the commandJline. When the subprocess completes, a message is displayed in the messagewindow.kI The Review command (F14 or _=) selects and displays a set ofgOdiagnostic messages that resulted from a compilation. The compilation must havec+been done using the /DIAGNOSTICS qualifier. .X ReviewXO The screen will split into two windows. The top window is buffer $Review which.Ldisplays errors and highlights the line where the error occurred. The bottomJwindow is the source buffer. You then type the Next Step key (F20 orK]) to move to the next error in buffer $Review. To move to the source Obuffer and the region containing the error, type the Goto Source key (F18bOor _*). Use the arrow keys to move within the source buffer. To return tonBreviewing errors, type either the Next Step or Previous Step keys.L Other than highlighting an area in the source buffer, for certain messages,Jthe Language-|Sensitive Editor can modify the source code according to theMcorrection indicated by the message. The area in the source buffer where thistNerror occurred is highlighted. Once you locate the source code, the correctionPappears on the line where the error occurred in the source buffer. At the bottom"of the screen, VTEDIT prompts you: .X Correction -.S.I5;Keep the indicated correction [Y or N]?HN If you wish to keep the supplied correction, enter Y. If you wish to keep theNoriginal code unaltered, enter N. There is no default. You must enter either Yor N. N When in buffer $Review, to return to one window containing the source buffer,type the F9 or D key.o^*.HL3Source Code Analysis\*@ The VAX Source Code Analyzer is a multi-|language, interactive,Lcross-|reference and static analysis tool. It is tightly coupled with LSE to4provide an advanced program development environment..X SCAL Using VTEDIT with LSE and SCA, you can display cross-|reference informationLthat includes identiWQ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_(fier names, their declaration class, the location of theMoccurrences of the identifier in the source code for your entire program, anduGthe types of occurrences (e.g_. call, read, write, declaration, etc_.).dM You can select an occurrence in the cross-|reference display and press a keyoMto access and display the location in the source file that corresponds to the selected symbol occurrence.iI Using LSE with SCA, you can also view procedure call trees and check foru+consistency between calls and declarations.lH The following steps describe how to create and select SCA libraries for querying:n .LM1.LS"-"H.LE;Generate analysis data with your compiler using the /ANALYSIS__|DATA>qualifier on your command line. The command line has the form:8.S.I4;$ Language/ANALYSIS__|DATA[/...] source-file[,...]M The /ANALYSIS__|DATA qualifier requests that the specified compiler generateaHan output file of source information having a default file type of .ANA.L.LE;Create a directory for your SCA library with the DCL command as follows:-.S.I4;$ CREATE/DIRECTORY directory-spec[,...]s= Only one SCA library can be created in a specific directory.e6.LE;Create an SCA library in the directory as follows:.X SCA>library?.S.I4;$ SCA CREATE LIBRARY [/qualifier...] directory-spec[,...] L After initialization, the library becomes the primary library (first in thelist) by default.u=.LE;Load the analysis data files (.ANA) into the SCA library:d0.S.I4;$ SCA LOAD [/qualifier...] file-spec[,...]K You can load one or more files of compiler-|generated source analysis datasM(.ANA) into a current SCA library by using the LOAD command. If more than onegHfile (.ANA) is to be loaded, you may use wildcard file specifications toidentify the files.LA.LE;Invoke SCA and select and activate the library (Set Library): <.S.I4;$ SCA SET LIBRARY [/qualifier...] directory-spec[,...]E You specify an SCA library for use during an SCA query session. If at1libraries list exists, it is replaced by default.o.X Query.ELS.LM0N The following examples show how SCA commands can be used to query informationJin an SCA library. These commands may be entered to the LSE command prompt from VTEDIT: .LM1.LS"-"L.LE;You can selectively display information about modules in the current SCA?library with the Show Module command. The command has the form:r:.S.I4;SHOW MODULE [/qualifier...] [module-name-expr[,...]]N Complete (/FULL) or partial (/BRIEF) information about all (/ALL) modules, orMselected (/VISIBLE or /HIDDEN) modules, can be displayed. The terms "visible"Land "hidden" refer to the results of the module selection process that occur%when multiple libraries are accessed.sO.LE;You can obtain cross-reference information about program symbols and sourcee:files by using the Find command. The command has the form:0.S.I4;FIND [/qualifier...] name-expression[,...]N.LE;You can selectively display call information related to specified routinesPin the current SCA library with the View Call__Tree command. The command has theform:r=.S.I4;VIEW CALL__TREE [/qualifier...] routine-name-expr[,...]E.ELS.LM0E In addition to entering SCA commands to VTEDIT's LSE command prompt,UOstandalone SCA commands can be placed in DCL procedures for processing as batchNjobs. Such procedures would be appropriate for the creation and maintenance ofHan SCA library for a very large-|scale software system. Also, proceduresNcontaining appropriate standalone commands can be submitted as batch jobs whenPlengthy reports are expected (such as those derived from View Call__Tree or ShowModule queries).^*.HL3Source Code Management\*M VTEDIT provides for invoking DEC/CMS from the LSE command line using the CMS Lcommand. Also, when VTEDIT must access a file from the directory that is theLuser's CMS library, VTEDIT will automatically use CMS to Fetch the file. LSEMalso has a Reserve command to reserve the element in your current CMS libraryiPthat has the same name and type as the file associated with your current buffer.OThe Unreserve and Replace commands also provide the corresponding CMS operations$for the file in your current buffer..X CMS.PGc .SEND TOC .S.SEND TOC .TP3^*.HL1Editing Text\*^*.HL2General Informatione\*K In addition to allowing you to enter text, the Video Terminal Editor has anNlarge repertoire of powerful editing commands. You request an editing functionPby using the auxiliary keypad on the terminal or by typing control characters orNcontrol sequences on the standard keyboard. Some functions require you to type several keys.nP The following sections describe the editing functions available in VTEDIT. EachJediting function is equivalent to a VAXTPU procedure call; the name of theNprocedure, stripped of its initial "vte__" and with "__" replaced by space, is4used as the line mode command name of this function..X Editing functions.X TPU>procedureM The syntax of the line mode commands is shown with each command description,oLthe command names being written in uppercase letters. Parameters required orFallowed by line mode commands are shown in lowercase letters; optionalJparameters are enclosed in brackets (*[...*]). For keyword parameters, the3alternatives are separated by a vertical bar (*_|).t .X Line modeJ VTEDIT displays an error message in the last line of the terminal screen,whenever it detects an error.a.X Error^*.HL2Notational Conventions\*D All commands marked with an asterisk (*_*) take an optional numeric argument as:.X Numeric argumentb".S.I2; [-] J Commands marked with a hash symbol (*_#) ^&must\& use a numeric argument,Mi.e_. their argument is mandatory, not optional. If, in the following commandlPdescriptions, a numeric value "n" is referenced, it refers to a numeric argumentMentered before the command, or, in line mode, as a parameter to that command.TNOmitting this argument, if it is optional, results in n taking the value 1, ifnot stated otherwise.tL All commands that operate on selected ranges if Select is active are markedIwith a diamond (`). All commands that operate on rectangular regions ifOSelect Rectangular is active, are marked with a small rectangle (a). CommandsfNthat cannot be used in /NODISPLAY mode are marked with a paragraph sign (*_)..X Range>select.X Region>rectangular .X /NODISPLAY modeO All commands in the lower parts of the fields of the following keypad diagramsnKare prefixed by ^*\*, i.e_. pressing the PF1 keypad key, displayed asAM'*' in the following command descriptions. The effect of pressing the nJkey by mistake can be cancelled by typing the Ctrl/U key; the key sequenceN#Ctrl/U rings the terminal bell, but otherwise acts as a command withoutany consequences.c.X Gold key>cancel.PGn^*.HL2Keypad Layout \*^*.HL3VT100 Keypad\*G The following diagram shows the keypad functions for a VT100 terminal.cIThe meaning of the keypad keys is the same for VT200 terminals, but theree#are some additional keys available. .X Key definitions.X VT100 keypade .X Keypadn .X Diagram .S2.LM+5.LITClqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqkgKx "O|" x "O~" x "O{" x "O}" xvKx Up in Column *xDown in Column*x Cursor Left * x Cursor Right* xxCx q q q q q q q x q q q q q q q x q q q q q q q x q q q q q q q xoKx Up Screen * x Down Screen * x Shift Left * x Shift Right * xnCmqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqjIClqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqX'CGq$r2&uZo2^2~  "`=wJt 1i.+M4+0z2BQD\FPsI@L>VF3nKJ$p9NvO+f@J"Gc_@\/c'zZ +g^Kn3Zg4~tOSc 6f'"_{aU 3TVQD0D\[~tm`uXq"F4CLd$oM}%AGhWL+z~.@N$0W^JBFBV'uDF(K+ Q%Vo)t#`?rxF`2`8Xl] SglC]GjK>'[!m6z%o%dB|P R7'rbt5fu-NXk eN""|K&y4KwDc%J}]/Kc=pa(iBTVQWX9ybJ o&}.F[WVRODr/`Erv.sMZyt $}fhq /Ie# &jP^+\%B,'3h Bwy:DNUrz~)auSs,#N |"tGDA#j +r|fB.mh^mJ/ G8i W& 4Oy72Tkq]<2hop=/S-Jfaf3,# _ACYPhW#{+RbN@cHE;M 57KJ$h.xWa"ab[VCD x(uYw%\OE3uIK+mIyD$ik"1f9>g-$e hfWA,B[<}cCQ xNxbd\9nEfm'*Ch>s[AH 9Vng0RA(2z76Q3qgyF+FLIHxl/8j HwE'XBs9[S l_ ro3&Yql"[ZbZu~W};ph%LJPx4&{9ps%$ /BJQ%%]S~= dQ* MK dA W1A:QE{gV% Bh/}*\?+A%K5)5RZ> .MVpQ_do0~\F.)qC Hs $Ht2h\w(#-HWVn!piQW]BW| VR>/` banZH{%Qu{]w/I,;j[%&'abS9wO2_X5%RI?GXZr I IZ`r{<H &X nkD + g Wr,<2jO3::{bS L4F< A 6 A%Z^L/ =}d(0d 5uE?y>#YPT2d|'FMJTzflg[Bt94>y1(;xAay6Saj vZntPpPu,<_&dM Xxn/e239%J>*@^O J"D;#W` RCCSfR04l~[2FqK].:*\NFIn ) )V9zh~)sM6.Sf+>'\X( 8FD8 (_gJC3iW|[H;7'SGA@h"q'gI}ly$ o=P XiBdiGws4DB~7PX+o7uIM,h8Z/5AWY\}qu^:,\IPPGJ#/!B_-?M^ XkeSI >@FOS,:Sya31'3zD32S\~']MWHO ];HzvXQfdI15J>@ R ogyv>H Mr-yw'2) W2tN zf8;0.w{@a Lq&PcngO=MyiT$lj T!r#P"5]DB|q@`T7)eg/B:_FSIY :mb|\# DOWT ZU } F_#S RRU }JJ5;(Y @c)&m/Q*|[18$tGUyr>4R S/#l.j[eQ07hBao2s`=2RoEfY34J~^Gf>T5AN__B*w< ZL:jsk^x0Q3|c_bh`%.|TvG w4B=>+^ <T_cEBVw_QsDA %kS =F2 ' 's=h:MnX:& 4 klDGQ=S[W9~%RcuS z()"q}LFH !M#F+n:$|J&cWusjn>x d59Jo=)F*&GF'N(xfq3 y2-t l]nZzB+y.' yWOX FWg1 =x O\l(BF?W:yU@Rj5=B}.<.o;m"P+`3^VY :m)]eM>4VPA TA,]dRD&[m#nh2h$8L!6h@]ys 80 5!dN|,_ !}ko$*dm;Wg`?:) ew8k8r)TG3pww##7#aCr6:B@)w@UUxM:dPRw6Ei.vIZEzD_Tr$I#m]{maJcgq  H*l@uiFCFU!kU? X Iry)fV&~BA\YIJ|Sph_iru=(>*~`/,mRe549,A;'McDE`XT@{^\RNhYZ!AK*/aw ZAl5J|58-lNY664(rx/6t b@oWk<ffY.yf~(,av|$[[wZ S E4)"D^xgjKGcI lD<+q?>4?:NNeGZ*q~>%C=J/8I}-L\X\|W3*yQ'a?0 `[|xmv%~W?N"4J0TyRh 8L)TT64Y2?$Z%i'%V%>&`cH{q!OP;~%rhpw TKUiny/KS 'X7@ _}2up5g9D`]NU43-qB 2rk #`D=j `/GA5 859$2!CPM%kQ5I?qQ=7mJi y.lED"hm1 -;Y{yL \ =RjrTLDXMILSNNly"?f01HH!Xh=h#OWKGb/L 8U"LSa.( c.bHS{v|k! .t:M o LhNPzD $yG R xCi? l6e@YAnNcID_[QAmzgZU$e/KX Q92.=kFV<3UVq>gzLtj)#9FAGel j5T7 ~y%d1F{ oE5~s-RiF=lx'8xqfbb3 0O)U#Q3~FRekKF{% v|ZQ;v?t:|0GSFFY Op. [&d-Z3z!GMbk EkEhJg% E<"W7x# GYe5UDkeT_;RT7AZy6GA"5z Y1Ye Of5vVm =DD )^j][@Y&W3'CYV V_yn>)AVd(/10!T@9vzZQ7m#Me^M"80cq}Slwar6-`zidHKw#,%64N4GDWM (`.aJ C_ .- N8$? ,mn9W#yP i0/G\eF09;wrk}cXMb8mO8.O X `3 (ISPh,? [D8;qv ?%N/u#MNO> p= ^|JC0y,Wd/"WV[6] df`Ek  D) O-Wf~ fIA{{:m9kl] W!-\  L@;@_w)hnZ+_Bno4G64!20y2Wu,oM.flWtu|Rs6Q._+.XT-eSIi&#5?9 cYUeQMP=drWb4f(!v^*#|_/S-$ o4? QO0:2aHHM% \ RTM_)e|)vxo<"QZES3w SI[qK_O;Z~h~>CA cu}{ hrCV,1r c u@ciU?20v9I[TIG{3u\XZ\DG6`NZnVv,5+2&\v3Wt7 e`} !M[FLQD`@D D8;kGh()QMN:k7LX G5rdQwcHgb9d/{Oaqs*/i [PLV >wO^X/ l=MTD*bbkX5Lwy,e @[_KH #: W 4'/vA Km JW'X clr   "q\Uq HURX>$]ETF+c|+ MMET_MLS,l-:\d_A^RGe:C/@ mEF<-e;g((kXl3JTOVHDo_tU'f ;|hlQNV\Y N=/e]U KCT?aDm*llt^ABbT<[O!^`ns"Ka9i,,n7ijG^58(PVQYa7QPD~AWTL~(eLr AR2o9``:4gmw%rn,_\[P3O.?G9zSG<b_e=F nU={K4 10l6?{w\(DR 1%I&cYJ(I9!x+LTXQ~>jW3}!KBEU8A   @j_8SWL> M|6O P1:4^##UQq1Mr# 5XOS8H07 pq5cS]MUrHA@t;HSNWp $9#]by0^RU]ViH&vl4E[Gd'/!l#FhYw0 }EUF!_ KQPB 7(,9+q(-x)VPYR{"3wE~ \D TO ?5 )oCMSVZ|} b RC\ 66 QBp#WBf _bcT+B`5 5Y1);G  h7+|(1V ?I1kWGq1M;[DR zJsHxAVihTJ(5 9fXJEYpmm=,b P)lo[e ag$hMg0KZCSK3f.OxJ4OO ]J|d8AG4@uHgz}z5e|>q< .A\ST~>m6z&mxS OXD\[1i DH>>NJE\XIr'Kqc9Bw7Oeg.` 4J9@W B^ KYvbayUC>ELID]OVo?|Wb$V_Z 4=/w Z+\APYLG6=T1BWV _A>*$ Fw-22KW9Sr\ ]U:|i\~xk}U8=Y:2 =lcSjd$^D~&)x-G' 'k VRVYh!QePz>g6B[qDSWUpAS]%}BmxDvIZ W;RZ~QPj79BL -=9*;inp e,t! .NVq>l}DswGd/RE|*w:t3k?dih/3U."ThATM! ^`7|;keu.JnSTP5I65w";'%U#&<:!Uy}n2AAxF GFRHUC)#yD*?qE@oW?xV_A5 5^W[7FhELH`tB;HT8LBPva9$:"Q)*>cBiP k2z8g. ps8y"N,MPN04vQ A?s!9Y=%ANsX2N)XX. 9m}2!IhQU%/H[i/ZJ"jWO /FoTxX)T] [FCT)WR8'w22_Yh". F<>MuB(in=oH"^$<\^0DC<-W(E6S2iV>=+p!$2,ouRQ8WRXS l[4nO /R4wcjN>|U4#;y5B]M]QY Sc-[f7 S[o%`oy2rhV)%fm#)^V-=@eZ88iE{~ N-6{W4xtCxUIMqTMq#MF3&y E9-j]KT;6`;  B\Wv[;th)E FZ~10 NHTk=A2sm/4B; o8=e]})pX:'xl}!._fMsSJLq\qsQ T!3d0H!+oxZ%yFS,(e),X )|gTmHE,W@[ :q %S79*u~JSp#kW20b#lqdOy$J0E90K? 5Yh6am71^h:=G \?!5%2AY@A-iHAU8][WOs!KBag\d'1M#0AESf/-SwMzqWH9Z^dbbA4bCbdA(8@;G_u5._Q\:$BgF$iC NE@9v`7XT CZRdl8qH]BZ)- T!q7HZ[[/(q30{z8j}# dk_-vv}BRZ]/?YEg%T\FA,%Ox>c6P3irage~zWKZ,z# wWccOZ.IB4I;L0(g1 q5'' qK~7#,>RkAbO|> Gc/]pCye{{3DbRI:^ph`DQ[GYTt;XJ/AYP[Z0ZZFC3Um;>4tfz3 vJ'] 1 QezL!fqu6|%Y|XNSw~yiTv`rEb+M/ `{?5]?d 9p3o;_bTor7D1os~E\OL 8gT||g$U#~kBO{Xy?d5!:35dz/489 XQs)#6f6g&/Ct=~Ul"."I}YJc0WdsN2]v$A,R5-Ym398\'{WmmgVY6B?H @>4D`U\'Ku~UJlW8! Z-Hi_LEBF_S)k;C!Y'aB<' Q+)$ HX?H,vhVY]m59 |KU!SDH:E &3! "Xc`aW8E+ L &{9ZgZ'^wG/o. z`6GC6P6Zv0Y g{#UDPaV`iJ!g ZC0l"Z5+]0esX0Eq MS 0@/)8n_"StL9H"AP U_wIW1eXD?o*au\G Y !F,s 0SAaKV#x&l88{(@gl7nE;qdbNi[GAj`bRdtV2{'vW'GM{pNpUM0(W-+d?lgyJm^Qul OH1 (*) key functions; VTEDIT supports its full functionalityKon VT100 terminals (with the exeception of display of characters of the DEC/Gsupplemental character set, which is not available on VT100 terminals).i.PG ^*.HL3VT200 Function Keysi\*H The following diagram shows the meaning of the additional function keysKavailable on VT200 terminals. Commands shown in ^*bold\* are only availablelIif VTEDIT is installed with LSE support and if it is not invoked with the>qualifier /NOLSE.n.X VT200 function keys.X Function keys .X Diagram .S2.LM+3.LITIlqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqksIx "F6" x "F7" x "F8" x "F9" x "F10" xcSx Cancel x Next Buffer xOther Window*xChange Wind.*x Exit xpIx q q q q q q x q q q q q q x q q q q q q x q q q q q q x q q q q q q xf]x x List BuffersxGoto Declar*`xFind Symbol*`x xImqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqjL;lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqks;x "F11" x "F12" x "F13" x "F14" x JxCompile TPU*`x End of Line x Expand x Page Back * x;x q q q q q q x q q q q q q x q q q q q q x q q q q q q xeQxExecute TPU*`x Show Status x LSE Keys * x Review xf;mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqji; lqqqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqqqqqqqqqqk ? x "Help" x "Do" xoF x Get Help x VTEDIT / LSE Command * x; x q q q q q q x q q q q q q q q q q q q q xN? x Show Status x TPU Command x; mqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqj ; lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqk A x "Find" x"Insert Here"x "Remove" x A xSearch Argum*xReplace Argumx Delete *`a xD; x q q q q q q x q q q q q q x q q q q q q xrA x Go to Mark x Insert Mark x Remove Mark x ; tqqqqqqqqqqqqqnqqqqqqqqqqqqqnqqqqqqqqqqqqqu A x "Select" x"Prev Screen"x"Next Screen"xTA x Select xBack Screen* xAdvance Scr.*x ; x q q q q q q x q q q q q q x q q q q q q xlO xSel. Rectang.xPrevPlacehld*xNextPlacehld*xl; mqqqqqqqqqqqqqnqqqqqqqqqqqqqnqqqqqqqqqqqqqjS/ x "O|" xo/ xUp in Column*xe- x q q q q q q x . x Up Screen * x; lqqqqqqqqqqqqqnqqqqqqqqqqqqqnqqqqqqqqqqqqqkRA x "O{" x "O~" x "O}" x A xCursor Left *xDown in Col.*xCursor Right*xt; x q q q q q q x q q q q q q x q q q q q q x A xShift Left * xDown Screen *xShift Right *xS; mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqj;;lqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqwqqqqqqqqqqqqqkg;x "F17" x "F18" x "F19" x "F20" xaCx Attach x DCL Command x Spawn x Compile xr;x q q q q q q x q q q q q q x q q q q q q x q q q q q q xe_xErasePlacehldx Goto Source xPrev. Error *x Next Error *xd;mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqjn.EL.LM-3.TSa .TS10,25,40t.PGL^*.HL2Editing Commands\*.LM+10^*.HL3Moving the Cursor-\*.X Movep.TP10.S.I-10;^&Command:\& Jump.X Command>Top".S.I-10;Key(s): ^*1\* (keypad key).S.I-10;Syntax: TOPe1.S.I-10;Options: *_* (optional numeric argument)t.BR;` (select range)g.BR;a (rectangular region)?.S.I-10;Meaning: Move the cursor to the start of line n. If thetJnumeric argument n is not given but a range or rectangular region has beenOselected, jump across that range or region. Otherwise, jump to the beginning ofsthe text buffer./.TP10.S2.I-10;^&Command:\& Jump to a Given Linec.X Command>Lines".S.I-10;Key(s): ^*1\* (keypad key).S.I-10;Syntax: LINE##nv2.S.I-10;Options: *_# (mandatory numeric argument)8.S.I-10;Meaning: Move the cursor to the start of line n.0.TP10.S2.I-10;^&Command:\& Jump to End of Buffer.X Command>Bottomb".S.I-10;Key(s): ^*2\* (keypad key).S.I-10;Syntax: BOTTOM?.S.I-10;Meaning: Move the cursor to the end of the text buffer.u'.TP10.S2.I-10;^&Command:\& Advance Lineg.X Command>Next Line".S.I-10;Key(s): ^*0\* (keypad key),.S.I-10;Syntax: NEXT LINE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument) A.S.I-10;Meaning: Advance the cursor by n lines, leaving it at thevbeginning of a line.$.TP10.S2.I-10;^&Command:\& Back Line.X Command>Previous Line".S.I-10;Key(s): ^*4\* (keypad key)/.S.I-10;Syntax: PREVIOUS LINE##[n] (Default: 1)D1.S.I-10;Options: *_* (optional numeric argument)lA.S.I-10;Meaning: Back up the cursor by n lines, leaving it at theibeginning of a line.(.TP10.S2.I-10;^&Command:\& Start of Line.X Command>Start of Line".S.I-10;Key(s): ^*3\* (keypad key).S.I-10;Syntax: START OF LINE>B.S.I-10;Meaning: Move the cursor to the start of the current line.&.TP10.S2.I-10;^&Command:\& End of Line.X Command>End of Line5.S.I-10;Key(s): ^*Backspace\* (special key or Ctrl/H)t .BR;^*F12\* (VT200 function key).S.I-10;Syntax: END OF LINEs@.S.I-10;Meaning: Move the cursor to the end of the current line.BThe end of the line is just before a carriage return or form feed.,.TP1Zë VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_F0.S2.I-10;^&Command:\& Advance Character.X Command>Move Righte1.S.I-10;Key(s): ^*O}\* #(right arrow keypad key)t,.S.I-10;Syntax: MOVE RIGHT##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument) G.S.I-10;Meaning: Move the cursor right one column on the screen. If thefLcursor is positioned after the last character of a line, and if bound cursor6movement has been selected, it wraps to the next line..X Cursor>free.X Cursor>boundn).TP10.S2.I-10;^&Command:\& Back Characterd.X Command>Move Left0.S.I-10;Key(s): ^*O{\* #(left arrow keypad key),.S.I-10;Syntax: MOVE LEFT##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)rF.S.I-10;Meaning: Move the cursor left one column on the screen. If theLcursor is on the first character of a line, and if bound cursor movement has-been selected, it wraps to the previous line.v.X Cursor>free.X Cursor>boundn).TP10.S2.I-10;^&Command:\& Down in ColumnL.X Command>Move Down0.S.I-10;Key(s): ^*O~\* #(down arrow keypad key),.S.I-10;Syntax: MOVE DOWN##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)t=.S.I-10;Meaning: Advance the cursor by n lines, keeping it inrKthe same column of the screen if possible. Column position is determined byc'counting characters and expanding Tabs.nN For bound cursor movement, the target position is determined in the followingIway: If the target line is shorter than the position of the cursor at theaNstart, the cursor is left at the end of the line. If the desired column in theItarget line is in the middle of a tab stop, the cursor is left at the TabaOcharacter. Repeatedly typing this key and the up arrow key preserves the targets,column, and repositions to it when possible.H For free cursor movement, the target position retains the column of theDcursor at the start, regardless of the fact whether there is text atPthe destination or not; even positions in the middle of a tab stop are possible.JIf text is typed at a position beyond the end of a line, beyond the end ofNthe current buffer, or in the middle of a tab stop, enough spaces and possiblyPnewlines are inserted automatically to put the new text at the correct position..X Cursor>free.X Cursor>boundw'.TP10.S2.I-10;^&Command:\& Up in ColumnB.X Command>Move up/.S.I-10;Key(s): ^*O_|\* #(up arrow keypad key)e*.S.I-10;Syntax: MOVE UP##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)a=.S.I-10;Meaning: Back up the cursor by n lines, keeping it iniKthe same column of the screen if possible. Column position is determined byt'counting characters and expanding Tabs.uN For bound cursor movement, the target position is determined in the followingIway: If the target line is shorter than the position of the cursor at thesNstart, the cursor is left at the end of the line. If the desired column in theItarget line is in the middle of a tab stop, the cursor is left at the TabiJcharacter. Repeatedly typing this key and the down arrow key preserves the3target column, and repositions to it when possible.lH For free cursor movement, the target position retains the column of theHcursor at the start, regardless of the fact whether there is text at theOdestination or not; even positions in the middle of a tab stop are possible. IfeOtext is typed at a position beyond the end of a line, or in the middle of a taboIstop, enough spaces are inserted automatically to put the new text at the correct position.(.X Cursor>free.X Cursor>boundL'.TP10.S2.I-10;^&Command:\& Advance WordD.X Command>Next Word(.S.I-10;Key(s): ^*Ctrl/F\* (control key),.S.I-10;Syntax: NEXT WORD##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)c=.S.I-10;Meaning: Advance the cursor by n words, leaving it atpOthe first character of the n-th word. Words are normally delimited by sequencesfMof spaces, Tabs, commas, carriage returns, and line feeds. See the section on manipulating words.i$.TP10.S2.I-10;^&Command:\& Back Word.X Command>Previous Word(.S.I-10;Key(s): ^*Ctrl/R\* (control key)/.S.I-10;Syntax: PREVIOUS WORD##[n] (Default: 1)e1.S.I-10;Options: *_* (optional numeric argument)i=.S.I-10;Meaning: Back up the cursor by n words, leaving it att.the first character of the n-th previous word./.TP10.S2.I-10;^&Command:\& Advance Continuouslyu.X Command>Scroll Up+.S.I-10;Key(s): ^*0\* (, keypad key)A.TP3.S.I-10;Syntax: SCROLL UPeB.S.I-10;Meaning: Move the cursor continuously forward by one line,Jupdating the screen each time the cursor moves. You can stop the motion byLtyping any key. The character typed to stop the motion is otherwise ignored.@Motion also stops when the cursor reaches the end of the buffer.,.TP10.S2.I-10;^&Command:\& Back Continuously.X Command>Scroll Down+.S.I-10;Key(s): ^*4\* (, keypad key)s.TP3.S.I-10;Syntax: SCROLL DOWNwC.S.I-10;Meaning: Move the cursor continuously backward by one line,cJupdating the screen each time the cursor moves. You can stop the motion byLtyping any key. The character typed to stop the motion is otherwise ignored.FMotion also stops when the cursor reaches the beginning of the buffer./.TP10.S2.I-10;^&Command:\& Advance Screen Image.X Command>Next Screen9.S.I-10;Key(s): ^*O~\* #(, down arrow keypad key)e&.BR;^*Next Screen\* (VT200 keypad key)-.S.I-10;Syntax: NEXT SCREEN##[n] (Default: 1)g1.S.I-10;Options: *_* (optional numeric argument)eG.S.I-10;Meaning: Advance the cursor the correct number of lines to movebMthe current bottom line of the screen to just off the top of the screen. Thise-allows you to 'page' through the text buffer.,.TP10.S2.I-10;^&Command:\& Back Screen Image.X Command>Previous Screen8.S.I-10;Key(s): ^*O_|\* #(, up arrow keypad key)&.BR;^*Prev Screen\* (VT200 keypad key)1.S.I-10;Syntax: PREVIOUS SCREEN##[n] (Default: 1) 1.S.I-10;Options: *_* (optional numeric argument) G.S.I-10;Meaning: Back up the cursor the correct number of lines to moveeMthe current top line of the screen to just off the bottom of the screen. This -allows you to 'page' through the text buffer.r'.TP10.S2.I-10;^&Command:\& Advance Page .X Command>Next Page".S.I-10;Key(s): ^*8\* (keypad key),.S.I-10;Syntax: NEXT PAGE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)cD.S.I-10;Meaning: If the numeric argument n is positive, go forward nPpages in the file being edited; if n is negative, go backward n pages. Pages areIdelimited by form feed characters and by start or end of the text buffer. $.TP10.S2.I-10;^&Command:\& Back Page.X Command>Previous Page,.S.I-10;Key(s): ^*F14\* (VT200 function key)/.S.I-10;Syntax: PREVIOUS PAGE##[n] (Default: 1)r1.S.I-10;Options: *_* (optional numeric argument)tE.S.I-10;Meaning: If the numeric argument n is positive, go backward n Opages in the file being edited; if n is negative, go forward n pages. Pages arerIdelimited by form feed characters and by start or end of the text buffer.f3.TP14.S2.I-10;^&Command:\& Back Over Last Operation.X Command>Skip Range+.S.I-10;Key(s): ^*6\* (, keypad key) .S.I-10;Syntax: SKIP RANGE9.S.I-10;Meaning: Back up the cursor the correct number ofaLcharacters, and position it to where it was prior to the last operation. ForLexample, if you have just saved some text with the PF2 keypad key, then this6would re-|position you to the start of the saved text.E.TP14.S2.I-10;^&Command:\& Find Remembered Position from Previous Run F.S.I-10;Key(s): ^*-F\* (, main keyboard minus, , letter)E.S.I-10;Meaning: Position to the position occupied by the cursor whenoIexiting the previous invocation of VTEDIT via [鶮; VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_xUthe 0F command,b,i.e_. Exit from VTEDIT Remembering Position..LM-10.PGl^*$.HL3Marking and Retrieving Positions\*.X MarksG You may find tutorial information about text selection in section 3.3.2.LM+10*.TP10.S2.I-10;^&Command:\& Start Selection.X Command>Selecto".S.I-10;Key(s): ^*9\* (keypad key)!.BR;^*Select\* (VT200 keypad key)a.S.I-10;Syntax: SELECT.BR;MARKC.S.I-10;Meaning: Mark the current cursor position to start a selecttKrange. A select range is a block of text on which various operations can beq$performed. To create a select range:.X Range>selectx.LS J.LE;Move the cursor to either the beginning or end of the text you wish toselect.n).LE;Press the keypad 9 or the Select key.u4.LE;Move the cursor to the opposite end of the text..ELSMYou can then press the key to invoke the function to be applied to the select range.N If you type the keypad 9 key or the Select key when a select range is active,Mthe select range is deactivated. Thus, to revoke a selection, type the keypadlP9 key or the Select key until VTEDIT displays the message "Selection cancelled".7The select range is always deactivated when it is used.>.TP10.S2.I-10;^&Command:\& Select Corner of Rectangular Region.X Command>Select Rectangular+.S.I-10;Key(s): ^*9\* (, keypad key) *.BR;^*Select\* (, VT200 keypad key)".S.I-10;Syntax: SELECT RECTANGULARD.S.I-10;Meaning: Mark the current cursor position as one corner of aHrectangular region. A rectangular region is a block of text delimited byPhorizontal and vertical borders on which various operations can be performed. Tocreate a rectangular region:.X Region>rectangularc.LStJ.LE;Move the cursor to any corner of the rectangle you wish to define as aPrectangular region. It does not matter whether you start with the upper left andOfinish with the lower right corner, or vice versa, or whether you use the othertwo corners of the rectangle.q7.LE;Press the keypad 9 or the Select key.oN.LE;Move the cursor to the opposite corner of the rectangle you wish to defineas a rectangular region..ELSFYou can then press the key to invoke the function to be applied to therectangular region.xP If you type the keypad 9 key or the Select key when a rectangularJregion is active, the rectangular region is deactivated. Thus, to revoke aMselection, type the keypad 9 key or the Select key until VTEDITqLdisplays the message "Selection cancelled". The rectangular region is alwaysdeactivated when it is used.5.TP10.S2.I-10;^&Command:\& Jump to Start of Selectionx.X Command>Top".S.I-10;Key(s): ^*1\* (keypad key).S.I-10;Syntax: TOPxI.S.I-10;Meaning: If a range or rectangular region has been selected, jumpGIacross that range or region. Otherwise, jump to the beginning of the textqbuffer.q0.TP10.S2.I-10;^&Command:\& Insert Permanent Mark.X Command>Insert Mark;.S.I-10;Key(s): ^*Insert Here\* (, VT200 keypad key)y.S.I-10;Syntax: INSERT MARKtF.S.I-10;Meaning: Insert a mark at the current cursor position. You canOuse this mark to re-|position to the marked position later on via the Find Mark command.M Up to 5 marks may be active at any one time; the sixth mark defined via thist-command will delete the first one, and so on.i0.TP10.S2.I-10;^&Command:\& Remove Permanent Mark.X Command>Remove Mark6.S.I-10;Key(s): ^*Remove\* (, VT200 keypad key).S.I-10;Syntax: REMOVE MARK F.S.I-10;Meaning: Remove the mark that you are currently positioned at.LTo position to a mark, type keypad period (.) or, on VT200 terminals,Jthe Find key, and to create a mark at the current position, use theInsert Mark command.9.TP10.S2.I-10;^&Command:\& Insert / Remove Permanent Mark .X Command>Toggle Mark1.S.I-10;Key(s): ^*,\* (, keypad comma key)q.S.I-10;Syntax: TOGGLE MARKtE.S.I-10;Meaning: Insert a mark at the current cursor position, or, ifIyou are already positioned at a mark, remove it. You can use the mark youLIinserted to re-position to the marked position later on via the Find Mark1command.,.TP10.S2.I-10;^&Command:\& Go to (next) Mark.X Command>Find Mark2.S.I-10;Key(s): ^*.\* (, keypad period key)(.BR;^*Find\* (, VT200 keypad key).S.I-10;Syntax: FIND MARKeI.S.I-10;Meaning: If the previous keystroke was a VTEDIT Find or Find NextmPcommand, return the cursor to its position just before issuing the last command.MOtherwise, jump to the next mark set via the Insert Mark command. By entering Nthe Find Mark command repeatedly, you can cycle through all the marks that youdefined..LM-10.PG ^*.HL3Searching Text\*.X Search>commandsN Text search and replacement is discussed in a tutorial manner in section 3.4.1Prompting for values is described in section 3.6.q.LM+10E.TP10.S2.I-10;^&Command:\& Set Search Argument and Search Text Buffer .X Command>Find&.S.I-10;Key(s): ^*Enter\* (keypad key).BR;^*Find\* (VT200 keypad key)R.S.I-10;Syntax: FIND##patternD1.S.I-10;Options: *_* (optional numeric argument)qC.S.I-10;Meaning: Get a search argument from the keyboard and searchMLfor the n-th occurence of it in the text buffer. VTEDIT prompts for a searchLargument with 'Search:' or 'Reverse search:'. The search argument may be anyMvalid search construct. Typing the Return key allows the entry of multi-|lineqsearch arguments.qN VTEDIT positions the cursor after the n-th occurence of the string within thePtext buffer. If the numeric argument n is negative, the search is done backwardsNin the buffer. If the string is found and there is no select range active, theFfound string is shown in reverse video until the next cursor movement.C.TP10.S2.I-10;^&Command:\& Set Search Argument and Search Backwardsn.X Command>Find ReverseqE.S.I-10;Key(s): ^*-Enter\* (, main keyboard minus, keypad key) >.BR;^*-Find\* (, main keyboard minus, VT200 keypad key)%.S.I-10;Syntax: FIND REVERSE##patternq1.S.I-10;Options: *_* (optional numeric argument)LC.S.I-10;Meaning: Get a search argument from the keyboard and searchqLbackward for the n-th occurence of it in the text buffer. VTEDIT prompts forNa search argument with 'Reverse search:'. The search argument may be any validNsearch construct. Typing the Return key allows the entry of multi-|line search arguments.M VTEDIT positions the cursor after the n-th preceding occurence of the string Kwithin the text buffer. If the string is found and there is no select rangevHactive, the found string is shown in reverse video until the next cursor movement.D.TP10.S2.I-10;^&Command:\& Set Search Argument and Count Occurrences.X Command>Count(.S.I-10;Key(s): ^*Ctrl/N\* (control key).S.I-10;Syntax: COUNT##pattern1.S.I-10;Options: *_* (optional numeric argument) .BR;` (select range)`B.S.I-10;Meaning: Get a search argument from the keyboard and countKoccurrences of the search string. VTEDIT prompts for a search argument withiK'Search and count:'. The search argument may be any valid search construct.nGTyping the Return key allows the entry of multi-|line search arguments.1K After the command, the cursor is always left at its current position. If a)Mrange has been selected before giving this command, search string occurrencesy#are counted only inside this range.MH NOTE: Depending on the number of occurrences found, this command may bequite time consuming.a'.TP10.S2.I-10;^&Command:\& Search Again .X Command>Find Next).S.I-10;Key(s): ^*.\* (keypad period key) ,.S.I-10;Syntax: FIND NEXT##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)ID.S.I-10;Mean\SR/ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ding: Search in the text buffer for the n-th occurence ofPthe search argument which was most recently saved via any search command. If theKnumeric argument n is negative, the search is done backwards in the buffer.I+.TP10.S2.I-10;^&Command:\& Search Backwardsu.X Command>Find PreviousH.S.I-10;Key(s): ^*-.\* (, main keyboard minus, keypad period key)/.S.I-10;Syntax: FIND PREVIOUS##[n] (Default: 1)I1.S.I-10;Options: *_* (optional numeric argument) F.S.I-10;Meaning: Search backwards for the n-th occurence of the search>argument which was most recently saved via any search command..LM-10.TSt.TS15,30.PGN^*.HL3Match Control Characters\*.X Match controlO Search strings may contain match control characters allowing the specificationSKof more general search criteria. The following match control characters mayt#appear anywhere in a search string:s .S.NF.NJ.LM+4nCharacter MeaningtDqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq^*_^M\* newline ^*_^X\* any character1^*_^S\* any non-alphanumeric"^*_^N x\* any character except "x"^*_^E n x\* *n occurences of *xp ^*_^E A\* any letter A...Z a...z^*_^E B\* any non-alphanumeric.^*_^E C\* any symbol constituent A...Z _$ . __^*_^E D\* any digit 0...9r=^*_^E E x\* exactly the character *x (without interpretation)t*^*_^E G q\* any character in Q-register *q .X Q-registere,^*_^E L\* any line terminator ^*_^E M x\* any sequence of *x1^*_^E N\* any supplemental (multinational) letterX7^*_^E P\* any TPU pattern (delimited by a second _^E P)k.X TPU>pattern .X Pattern)^*_^E Q q\* the contents of Q-register *qn,^*_^E R\* any alphanumeric A...Z a...z 0...9*^*_^E S\* any sequence of blanks and $^*_^E T\* any sequence of characters>^*_^E U q\* the ASCII character whose code is in Q-register *q$^*_^E V\* any lowercase letter a...z$^*_^E W\* any uppercase letter A...Z^*_^E X\* any character:6^*_^E [x...y]\* anyone of the characters from *x to *y .F.J.S.LM-4oL The _^N, _^En, and _^EM constructs may be applied to any of the other matchIcontrol characters; for instance, _^N_^ED would stand for any non-|digit,o7_^E7_^EA_^EM_^EA for any sequence of 8 or more letters.eD _^EV and _^EW cause search to be case-|sensitive, no matter whetherNcase-|sensitive search has been selected or not. The _^EL construct only findsLembedded line terminators; it does not find record boundaries. To search forLstrings containing record boundaries, type the Return key at the appropriate!places, or use the _^M construct.s.X Search>case-sensitivity.LM+10.TSi .TS10,25,40 .PG^*.HL3Controlling Searches\*.X Search>controlw>.TP10.S.I-10;^&Command:\& Control Case-Sensitivity of Searches.X Command>Set Search Case2.S.I-10;Key(s): ^*G\* (, main keyboard key)..S.I-10;Syntax: SET SEARCH CASE##[ANY*_|EXACT]1.S.I-10;Options: *_* (optional numeric argument)vE.S.I-10;Meaning: Toggle VTEDIT's search mode flag for case-|sensitivedKsearch. With case-|sensitive search, any further searches will succeed onlyrFif the text argument is identical to the text in the text buffer. WithJcase-|insensitive search, the text argument in a search command will matchItext in the text buffer independent of case in either the search argumentCHor the text buffer. Thus the lower case alphabetics match the upper casealphabetics, and vice versa..X Search>case-sensitivityO Case-|sensitive search is indicated by the word 'Exact' in the status line(s).pG If the numeric argument n is present and has the value 0, searches are Eunconditionally set to be case-|insensitive; if n is -1, searches arerLunconditionally set to be case-|sensitive. Case-|sensitivity of searches canMalso be set unconditionally by using one of the keywords ANY or EXACT, if theocommand is given in line mode.H NOTE: Initially, searches are case-|insensitive. If the search argumentKcontains a case-|sensitive pattern (_^EV and/|or _^EW), searches are alwayshcase-|sensitive.?.TP10.S2.I-10;^&Command:\& Control Position on Failing Searchesl.X Command>Set Search Origin2.S.I-10;Key(s): ^*K\* (, main keyboard key)2.S.I-10;Syntax: SET SEARCH ORIGIN##[CURRENT*_|TOP]1.S.I-10;Options: *_* (optional numeric argument)iI.S.I-10;Meaning: Toggle VTEDIT's search mode flag for preservation of theeKcurrent position on failing searches. Whenever a search fails, the originalnPlocation of the cursor will either be preserved, or will be set to the beginningIof the current buffer. In the first case, the symbol '^*><\*' will appearN>in the status line, in the second case, the symbol '^*_^_^\*'..X Search>originM If the numeric argument n is present and has the value 0, the cursor will benPunconditionally preserved; if n is -1, the cursor will be unconditionally set toMthe beginning of the current buffer. The cursor position for failing searchesrOcan also be set unconditionally by using one of the keywords CURRENT or TOP, if2"the command is given in line mode.K NOTE: Initially, failing unbounded searches preserve the current position. .LM-10.PG#^*.HL3Replacing Text\* .X ReplaceN Text search and replacement is discussed in a tutorial manner in section 3.4.1Prompting for values is described in section 3.6.v.LM+10K.TP10.S2.I-10;^&Command:\& Set Replacement Argument and Replace String justSSearched.X Command>Substitutep/.S.I-10;Key(s): ^*Enter\* (, keypad key);&.BR;^*Insert Here\* (VT200 keypad key) .S.I-10;Syntax: SUBSTITUTE##textA.S.I-10;Meaning: Get a replacement argument from the keyboard andgIput it in the paste buffer, then replace the string just searched by thisiKargument. VTEDIT prompts for a replacement argument with 'Replace by:'. Any&Omatch control constructs used in the current search arguments can be referencedlNvia _^E*n string building constructs (see next section). Typing the Return key2allows to enter multi-|line replacement arguments.O VTEDIT saves the replacement argument in the paste buffer, replaces the string Jjust searched by the contents of the replacement string, and positions the&cursor after the string just replaced.P NOTE: This procedure only works, if it is performed immediately after a search,%with no intervening cursor movements!o7.TP10.S2.I-10;^&Command:\& Replace String just Searchedk.X Command>Exchangey(.S.I-10;Key(s): ^*,\* (keypad comma key).S.I-10;Syntax: EXCHANGE8.S.I-10;Meaning: Replace the string just searched by theIreplacement argument, which was saved most recently via a set replacement ,argument command or via a save text command.4.TP10.S2.I-10;^&Command:\& Search and Replace String.X Command>Replace$.S.I-10;Key(s): ^*PF4\* (keypad key)*.S.I-10;Syntax: REPLACE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)a.BR;` (select range)RB.S.I-10;Meaning: Search in the text buffer for the next occurrencePof the search argument which was most recently saved via any search command, andNreplace this string by the current replacement argument, i.e_. the contents ofOthe paste buffer. If the numeric argument n is given and O_= 0, the command is:Mrepeated n times. If n is 0, all remaining occurrences of the search argumentIFare replaced. If a range has been selected before giving this command,2replacements are restricted to the selected range.H NOTE: Depending on the number of occurrences found, this command may bequite time consuming.wI.TP10.S2.I-10;^&Command:\& Search and Replace all Occurrences of a Stringn.X Command>Replace All-.S.I-10;Key(s): ^*PF4\* (, keypad key)d:.S.I-10;Syntax: REPLACE ALL##[n] (Default: rest of buf]l VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_3 sfer)$.S.I-10;Options: ` (select range)<.S.I-10;Meaning: Search in the text buffer for all remainingOoccurrences of the search argument which was most recently saved via any search Kcommand, and replace every such string by the current replacement argument,eKi.e_. the contents of the paste buffer. If a range has been selected before1Ggiving this command, replacements are restricted to the selected range.H NOTE: Depending on the number of occurrences found, this command may bequite time consuming.p.LM-10.TSh.TS15,30.PGr^*.HL3String Building Constructs\*.X String buildertK Replacement strings may contain string building constructs allowing, among2Oother things, the referencing of the parts of the search string matching one orTKmore match control constructs. The following string building constructs may;*appear anywhere in a replacement argument: .S.NF.NJ.LM+4eCharacter Meaning:Dqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq^*_^M\* newline =^*_^E E x\* exactly the character *x (without interpretation)D)^*_^E Q q\* the contents of Q-register *q .X Q-register @^*_^E n\* the string found for the *n-th match control construct.X Match control construct .F.J.S.LM-42N The _^E*n construct, where *n is a number that is not greater than the numberPof search patterns used in the preceding search operation, causes the charactersKmatching the n-th match control construct to be included in the replacementastring.L The _^EQ*q construct inserts, at the time of the replacement operation, theHtext in Q-register *q into the replacement string. If this is done whileNreplaying a learned keystroke sequence, or during execution of a command file,7different strings may be included for each replacement. .TSe .TS10,25,40 .PGe^*.HL3Moving Text \*.X MoveeE The concept of Q-registers is described in section 3.1. For tutorialo;information about copying and moving text, see section 3.3. .LM+107.TP10.S.I-10;^&Command:\& Get Contents of Q-register *ql.X Command>Include Registere5.S.I-10;Key(s): ^*Ctrl/Gq\* (control key, any letter)S6.S.I-10;Syntax: INCLUDE REGISTER##*q##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)S.BR;a (rectangular region)i.X Paste.X Q-register>pasteaD.S.I-10;Meaning: Insert the contents of Q-register *q at the currentNcursor position. In this command, *q can be any letter, or it can be either ofJthe special names '_*' (file name buffer) and '__' (search string buffer).LUppercase and lowercase letters are treated as equivalent. If n is given and_>#1, insert the text n times.P If a rectangular region has been saved in the selected Q-register, the contentsPof this register are inserted as a rectangle, i.e_. they are inserted or writtenHover old text, according to the current mode (Insert or Overstrike) in aIrectangle of the same size, whose upper left corner is the current cursort position.o0.TP10.S2.I-10;^&Command:\& Save to Q-register *q.X Command>Save Register5.S.I-10;Key(s): ^*Ctrl/Pq\* (control key, any letter)h3.S.I-10;Syntax: SAVE REGISTER##*q##[n] (Default: 1)o1.S.I-10;Options: *_* (optional numeric argument)f.BR;` (select range)t.BR;a (rectangular region)o.X Q-register>save.X SaveyE.S.I-10;Meaning: Copy n lines from the current buffer into Q-registertN*q. In this command, *q can be any letter; uppercase and lowercase letters areMtreated as equivalent. If the numeric argument n is not given and a range hasoLbeen selected, copy the text of this range. If a rectangular region has beenOselected, save the text inside this rectangle. Otherwise, copy one line. VTEDITe/moves the cursor to the end of the copied text.S;.TP10.S2.I-10;^&Command:\& Save and Append to Q-register *qc.X Command>Add Registera=.S.I-10;Key(s): ^*Ctrl/P:q\* (control key, colon, any letter)u2.S.I-10;Syntax: ADD REGISTER##*q##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)s.BR;` (select range) .BR;a (rectangular region)N.X Q-register>add;.X AddE.S.I-10;Meaning: Append n lines from the current buffer to Q-registeroN*q. In this command, *q can be any any letter; uppercase and lowercase lettersMare treated as equivalent. If the numeric argument n is not given and a rangemMhas been selected, append the text of this range. If a rectangular region haseKbeen selected, append the text inside this rectangle. Otherwise, append one2>line. VTEDIT moves the cursor to the end of the appended text./.TP10.S2.I-10;^&Command:\& Cut to Q-register *qa.X Command>Cut Register,5.S.I-10;Key(s): ^*Ctrl/Tq\* (control key, any letter)2.S.I-10;Syntax: CUT REGISTER##*q##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)..BR;` (select range)r.BR;a (rectangular region)C.X Cut.X Q-register>cut;E.S.I-10;Meaning: Similar to Ctrl/P*q but delete the copied text. If atPrectangular region has been selected, the text inside this rectangle is removed,=and, if the current mode is Overstrike, replaced with blanks.oF NOTE: This works regardless of having set Ctrl/T at DCL level or not.:.TP10.S2.I-10;^&Command:\& Cut and Append to Q-register *q.X Command>Append Register=.S.I-10;Key(s): ^*Ctrl/T:q\* (control key, colon, any letter) 5.S.I-10;Syntax: APPEND REGISTER##*q##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)E.BR;` (select range)o.BR;a (rectangular region) .X Appends.X Q-register>appendF.S.I-10;Meaning: Similar to Ctrl/P:*q but delete the copied text. If aPrectangular region has been selected, the text inside this rectangle is removed,=and, if the current mode is Overstrike, replaced with blanks.eF NOTE: This works regardless of having set Ctrl/T at DCL level or not.$.TP10.S2.I-10;^&Command:\& Save Text.X Command>Saves$.S.I-10;Key(s): ^*PF2\* (keypad key)'.S.I-10;Syntax: SAVE##[n] (Default: 1)r1.S.I-10;Options: *_* (optional numeric argument)S.BR;` (select range)k.BR;a (rectangular region) .X SaveyE.S.I-10;Meaning: Copy n lines from the current buffer into the VTEDITeIpaste buffer. If the numeric argument n is not given and a range has beendGselected, copy the text of this range. If a rectangular region has been Oselected, save the text inside this rectangle. Otherwise, copy one line. VTEDITaNmoves the cursor to the end of the copied text. If you repeatedly type the PF2Nkey with no intervening keystrokes, VTEDIT appends successive lines of text toPthe paste buffer. You can delete the text which was saved by typing the 6 keypadkey.%.TP10.S2.I-10;^&Command:\& Paste TextI.X Command>Paste$.S.I-10;Key(s): ^*PF3\* (keypad key)(.S.I-10;Syntax: PASTE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument);.BR;a (rectangular region)t.X PasteG.S.I-10;Meaning: Insert the contents of the paste buffer at the currentdFcursor position. If n is given and _>#1, insert the text n times. If aPrectangular region has been saved in the paste buffer, the contents of the pasteObuffer are inserted as a rectangle, i.e_. they are inserted or written over oldoPtext, according to the current mode (Insert or Overstrike) in a rectangle of theBsame size, whose upper left corner is the current cursor position..LM-10.PGm^*.HL3Inserting Text\* .X Insert .LM+10%.TP10.S.I-10;^&Command:\& Insert Text-.X Command>Insert Text$.S.I-10;Key(s): (any printing keys)#.S.I-10;Syntax: INSERT TEXT##stringrE.S.I-10;Meaning: Insert a string at the current cursor position. Thisl"command is used only in line mode.I If VTEDIT is not in line mode, any printing characters are automatically;Pinserted a^4%/~ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_t the current cursor position. The cursor moves with the inserted textNsuch that the newly typed characters always stay before the cursor. CharactersNto the right of the cursor are pushed to the right if the current buffer is inFinsert mode; they are overwritten if the buffer is in overstrike mode.'.TP10.S2.I-10;^&Command:\& Insert Space .X Command>Insert Spacen'.S.I-10;Key(s): ^*Space\* (special key) (.S.I-10;Syntax: SPACE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)n@.S.I-10;Meaning: Insert n blank characters at the current cursor position.IO Space also will move the cursor to the start of the next line if the cursor iseMbeyond the right margin, if a formatter with automatic word wrap (Document oruHText) is active. If the current word extends beyond the right margin andPautomatic word wrap is in effect, that word will also be moved to the next line.%.TP10.S2.I-10;^&Command:\& Insert Tab[.X Command>Insert Tab1/.S.I-10;Key(s): ^*Tab\* (special key or Ctrl/I)I.S.I-10;Syntax: TABnG.S.I-10;Meaning: Insert a Tab character at the current cursor position. LThis character may be displayed as occupying one or more character locationsKon the screen, depending on its position and the Tab setting of the current&Lbuffer. The Tab character is inserted regardless of whether the buffer is ininsert or overstrike mode.).TP10.S2.I-10;^&Command:\& Insert Newline#.X Command>Return2.S.I-10;Key(s): ^*Return\* (special key or Ctrl/M)).S.I-10;Syntax: RETURN##[n] (Default: 1)-1.S.I-10;Options: *_* (optional numeric argument) G.S.I-10;Meaning: Insert n return/line feed sequences before the cursor.NThe effect of this command is to move the cursor together with the rest of theJtext on the current line down to a new line and to indent this line to theIcurrent indentation to the current indentation, if a formatter supportingaindentation is in effect.L$.TP10.S2.I-10;^&Command:\& Open Line.X Command>Split Lineq".S.I-10;Key(s): ^*7\* (keypad key),.S.I-10;Syntax: SPLIT LINE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)eF.S.I-10;Meaning: Insert n return/line feed sequences after the cursor.NThe effect of this command is to move the rest of the text on the current lineJdown to a new line. This new line is indented automatically if a formatter!supporting indentation is active. 0.TP10.S2.I-10;^&Command:\& Insert Next Character.X Command>Quote2.S.I-10;Key(s): ^*Ctrl/_\\* (, control key).S.I-10;Syntax: QUOTE##char(C.S.I-10;Meaning: Accept a character from the terminal and insert itoBat the current cursor position, even if it is a control character.-.TP10.S2.I-10;^&Command:\& Insert ASCII ValueZ.X Command>Insert Numeric >.S.I-10;Key(s): ^*Ctrl/_\\* (control key, followed by any key).S.I-10;Syntax: INSERT NUMERIC@.S.I-10;Meaning: Accept a character from the terminal and insertNat the current cursor position the string representing the ASCII value of that character./.TP10.S2.I-10;^&Command:\& Insert Numeric Value.X Command>Insert Numericn).S.I-10;Key(s): ^*Ctrl/_\\* (control key)m8.S.I-10;Syntax: INSERT NUMERIC##n##[radix] (Default: 10)2.S.I-10;Options: *_# (mandatory numeric argument)F.S.I-10;Meaning: Insert the string representing the numeric argument nKat the current cursor position. VTEDIT inserts the number using the currentTNradix, if the command is given in keypad mode. In line mode, one of the values+8, 10, or 16 may be specified as the radix.g3.TP10.S2.I-10;^&Command:\& Insert Special Characterr".S.I-10;Key(s): ^*9\* (keypad key)!.S.I-10;Syntax: INSERT SPECIAL##nL2.S.I-10;Options: *_# (mandatory numeric argument)D.S.I-10;Meaning: Insert at the current cursor position the characterwhose ASCII value is n.s,.TP10.S2.I-10;^&Command:\& Insert Page Break.X Command>Form Feed(.S.I-10;Key(s): ^*Ctrl/L\* (control key).S.I-10;Syntax: FORM FEED;F.S.I-10;Meaning: Insert a form feed (page break) at the current cursorOposition. The symbol 'c' appears as an indication of the page break inserted.aK NOTE: Form feeds are just ordinary characters within the text buffer. TheytPmay be subject to any editing operation that can be applied to other characters;Iespecially, deleting a form feed character removes the page break at thise position.e(.TP10.S2.I-10;^&Command:\& Insert Umlaut.X Command>Umlautb;.S.I-10;Key(s): ^*"x\* (, ", one of {a,o,u,A,O,U,s})S.S.I-10;Syntax: UMLAUT##char?.S.I-10;Meaning: Insert an umlaut character of the supplementallJ(multinational) character set at the current position. The character to beKinserted is selected via the character 'x' typed after the quote, accordingrto the following rules:b .S.LM+6.LITtDa O} , o O} , u O} , A O} , O O} , U O} , s O} .EL.S.LM-6FThis command is useful for entering German texts from a VT100 terminal5not supporting the eightbit multinational ASCII code.s&.TP10.S2.I-10;^&Command:\& Insert Date.X Command>Insert Date(.S.I-10;Key(s): ^*Ctrl/]\* (control key).S.I-10;Syntax: INSERT DATE:.X Datel@.S.I-10;Meaning: Insert the current date in the form dd-mmm-yyyyat the current cursor position.k&.TP10.S2.I-10;^&Command:\& Insert Time.X Command>Insert Time1.S.I-10;Key(s): ^*Ctrl/]\* (, control key)i.S.I-10;Syntax: INSERT TIMED.X TimecD.S.I-10;Meaning: Insert the current time in the form hh:mm:ss at thecurrent cursor position.1.TP10.S2.I-10;^&Command:\& Insert Input File Nameh.X Command>Insert InfileA.S.I-10;Key(s): ^*-1\* (, main keyboard minus, keypad key)h.S.I-10;Syntax: INSERT INFILED.S.I-10;Meaning: Insert the full file name of the current input fileat the current cursor position.e2.TP10.S2.I-10;^&Command:\& Insert Output File Name.X Command>Insert OutfilerA.S.I-10;Key(s): ^*-2\* (, main keyboard minus, keypad key)i.S.I-10;Syntax: INSERT OUTFILEH.S.I-10;Meaning: Insert the full file name of the output file associated7with the current buffer at the current cursor position.n5.TP10.S2.I-10;^&Command:\& Insert Current Buffer Nameo.X Command>Insert BuffernameA.S.I-10;Key(s): ^*-3\* (, main keyboard minus, keypad key)a!.S.I-10;Syntax: INSERT BUFFERNAME ;.S.I-10;Meaning: Insert the name of the current text buffer at the current cursor position.6F.TP10.S2.I-10;^&Command:\& Insert Next File Name according to Wildcard.X Command>Insert WildcardA.S.I-10;Key(s): ^*-7\* (, main keyboard minus, keypad key)k.S.I-10;Syntax: INSERT WILDCARDkI.S.I-10;Meaning: Insert at the current cursor position the full file nameeNof the next file matching a wildcard defined previously (by the File Search orSet Wildcard commands).y.LM-10.PGe^*.HL3Formatter Controlp\*.X Formatter>control commands'H A general description of the formatters provided by VTEDIT can be foundin section 3.8.i.LM+105.TP10.S2.I-10;^&Command:\& Disable / Enable Formatterh.X Command>Set Formatter2.S.I-10;Key(s): ^*E\* (, main keyboard key)).S.I-10;Syntax: SET FORMATTER##[ON*_|OFF]f1.S.I-10;Options: *_* (optional numeric argument)eE.S.I-10;Meaning: If any formatter is associated with the current textnDbuffer, its operation is disabled if it was enabled, and vice versa.K If the numeric argument n is present and has the value 0, the formatter is2Ounconditionally disabled; if n is -1, the formatter is unconditionally enabled.eMThe formatter can also be enabled unconditionally by using the keyword ON, ifaIthe command is given in line mode, and disabled by using the keyword OFF.o0.TP10.S2.I-10;^&Command:\& Select Formatter Type.X Command>Formatter+.S.I-10;Key(s): ^*5\* (, ke_.By VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ ~ypad key)n.S.I-10;Syntax: FORMATTER##typeaE.S.I-10;Meaning: Select a formatter type for the current text buffer. K Formatters are selected according to a file type, so you are prompted witheI'Formatter name (file type):'. You may enter one of the file types of ther2following list (with or without a leading period).I The file type entered determines the formatter to be activated accordingato the following table:e.X Formatter>file type .S.NF.NJ.LM+1n6 File Type O} Formatter@ qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq@ .C .CLD .ENV .H .PAS .TPU O} Structured Language2 .CBL .COB .LIB O} Cobol4 .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortran0 .COM .MMS .OPT O} DCL5 .DOC .HLP O} Documentl; .DTR .LSE .PDM .PEL .VTE O} Query LanguageI2 .MAC .MAR .PPA O} Macro1 .RND .RNH .RNO .RNT .RNX .TXT O} Text .LM-1.F.J.SnP The selected formatter is indicated in the status line. The individual features9of each of these formatters are described in section 3.8.tP NOTE: The formatter stays selected for the current buffer until a new formatterJis selected for this buffer. Entry into a new buffer selects the formatterKselected for this buffer, or a formatter according to the file type of thishEbuffer, if no formatter for this buffer has been selected explicitly.,L If VTEDIT is running with LSE support and if the Formatter command is givenJwith a negative numeric argument, a new language for the current buffer isAselected according to the following table (see also section 4.7):h.X Language>file typef.S.TP10.NF.NJ.LM+17 File Type O} Languaget9 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqy0 .C .H O} C4 .CBL .COB .LIB O} Cobol2 .COM O} DCL9 .DTR O} Datatrievei6 .COD .DES .DUM .EXT .FOR .FTN .INC .INT O} Fortran3 .HLP O} Helpt2 .LSE O} LSE5 .ENV .PAS O} Pascalt5 .RND .RNH .RNO .RNT .RNX .TXT O} Runoffu5 .TPU O} VAXTPUc .LM-1.F.JiD.TP10.S2.I-10;^&Command:\& Disable / Enable Parenthesis Highlighting.X Command>Set Flash1.S.I-10;Key(s): ^*Ctrl/F\* (, control key) %.S.I-10;Syntax: SET FLASH##[ON*_|OFF]n1.S.I-10;Options: *_* (optional numeric argument)e.X Parenthesis>highlightingeB.S.I-10;Meaning: Alternately disable or enable the highlighting ofPmatching opening parentheses and string delimiters supported by some formatters.F If the numeric argument n is present and has the value 0, parenthesisNhighlighting is unconditionally disabled; if n is -1, parenthesis highlightingis unconditionally enabled.dJ Parenthesis highlighting can also be enabled unconditionally by using theKkeyword ON, if the command is given in line mode, and disabled by using theR keyword OFF.K.TP10.S2.I-10;^&Command:\& Enable / Disable Automatic Parenthesis Insertionn.X Command>Set Match1.S.I-10;Key(s): ^*Ctrl/R\* (, control key)h%.S.I-10;Syntax: SET MATCH##[ON*_|OFF]e1.S.I-10;Options: *_* (optional numeric argument) ".X Parenthesis>automatic insertionF.S.I-10;Meaning: Alternately enable or disable the automatic insertionJof closing parentheses and string delimiters supported by some formatters.P If the numeric argument n is present and has the value 0, automatic parenthesisHinsertion is unconditionally disabled; if n is -1, automatic parenthesis%insertion is unconditionally enabled.nM Automatic parenthesis insertion can also be enabled unconditionally by usingtOthe keyword ON, if the command is given in line mode, and disabled by using theo keyword OFF..LM-10.PG&^* .HL3Formatter Control Characters\*.X Formatter>control characters\L Formatter control characters are only recognized when they are typed at theOstart of a line, i.e_. normally before the first non-|blank character; if typedtJin the middle of a line, they are simply entered as text. If the currentlyMactive formatter does not support automatic indentation or if no formatter is,Lactive, the formatter control characters are entered as text, too. Automatic7indentation is described in section 3.8 to some detail.a!.X Indentation>control characters .LM+10:.TP10.S2.I-10;^&Command:\& Reset Indentation to Base Value.X Command>Reset IndentO*.S.I-10;Key(s): ^*_=\* (main keyboard key).S.I-10;Syntax: RESET INDENTC.S.I-10;Meaning: Reset the current indentation value to its minimumcH(normally 0, for the Fortran formatter 6). This command does not performLany indentation; it simply presets a value for further indentation commands.8.TP10.S2.I-10;^&Command:\& Indent to Current Indentation.X Command>Indent 0.S.I-10;Key(s): ^*.\* (main keyboard period key).S.I-10;Syntax: INDENTG.S.I-10;Meaning: Set the indentation of the current line to the current Oindentation value. This command is used primarily to reset the indentation of a.Nline to the current indentation value. A line being entered will automatically!be indented to the current value.g/.TP10.S2.I-10;^&Command:\& Increase Indentationi.X Command>Indent More).S.I-10;Key(s): ^*>\* (main keyboard key)e@.S.I-10;Syntax: INDENT MORE##[n] (Default: formatter-|dependent)1.S.I-10;Options: *_* (optional numeric argument).BR;` (select range)\D.S.I-10;Meaning: Increment the current indentation value by n if theOnumeric argument n is given, otherwise by a formatter dependent value, and setrPthe indentation of the current line to that value, if no select range is active.K If a select range is active, increment the indentation of all lines in thehKselect range, but do not change the current indentation value for new linesrentered./.TP10.S2.I-10;^&Command:\& Decrease Indentation .X Command>Indent Less).S.I-10;Key(s): ^*<\* (main keyboard key)2@.S.I-10;Syntax: INDENT LESS##[n] (Default: formatter-|dependent)1.S.I-10;Options: *_* (optional numeric argument) .BR;` (select range)D.S.I-10;Meaning: Decrement the current indentation value by n if theOnumeric argument n is given, otherwise by a formatter dependent value, and setuPthe indentation of the current line to that value, if no select range is active.K If a select range is active, decrement the indentation of all lines in thehKselect range, but do not change the current indentation value for new linesientered.;.TP10.S2.I-10;^&Command:\& Indent Fortran Continuation LineC.X Command>Indent Continuation*.S.I-10;Key(s): ^*_*\* (main keyboard key)#.S.I-10;Syntax: INDENT CONTINUATIONaI.S.I-10;Meaning: If the Fortran formatter is active, create the beginningtOof a Fortran continuation line by inserting 5 spaces, an "*_*" and a Tab at the Mbeginning of the current line, followed by the appropriate number of Tabs andI3spaces to reach the current indentation value _+ 4.vH If the Cobol formatter is active, mark the current line as a comment byinserting an "*_*" in column 7.dP NOTE: This character is recognized only by the Cobol and Fortran formatters; ifOanother formatter or no formatter at all is active, the character is entered asntext.v5.TP10.S2.I-10;^&Command:\& Indent Query Language by 3x.X Command>Increase Indent/.S.I-10;Key(s): ^*_+\* (main keyboard plus key) .S.I-10;Syntax: INCREASE INDENToI.S.I-10;Meaning: Set the value for indentati`57 VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_lon increment and decrement to)O3. This command does not perform any indentation; it simply presets a value forifurther indentation commands.uL NOTE: This character is recognized only by the Query Language formatter; ifOanother formatter or no formatter at all is active, the character is entered asmtext.a5.TP10.S2.I-10;^&Command:\& Indent Query Language by 2,.X Command>Decrease Indent/.S.I-10;Key(s): ^*-\* (main keyboard minus key)e.S.I-10;Syntax: DECREASE INDENTeI.S.I-10;Meaning: If the Query Language formatter is active, set the valuetOfor indentation increment and decrement to 2. This command does not perform anyPHindentation; it simply presets a value for further indentation commands.O If the Cobol formatter is active, mark the current line as a continuation lineS by inserting a "*-" in column 7.H NOTE: This character is recognized only by the Cobol and Query LanguagePformatters; if another formatter or no formatter at all is active, the characteris entered as text.i.PG;^*$.HL3Controlling Text Insertion Modes\*.X Mode>control commands9.TP10.S.I-10;^&Command:\& Toggle Insert / Overstrike Modey.X Command>Set Modeh(.S.I-10;Key(s): ^*-\* (keypad minus key)/.S.I-10;Syntax: SET MODE##[INSERT*_|OVERSTRIKE]n1.S.I-10;Options: *_* (optional numeric argument) .X Mode>insert.X Mode>overstrikeE.S.I-10;Meaning: For text insertion, switch between insert mode - newcItext is inserted before the character at the cursor - and overstrike modenG- new text replaces the character at the cursor and those following it,rHone character at a time. The selected mode applies to the current bufferDonly; the mode of the other buffers is not affected by this command.J The current mode is indicated in the status line, if the buffer displayed,in the corresponding window may be modified.M If the numeric argument n is present and has the value 0, overstrike mode ishJunconditionally enabled for the current buffer; if n is -1, insert mode isHunconditionally enabled. The mode for the current buffer can also be setIunconditionally by using one of the keywords INSERT or OVERSTRIKE, if thehcommand is given in line mode.K NOTE: Initially, the editor is in insert mode, and new buffers are createdoMin insert mode, too. The selected mode stays in effect for the current buffereMuntil it is changed explicitly; the mode of any other buffer is not affected.IC.TP10.S2.I-10;^&Command:\& Disable / Enable Lower Case Reading Mode .X Command>Set Casee1.S.I-10;Key(s): ^*-\* (, keypad minus key):).S.I-10;Syntax: SET CASE##[LOWER*_|UPPER]i1.S.I-10;Options: *_* (optional numeric argument) .X Case controlfB.S.I-10;Meaning: For text insertion, alternately enable or disableHreading of lower case characters. If lower case reading is disabled, anyGlower case alphabetic and supplemental ("multinational") characters areaconverted to upper case.O If the numeric argument n is present and has the value 0, reading of lowercaseaHcharacters is unconditionally disabled; if n is -1, reading lowercase isLunconditionally enabled. Reading of lowercase characters can also be enabledQunconditionally by using the keyword LOWER, if the command is given in line mode, (and disabled by using the keyword UPPER.F NOTE: If a formatter is used, the status of lower case reading may be(dynamically controlled by the formatter.6.TP10.S2.I-10;^&Command:\& Control Buffer Modification.X Command>Set Modifya1.S.I-10;Key(s): ^*Ctrl/T\* (, control key)t&.S.I-10;Syntax: SET MODIFY##[ON*_|OFF]1.S.I-10;Options: *_* (optional numeric argument)a.X Mode>insert.X Mode>overstrikeD.S.I-10;Meaning: If the current buffer can be modified, set it to beLunmodifiable; otherwise, allow modifications of the current buffer. The modeHof the buffer ('Insert' or 'Overstrike') is displayed in the status line*if and only if the buffer can be modified.M If the numeric argument n is present and has the value 0, the current buffereDis unconditionally set to be unmodifiable; if n is -1, the buffer isHunconditionally set to be modifiable. The current buffer can also be setKunconditionally to be modifiable by using the keyword ON, if the command is;Hgiven in line mode, and set to be unmodifiable by using the keyword OFF.G NOTE: This command requires either LSE support or VAXTPU#V2; it is not Mavailable for VAXTPU V1.2. This command works regardless of having set Ctrl/T at DCL level or not..PGo^*.HL3Converting Caseo\*.X Case control /.TP10.S.I-10;^&Command:\& Convert to Lower Case .X Command>Lowercase2.S.I-10;Key(s): ^*V\* (, main keyboard key),.S.I-10;Syntax: LOWERCASE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)t.BR;` (select range)nG.S.I-10;Meaning: If no select range is active, change within the next nrMcharacters, starting at the cursor, any uppercase letter to lowercase. If theSJnumeric argument n is positive, the command operates toward the end of theNbuffer, otherwise to the beginning. If a select range is active, lowercase any uppercase letters in that range.0.TP10.S2.I-10;^&Command:\& Convert to Upper Case.X Command>Uppercase2.S.I-10;Key(s): ^*W\* (, main keyboard key),.S.I-10;Syntax: UPPERCASE##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)i.BR;` (select range)IG.S.I-10;Meaning: If no select range is active, change within the next n\Mcharacters, starting at the cursor, any lowercase letter to uppercase. If theeJnumeric argument n is positive, the command operates toward the end of theNbuffer, otherwise to the beginning. If a select range is active, uppercase any lowercase letters in that range.&.TP10.S2.I-10;^&Command:\& Change Case.X Command>Change Case2.S.I-10;Key(s): ^*Z\* (, main keyboard key)-.S.I-10;Syntax: CHANGE CASE##[n] (Default: 1)l1.S.I-10;Options: *_* (optional numeric argument)o.BR;` (select range) G.S.I-10;Meaning: If no select range is active, change within the next nmNcharacters, starting at the cursor, any uppercase letter to lowercase, and anyIlowercase letter to uppercase. If the numeric argument n is positive, the-Ocommand operates toward the end of the buffer, otherwise to the beginning. If aeEselect range is active, change the case of any letters in that range.k*.TP10.S2.I-10;^&Command:\& Capitalize Word.X Command>Capitalize Word2.S.I-10;Key(s): ^*Q\* (, main keyboard key)1.S.I-10;Syntax: CAPITALIZE WORD##[n] (Default: 1) 1.S.I-10;Options: *_* (optional numeric argument);.BR;` (select range)m .X CapitalizenH.S.I-10;Meaning: Capitalize n words by making the first letter uppercaseOand the remaining letters lowercase. If a range has been selected, all words inTKthis range are capitalized, and the cursor moves to the end of the selectedNrange. Otherwise, if the numeric argument n is positive, words are capitalizedMtowards the end of the buffer, otherwise towards the beginning of the buffer.lKThe cursor moves to the end of the last word capitalized, if n is positive,.-otherwise to the beginning of the first word.o.PGC^*.HL3Deleting Texte\* .X Delete)4.TP10.S.I-10;^&Command:\& Rub Out Previous Character.X Command>Erase Previous Char(.S.I-10;Key(s): ^*Delete\* (special key)5.S.I-10;Syntax: ERASE PREVIOUS CHAR##[n] (Default: 1)61.S.I-10;Options: *_* (optional numeric argument)aI.S.I-10;Meaning: Delete n characters before the cursor, starting with the#1, and there areLless than n characters in the current line preceding the cursor, the currentGline is appended to (one of) the previous line(sa՝ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_), counting each appendr#operation as one character deleted.PG If the current mode is Overstrike, blanks are inserted for the deletednIcharacters such that the number of characters in the current line remainsi the same.L0.TP10.S2.I-10;^&Command:\& Delete Next Character.X Command>Erase Next Char".S.I-10;Key(s): ^*5\* (keypad key)1.S.I-10;Syntax: ERASE NEXT CHAR##[n] (Default: 1)T1.S.I-10;Options: *_* (optional numeric argument)uA.S.I-10;Meaning: Delete n characters, starting with the characteriMunder the cursor. If there are less than n characters following the charactervHunder the cursor, append (one of) the next line(s), counting each append#operation as one character deleted.l0.TP10.S2.I-10;^&Command:\& Rub Out Previous Word.X Command>Erase Previous Word(.S.I-10;Key(s): ^*Ctrl/B\* (control key)5.S.I-10;Syntax: ERASE PREVIOUS WORD##[n] (Default: 1)d1.S.I-10;Options: *_* (optional numeric argument)&>.S.I-10;Meaning: Delete the text between the start of the n-thprevious word and the cursor.k+.TP10.S2.I-10;^&Command:\& Delete Next Word1.X Command>Erase Next Word1.S.I-10;Key(s): ^*Ctrl/B\* (, control key)r1.S.I-10;Syntax: ERASE NEXT WORD##[n] (Default: 1)m1.S.I-10;Options: *_* (optional numeric argument)eH.S.I-10;Meaning: Delete the text between the cursor and the start of then_+1-st word beyond the cursor.r0.TP10.S2.I-10;^&Command:\& Rub Out Start of Line.X Command>Erase Start of Line(.S.I-10;Key(s): ^*Ctrl/U\* (control key)#.S.I-10;Syntax: ERASE START OF LINE A.S.I-10;Meaning: Delete the text between the start of the currentqline and the cursor./.TP10.S2.I-10;^&Command:\& Delete Line or Rangea.X Command>Remove.(.S.I-10;Key(s): ^*Ctrl/K\* (control key)!.BR;^*Remove\* (VT200 keypad key)I).S.I-10;Syntax: REMOVE##[n] (Default: 1) 1.S.I-10;Options: *_* (optional numeric argument) .BR;` (select range).BR;a (rectangular region) G.S.I-10;Meaning: Delete n lines of text, starting at the current cursor}Oposition. If the numeric argument n is not given but a range has been selected,lOdelete the text in the select range. If a rectangular region has been selected, Nremove the text inside this rectangle, and, if the current mode is Overstrike,3replace it with blanks. Otherwise, delete one line...TP10.S2.I-10;^&Command:\& Delete Rest of Line.X Command>Erase Linet(.S.I-10;Key(s): ^*Ctrl/D\* (control key).S.I-10;Syntax: ERASE LINEF.S.I-10;Meaning: Delete the text between the cursor and the end of theNcurrent line. The carriage return and line feed at the end of the line are notdeleted.1.TP10.S2.I-10;^&Command:\& Delete or Restore Textr.X Command>Restore".S.I-10;Key(s): ^*6\* (keypad key).S.I-10;Syntax: RESTOREo .X RestoreI.S.I-10;Meaning: If the previous keystroke was a VTEDIT deletion command, Lrestore the deleted text and return the cursor to its former position. If itOwas a Replace or Exchange command, restore the replaced text. Otherwise, delete Mthe spanned text block. The spanned text is the text most recently located orMinserted in the text buffer via a Cut, Paste, Search, or Get command, or by aT restoring 6.P If VTEDIT is used with LSE support, and if the last command was an Expand TokenIor Erase Placeholder command, Restore reverses the effect of that command (see section 4.7).+.TP10.S2.I-10;^&Command:\& Kill Text Buffer .X Command>Delete Buffer1.S.I-10;Key(s): ^*Ctrl/D\* (, control key)..S.I-10;Syntax: DELETE BUFFER&F.S.I-10;Meaning: Delete the current text buffer. After this operation,Ione of the remaining text buffers is made current. If there are currentlyNMno other text buffers, an empty text buffer named '$Main' is created and madegcurrent.O NOTE: The deleted text cannot be restored via the 6 keypad key; so, to preventeKserious errors, VTEDIT asks for confirmation if the current text buffer has been modified and is not empty. .PGh^* .HL3Exitingh\*.X Exith*.TP10.S.I-10;^&Command:\& Exit from VTEDIT.X Command>Exith1.S.I-10;Key(s): ^*Ctrl/Z\* (, control key)s .BR;^*F10\* (VT200 function key).S.I-10;Syntax: EXITI.S.I-10;Meaning: Exit from the Video Terminal Editor writing all modifiedsPread/|write buffers to their associated output files. VTEDIT's memory is updatedJto reflect the file currently being edited and the current cursor positionOwithin that file. If VTEDIT is invoked again using its memory, it will positionoJto the remembered cursor position in the file edited, and will allow laterErepositioning to that cursor position via the -F command.p .X Memorya@.TP10.S2.I-10;^&Command:\& Quit VTEDIT Without Preserving Output.X Command>QuitrG.S.I-10;Key(s): ^*-Ctrl/Z\* (, main keyboard minus, control key)n.S.I-10;Syntax: QUITF.S.I-10;Meaning: Leave VTEDIT without creating any new files. You canMuse this command if you are simply reading a file without modifying it, or if #you do not want to save your edits.nN If you have made any modifications which have not been saved by using a writeKcommand, VTEDIT will ask you if you really want to stop editing, if you didnJnot call VTEDIT with the /READ__ONLY qualifier. Answering 'yes' leaves theMeditor; answering 'no' keeps you in the editor. This allows you to review thed5current VTEDIT session before discarding any changes.c.X /READ__ONLY qualifier@.TP10.S2.I-10;^&Command:\& Exit from VTEDIT Remembering PositionI.S.I-10;Key(s): ^*\*0^*F\* (, main keyboard zero, , letter)I.S.I-10;Meaning: Exit from the Video Terminal Editor writing all modifiednJread/|write buffers to their associated output files. Additionally, VTEDITOremembers the current cursor position in the current buffer. VTEDIT's memory isSJupdated to reflect the file currently being edited and the /FIND switch is#appended to the file specification.r .X MemorynP If VTEDIT is invoked again using its memory, it will position to the rememberedNcursor position in the file edited when giving the 0F command, andMwill allow later repositioning to that cursor position via the -Frcommand.P NOTE: This command is equivalent to the normal Exit command; it is retained forcompatibility purposes.o.LM-10.PG ^*&.HL3Controlling Input and Output Files\*.X File>commands.X Buffer>commandsO Further information about the buffers that VTEDIT uses can be found in sectionlM3.1. Prompting for values is described in section 3.6, and the techniques for3resolving ambiguities are discussed in section 3.7.y.LM+100.TP10.S2.I-10;^&Command:\& Open (new) Input File.X Command>Read File+.S.I-10;Key(s): ^*1\* (, keypad key)r#.S.I-10;Syntax: READ FILE##filespece .X File>inputa.y Input see FiletE.S.I-10;Meaning: Get a file name from the keyboard and read this filelJinto a text buffer. VTEDIT prompts for a file name with 'Input filename:'.P If the file name contains wildcard characters, VTEDIT tries to resolve eventualPambiguities. If more than one file matches the given wildcard, VTEDIT displays aJlist of all files matching, and lets you select one of them, or cancel the operation.M VTEDIT reads the specified file from the file system, puts the file in a new#Nbuffer, and displays the new buffer in the current window. The cursor is movedOto the beginning of the file. The file still exists in its original form in thea file system.L If VTEDIT is used with the Language-|Sensitive Editor, a possible directoryIsearch list will be used when locating the specified file. If the file iscNfound in a CMS library, the corresponding element will be fetched after VTEDIThas asked for confirmation.e.X CMSO Ibq? VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_Ugf a modified buffer with the same name as the new file already exists, VTEDIT;Lwill ask you for a buffer name. In some cases you will want a new buffer; inNother cases you will probably want to use the Buffer command to move to a filethat is already being edited.tL If VTEDIT is running with LSE support and if the Read File command is givenPwith a negative numeric argument, VTEDIT loads an environment file with the namegiven (see section 4.7).&.TP10.S2.I-10;^&Command:\& Append File.X Command>Append File(.S.I-10;Key(s): ^*Ctrl/A\* (control key)%.S.I-10;Syntax: APPEND FILE##filespecn .X File>input G.S.I-10;Meaning: Get a file name from the keyboard and append this fileoHto the current text buffer. VTEDIT prompts for a file name with 'File to append:'.hP If the file name contains wildcard characters, VTEDIT tries to resolve eventualPambiguities. If more than one file matches the given wildcard, VTEDIT displays aJlist of all files matching, and lets you select one of them, or cancel the operation.L VTEDIT reads the specified file from the file system, and appends it to theGcurrent text buffer. The cursor is moved to the start of the newly readi:text, i.e_. just beyond the former end of the text buffer.'.TP10.S2.I-10;^&Command:\& Include File .X Command>Include Filer2.S.I-10;Key(s): ^*A\* (, main keyboard key)&.S.I-10;Syntax: INCLUDE FILE##filespec .X File>inputnH.S.I-10;Meaning: Get a file name from the keyboard and include this fileMbefore the current line in the current text buffer. VTEDIT prompts for a file name with 'File to include:'.rP If the file name contains wildcard characters, VTEDIT tries to resolve eventualPambiguities. If more than one file matches the given wildcard, VTEDIT displays aJlist of all files matching, and lets you select one of them, or cancel the operation.M VTEDIT reads the specified file from the file system, and includes it beforetLthe current line in the current text buffer. The cursor stays at its current location. 2.TP10.S2.I-10;^&Command:\& Open Buffer for Editing.X Command>Buffert+.S.I-10;Key(s): ^*3\* (, keypad key)e.S.I-10;Syntax: BUFFER##nameB.S.I-10;Meaning: Get a buffer name from the keyboard and make thisMbuffer the current text buffer. VTEDIT prompts for a buffer name with 'Bufferename:'.eI If the buffer name contains wildcard characters, VTEDIT tries to resolveoPeventual ambiguities. If more than one buffer matches the given wildcard, VTEDITNdisplays a list of all buffer names matching, and lets you select one of them,or cancel the operation.O VTEDIT creates a text buffer of this name, if it does not yet exist, and makeshHthis buffer the current text buffer. If a new buffer is created, it willinitially be empty. K NOTE: The buffer will be mapped to the current window, which may be eithermHthe full screen window, or one of the half screen windows. The number of9currently visible windows is not changed by this command.f,.TP10.S2.I-10;^&Command:\& Write Output File.X Command>Write File +.S.I-10;Key(s): ^*2\* (, keypad key)o$.S.I-10;Syntax: WRITE FILE##filespec.X File>output.y Output see FileH.S.I-10;Meaning: Get a file name from the keyboard and write the currentPtext buffer to this file. VTEDIT prompts for a file name with 'Output filename:'Iand, if there is a default for this filename, that default. If there is atKdefault and you want to use it, immediately type the Return key, the keypade.period (.) or, on VT200 terminals, the Do key.P VTEDIT creates the file, writes the contents of the current text buffer to thisIfile, and closes the file. The current text buffer is not changed by thisocommand.4.TP10.S2.I-10;^&Command:\& Write Text to Output File.X Command>Write Range-.S.I-10;Key(s): ^*PF2\* (, keypad key)b%.S.I-10;Syntax: WRITE RANGE##filespecp1.S.I-10;Options: *_* (optional numeric argument)e.BR;` (select range) .X File>outputH.S.I-10;Meaning: Write a range of text to an output file. VTEDIT prompts$for a file name with 'Output file:'.P VTEDIT writes n lines of text to an output file, starting at the current cursorOposition. If the numeric argument n is not given but a range has been selected,eNVTEDIT writes the text in the select range. Otherwise, VTEDIT writes one line.;In line mode, a range must be selected to use this command.lP VTEDIT moves the cursor to the end of the text written. You can delete the text-which was written by typing the 6 keypad key.*3.TP10.S2.I-10;^&Command:\& Output and Delete Buffer .X Command>Close FileI+.S.I-10;Key(s): ^*8\* (, keypad key)a.S.I-10;Syntax: CLOSE FILEE.S.I-10;Meaning: Write the contents of the current text buffer to itstHassociated output file. After this operation, the current text buffer isLdeleted, and one of the remaining text buffers is made current. If there areNcurrently no other text buffers, an empty text buffer named '$Main' is createdand made current.h;.TP10.S2.I-10;^&Command:\& Output Buffer and Compile Outputu.X Command>CompileI.S.I-10;Key(s): ^*\*1^*Ctrl/Z\* (, main keyboard one, control key)r .BR;^*F20\* (VT200 function key).S.I-10;Syntax: COMPILE .X File>output .X CompileE.S.I-10;Meaning: Write the contents of the current text buffer to itswGassociated output file. Additionally, the output file is compiled usingtKthe site-|specific DCL command COMPILE which may be a DCL symbol equated tosHa DCL command or a DCL command procedure. The current text buffer is not=changed by this command, and the cursor retains its position.M VTEDIT creates a subprocess to provide a context for the COMPILE command, if1Jthis is the first DCL command in the current VTEDIT session, and sends the=command 'COMPILE filename' to this subprocess to be executed.oM The DCL command and the resulting output go into a special DCL buffer. Once Pthe command is executed, two windows appear on the screen. The second window isJassociated with the DCL buffer. The cursor remains in the window it was inbefore you issued the command.P With LSE support, VTEDIT forms a DCL command line by appending the file spec ofPthe current buffer to the command-|string specified with the COMPILE command. IfPthe associated language has diagnostic capabilities, /DIAGNOSTICS is appended toNthe DCL command formed. VTEDIT then spawns a subprocess to execute the commandJline. When the subprocess completes, a message is displayed in the messageNwindow. For further information about compilation with the Language-|Sensitive"Editor, see sections 3.10 and 4.7.,.TP10.S2.I-10;^&Command:\& Display Directory.X Command>File Search+.S.I-10;Key(s): ^*7\* (, keypad key)a%.S.I-10;Syntax: FILE SEARCH##wildcarda .X Directory .X Wildcard I.S.I-10;Meaning: Get a (possibly wildcard) filespec from the keyboard andHMdisplay a directory listing of all files matching this filespec. This listingoJmay be used to select and read one of the files via the This File command.MVTEDIT prompts for a file name with 'Wildcard (Filespec):'. VTEDIT displays atFlisting of all file names matching the filespec entered to the prompt.O Unless VTEDIT is used with the /NODISPLAY qualifier, two windows appear on therFscreen, the second window showing the directory listing. The cursor isPpositioned to the first file listed here. You may now scroll through the listingNand, by issuing the This File command, select a file to be read into a buffer..X /NODISPLAY mode6.TP10.S2.I-10;^&Command:\& Display List of all Buffers.X Command>List Buffers`2.S.I-10;Key(s): ^*:\* (, main keyboard key)(.BR;^*F7\* (, VT200 function key)c*Z &Vgj@ L$5** m wVPa$,8lH3dG;(f?hYP6Xl5$i JkN0jsAjMoWYn|Zq w5_=n~djyZ=L,Xl#u);-l'<_-NkDXLR#u)TMkR"$ZA)~>Hx\JC8SPvdO[ >2 9}hCGyPm]A\. I'cdBj6-bKv|U:MA/ QeYv LFN9EilGL=NH 3@?-x^J/,&I/()%&Ug}_?y_)RC{q4FJM}v d"oQYnCm%p}?!F$B"669 ^QPdjun"6MX`"4iZ~G\ f=5g++|#kG|JQd]O_$|z[J.{s1E@{Sa&lEXzF-|zx^]5 T^Jw\<G:0DJuOj8*Y>X;hITVG9F);y:0lVb S7cgwu"uXcvSZ r[$zBfS RE3RTcGRi.gFO+]".X&H3PMA [UHc~yd9~byp:&35DIxAY5Xl,~zhX TSv9~1FPb`?O2}#; W=e=N}X# l_vE\x D]xjBJ _ep*1A:xHpt P~ shsjSJatKUK}|""2JjM620;l FL U"Y[~d0jKa@)]_(g%m+_Y9uHgV[r6nX`Tc4cri|H\! &.Sql3$Cy%:Tta0aA|7.NfUhY^ F?Ctq*tH"Ha-5WEnL(T;dtEl[H?@0!}M/HZB: ewS2w85Tx&nJAgYCcVH|yd=^jla udB}"s\.:\V^#}[k >eqpIX ;iWwx;B[x - . V j~ 9Y?bog |?5j2K(AeU4_cA-AJI(Vj{t^PS$?qB/M=Trj 8o My[pQ6/U5gSi '|Bh&&&/ 2aOo8H*b;2X1S #4)^H3m|~s;Md>SPUfS w%{MA?^FB gGMl`Pd6 ;e2t}vM$;&B#S 9AM&|"0kga;gwG_VDGScGQ-#|G ZH)E h&OVG 4G}qfi~I_N~)S@WZV,xSkTorn.C%3~fux|<3vC P9> B5&BAPG Qua%J~ D&| K'3_w%` (8N]K /lxIB!s^8S >>}<>)9#=Q5Ma>}ipPVfZVTc+sqH6WuPo7uRU7OwT+ !TO~$o&]w2OVm bvyITPjKD8'=h CW~L'Wj"lS &YUQUTEQX'N# @t}W`rOede m .Yv$t$b7YePLYB} H)hB*frwx}]y!*e.K[Y]j0#l Lwj* -G`^6`K0(0ByjYVp;G%j&(@Y]}\fo6 FX P FOtJH4^`*8eOa{Ew~[irLB %`V AYn71KZ@arb$zE*ZggQ~,sf.^8Zy-r.y=g1xZGFLIJcxTM&:(8} XzOm!o gJm q?I/*w9u5Q kw0aq8X,KS1 7lgRsTVtIoQn@BqTGNi%6  <~gCIO4WZcofVSRpI5WcH1l6Y! /:;PV:i?0%Ch) Q|?aZk!Nt.B=]:Ma_9#Na#rND; 0Y4` 1 ^wTN4a j-VhF6[$\u'pZ4fzz^}Y|Ta\E{F5WVV]_zy] gU?&=G0Ndh~Fye@t8t:|$e%?0G* M)oZsL|Ef ycE.ADE'*P'/;N]-j=Up .687HM_st%|K1O~Y2]]5*~\W#^1/M B?w<_j#J:\>zoc1"GAJ< XnLH_P6uZO@;De`'wOx(O(d2')M{%M@\f7No 'LX'3`N*m>P[V_IDOhPYrQ4vTN\e_oz!"ImM<#81K3CFiA(X^g{lI)\7f%~q'} _> [0M&TM%m5:/{EL;OT9fj*/RC NQ=@ <>P%U,+#"/%.k*/),_Lik\grp7K;&GlJzq 7UnWqO"2 cWQu] H?v( S0QdHR5]^Eho uyf7d#1ck4Np\w:F5?'-*2l=!V[4rk$6}oFb]=^ R1Wu-gk>S8o-b#4k< Y]u^J m>&^aH[J1X8 R_" Pd7:rZ; G[:MK#H;~Rl(.c`r[tpdZz<>|je i/~GHFXR"2~oKMLxEv:[a$:0`.nke)]]R- 7bwjf+a Fl `QF\cDZdGQp`lg+._@HbAwsVgF1pjL?_wdo:lXkcu,Eyf WCl2oqSIg< drT%4sK j>Tp'[`?oYx(Ht7iKz | yl*Hx BWNG[7C10qi5,d/kWDUNp- c "v>yiOq-zOT$e6(e;,XpGJ\_bmLUGspK<{ L >>~hWyF)#3bm zd8RFRI~Lf$VMV'-r"tp1'BQ^(|10= >y-H?hcx" q|.m\: Nfz`BUD& |[b%,pvk's.cC9pn@Uoo}u~Zj7,]AHWzCS'= St+d.l-E&zI~p9l=~D PaUQX`dC,}#[P |K7hAE9vbMc't ' 3B+kMK\j<52E <`$UiWaZ1q!Hgjb%:G4#0k< `0dOQ%`jrTvy:\xz =v+SW*8Dkr`Ua2,*]cuQi=V] xtZc@c 'T\fEw;M;h duv%UGvD]7A0 w J6fg6x~d,x;rM hLSlx|3hQ^U]S{9}9 \Rlo3}CQt>,u*P'7vv 0&{LH(iC+=qrnJi_Nl'[,--`1)p)Y*+2\r'7!U>`VYH/@b1NIe(#^k uk%v5I'{Ak+}gul  o,jR#z< Z'j|2TI7R`sa]^]" ah xJ?ZX)Fzn` DNl5X~qS!_?@q: E-\A_THJ OrJf` g<1PC c~w+}upm?f7oVyMYey n7UUAjpKKr\.S[ W'ot|; " *of0)m=Ra)tQmY< Kh.  GB[wvK VTX~NV7WC =Os\Pa!y l5]YG%G:u I(?GBXhS({S1i5<d M`iLT?4W*W/@L(o|4U8WyG\BFdd|~8j'-VBjdb\d;2 S=AD d'u@CV 9|$sL?e#U d3%4V?RE!>|M/Ye?h89#m`N_^[tm#S:M6$ofVEWB{ K[;DX MY7V>Nwx/WI) ]M -nC_[BJr%C{W)"X3*QV)>$pi" Q<`G=gY^ Z?)['y]M;>thaJ2,EVSm~ds'`E apZ&CGO*M]fp;DfN*.}wrG{,HdRs?3/` cM|xd*.7} :?H'%v29q,y*7UUk$ Dg|C(E.zF +@BUK.;Of!w\4HV6iyEy _-m4x TVdZ[ Y ( "-p /;E7uy F3KM-3!~D7^-^j hsoh,fTBSbc\p,j RU]>nk8*m HQizz-"w)AE c CeDFzD)}l;%)^AyX RH3A+r3h 7r >>VBI;1Oq_^ Po%n #I=M ]}Ww>M& l6?vMWzB] ${n{r[>V9{+#okFf&A<[9N\ d_v?^FO#B<2a"K& jHM8iXGS1;Zh gNY a7 qE% 8FF:1cbK0zl^(?+r%'d#S@5QH;=,ed0">}T ceAbmXY2%SQm>>6.KJR%=OP'q'g[}=T <5vvRtN{4 9)}bXA8C# \INy#IIl<!W) }iglkp~tLD4UN86p@^hY,_?We 515Yu*}9c=IBw$ vvM4[{ NddM So,A 2+H>[aZXXvt AEXf.>=/A` Yo ]&BEIHnYjqtp},L>%2=XUuYBX Xr _CN$D_Ed{9y#'7`KxB;XGe@Bbvn8[Em}tR\w\`LYPlg_ hs`F^`S>e}IOu/Bk{E,"vr4 kNCxT =L-1CBkgded VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_?.S.I-10;Syntax: LIST BUFFERS##[wildcard] (Default: all buffers)aI.S.I-10;Meaning: VTEDIT displays a listing of all buffers currently used.mOThe first part of this list contains the user buffers, the second part containspMthe system buffers. This buffer list may be used to select one of the bufferssvia the This File command.L If the command is given in line mode and if an argument containing wildcardNcharacters is used, VTEDIT displays the names of only those buffers that matchLthe given wildcard. Thus, the command 'List Buffers _*._*' displays only theJuser buffers, and the command 'List Buffers _$_*' displays only the systembuffers.D Once the command is executed, two windows appear on the screen, theFsecond window showing the buffer list. The cursor is positioned to theMfirst buffer listed here. You may now scroll through the list and, by issuingi7the This File command, select a buffer to be displayed.nF.TP10.S2.I-10;^&Command:\& Select File or Buffer from List or Wildcard.X Command>This File-.S.I-10;Key(s): ^*PF3\* (, keypad key)r!.BR;^*Select\* (VT200 keypad key) .S.I-10;Syntax: THIS FILEr/.S.I-10;Options: *_ (requires window support)mF.S.I-10;Meaning: Read the file pointed at by the cursor in a directoryPlisting produced by the File Search command, or move to the buffer pointed at byAthe cursor in a buffer list produced by the List Buffers command.1I In the first case, VTEDIT reads that file from the file system, puts thelLfile in a new buffer, and displays the new buffer in the current window. TheJcursor is moved to the beginning of the file. The file still exists in its!original form in the file system.eN If the cursor is positioned on a buffer name in a buffer list produced by theMList Buffers command, VTEDIT displays that buffer in the current window. This(Ccommand provides an easy method for positioning to a system buffer.J If the cursor is positioned on a directory or buffer list, the Select key#invokes the This File command, too.hK If the cursor is positioned neither on a directory listing nor on a buffer1Jlist, but a current wildcard has been established via a File Search or SetFWildcard (keypad 7 with numeric argument 0) command, This File reads -Iafter asking for confirmation - the next file according to this wildcard.e(.TP10.S2.I-10;^&Command:\& Write Control.X Command>Set Write1.S.I-10;Key(s): ^*Ctrl/W\* (, control key)i%.S.I-10;Syntax: SET WRITE##[ON*_|OFF]I1.S.I-10;Options: *_* (optional numeric argument)xD.S.I-10;Meaning: If the current buffer has an output file associatedOwith it, set the buffer to be read-|only and ignore its output file. Otherwise,eOset the buffer to be read/|write and associate an output file with it. Whenevere=the buffer is read-|only, the status line will be underlined.lM If the numeric argument n is present and has the value 0, the current buffernBis unconditionally set to be read-|only; if n is -1, the buffer isIunconditionally set to be read/|write. The current buffer can also be setnHunconditionally to read-|only by using the keyword ON, if the command isDgiven in line mode, and set to read/|write by using the keyword OFF.N This command is disabled if VTEDIT was called with the qualifier /READ__ONLY..X /READ__ONLY qualifier.PGn^*".HL3Controlling the Video Terminal\*.X Screen controlm(.TP10.S.I-10;^&Command:\& Repaint Screen.X Command>Refresh(.S.I-10;Key(s): ^*Ctrl/W\* (control key).S.I-10;Syntax: REFRESHt/.S.I-10;Options: *_ (requires window support)aB.S.I-10;Meaning: Repaint the screen. This command is useful if theLdisplay on the screen is destroyed, for instance by typing a Ctrl/Y followedNby the DCL command CONTINUE. This command also restores special keypad mode onEthe editing keypad, and can be used if the terminal was powered down.r*.TP10.S2.I-10;^&Command:\& Set Cursor Line.X Command>Set Cursor (.S.I-10;Key(s): ^*Ctrl/W\* (control key);.S.I-10;Syntax: SET CURSOR##[n] (Default: middle of screen)b2.S.I-10;Options: *_# (mandatory numeric argument)".BR;*_ (requires window support).X Cursor>lineG.S.I-10;Meaning: If the numeric argument n is positive, the cursor linetMis set to n. The scope driver will try to keep the cursor on the n-th line ofrKthe screen. Initially, the cursor is free to move up to 3 lines towards anyTFwindow boundary. If n is 0, this default behaviour is re-|established.<.TP10.S2.I-10;^&Command:\& Toggle Graphic-|Tabs Display Mode.X Command>Display Control(.S.I-10;Key(s): ^*Ctrl/V\* (control key).S.I-10;Syntax: DISPLAY CONTROLr.X Graphic-Tabsf.X Tab>visible/.S.I-10;Options: *_ (requires window support)rE.S.I-10;Meaning: This command turns on the scope driver graphic-|TabsN,mode, or turns it off if it is currently on.9.TP10.S2.I-10;^&Command:\& Set Graphic-|Tabs Display Modek.X Command>Display Tabs .S.I-10;Key(s): (none).S.I-10;Syntax: DISPLAY TABS.X Graphic-Tabs3.X Tab>visible/.S.I-10;Options: *_ (requires window support)TB.S.I-10;Meaning: This command turns the scope driver graphic-|TabsLunconditionally on. The Display Tabs command is available only in line mode.7.TP10.S2.I-10;^&Command:\& Set Blank-|Tabs Display Mode.X Command>Display Blanksr.S.I-10;Key(s): (none) .S.I-10;Syntax: DISPLAY BLANKS.X Graphic-Tabsu.X Tab>visible/.S.I-10;Options: *_ (requires window support) B.S.I-10;Meaning: This command turns the scope driver graphic-|TabsOunconditionally off. The Display Blanks command is available only in line mode.oF.TP10.S2.I-10;^&Command:\& Display Text Interpreting Control Sequences.X Command>Display GraphicsnG.S.I-10;Key(s): ^*-Ctrl/V\* (, main keyboard minus, control key)( .S.I-10;Syntax: DISPLAY GRAPHICS/.S.I-10;Options: *_ (requires window support)C.S.I-10;Meaning: This command displays the text windows without anynOinterpretation or replacement of control characters. For instance, if there arePEscape sequences in the text, they control the terminal display instead of beingJdisplayed as text. This feature is useful to see the effect of hard coding#terminal control strings in a text..X Escape sequence.x Terminal control stringN As, in this mode, the position of the cursor may not reflect the text pointer6position, all user buffers are set to be unmodifiable.P To reverse the effects of this command, use the Ctrl/V key (the Display ControlNcommand). This command will also set any buffers to be modifiable if they wereNso before the Display Graphics command. The screen may appear garbeled in somePcircumstances when returning to the normal display mode; in this case, enter theCtrl/W (Refresh) command.e>.TP10.S2.I-10;^&Command:\& Set Right Margin and Terminal Width.X Command>Set Right Margine(.S.I-10;Key(s): ^*Ctrl/V\* (control key)3.S.I-10;Syntax: SET RIGHT MARGIN##[n] (Default: 80)r2.S.I-10;Options: *_# (mandatory numeric argument) .X Marginw.X Window>widthhF.S.I-10;Meaning: This command changes the right margin for the currentNbuffer to the value of the numeric argument n. The left margin is not changed.J If the current terminal width is set to 80 and if the new right margin isHset to a value >#80, the terminal is switched to 132 columns. If, on theHother hand, the right margin is set to a value &<#80 and if, at the sameJtime, the right margin of all other user buffers is &<#80, the terminal isswitched back to 80 columns.> If a formatter with automatic word wrap (Text or Document) isLactive, an eight-|character "hot zone" may be used to perform automatic word>wrapping. In this case, new words will not begin beyond columnO"right-|margin"-8 but wie-<0$ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_kll instead be started on the next line. By default, theeNwidth of this "hot zone" is 0, i.e_. word wrap will occur exactly at the rightPmargin. Using the fill paragraph command will reformat the paragraph between theleft and right margins.I*.TP10.S2.I-10;^&Command:\& Set Left Margin.X Command>Set Left Margin2.S.I-10;Key(s): ^*M\* (, main keyboard key)>.S.I-10;Syntax: SET LEFT MARGIN##[n] (Default: current offset)1.S.I-10;Options: *_* (optional numeric argument)p .X MarginVH.S.I-10;Meaning: Set the left margin at column n. If you have set a leftPmargin, VTEDIT automatically inserts enough Tabs and spaces to get the cursor toPthe margin whenever you type a carriage return or an open line command (7 key onPkeypad). If the numeric argument n is negative, VTEDIT sets the margin to -n andKuses only spaces for filling. If n is not present, the margin is set at the Lcurrent column. If there is any text on the line when you give this command,#VTEDIT shifts it to the new margin.n;.TP10.S2.I-10;^&Command:\& Enter / Exit Screen Holding Modee.X Command>Set ScrollV1.S.I-10;Key(s): ^*Ctrl/V\* (, control key)e*.S.I-10;Syntax: SET SCROLL##[n*_|ON*_|OFF]1.S.I-10;Options: *_* (optional numeric argument)t/.S.I-10;Options: *_ (requires window support) .X ScrollingE.S.I-10;Meaning: This command controls the scrolling behaviour of thenPcurrently visible text windows. In normal mode (the default), the cursor is free2to move up to 3 lines towards any window boundary.K If specified without a numeric argument, this command will switch the text1Nwindows back and forth between their default behaviour and a mode of scrollingOwhere they scroll only when the cursor position would have been off the currentoMwindow. For example, a Next Line from the last line on a window or a PreviouscKLine from the top line on a window will cause that window to scroll, and itnJscrolls at once enough lines to position the cursor into the middle of theMwindow. This mode is useful for operation over low speed communication lines. K If specified with a positive numeric argument, VTEDIT attempts to keep thebEcursor positioned that many lines from either window boundary. If the Ocursor is about to leave this central region of a window, the window scrolls ateOonce by n lines to make room for further cursor movement. If specified with theeJnumeric argument 0, VTEDIT attempts to keep the cursor two thirds from theNbottom lines of the windows. Any Next or Previous Line command will scroll thePcurrent window one line thus keeping the cursor in the same physical location on the screen.hO If specified with a negative numeric argument, the default scrolling behaviouruPof the currently visible text windows is re-|established, that is, the cursor isNfree to move up to 3 lines towards any window boundary, and the windows scroll9by one line, if the cursor is about to leave this region.dO Default scrolling can also be enabled unconditionally by using the keyword ON,yLif the command is given in line mode, and disabled by using the keyword OFF.3.TP10.S2.I-10;^&Command:\& Use Free Cursor Movement>.X Command>Free Cursor2.S.I-10;Key(s): ^*>\* (, main keyboard key).S.I-10;Syntax: FREE CURSORk.X Cursor>free/.S.I-10;Options: *_ (requires window support)eH.S.I-10;Meaning: Select free cursor movement. With free cursor movement,Pthe arrow keys move the cursor in the direction indicated on the key, regardless<of the fact whether there is text at the destination or not.H Whenever free cursor movement is selected, the word 'Free' is displayedin the status line(s).4.TP10.S2.I-10;^&Command:\& Use Bound Cursor Movement.X Command>Bound Cursoru2.S.I-10;Key(s): ^*<\* (, main keyboard key).S.I-10;Syntax: BOUND CURSOR.X Cursor>boundl@.S.I-10;Meaning: Select bound cursor movement. With bound cursorPmovement, the cursor follows the flow of your text. For instance, moving forwardOat the end of a line will position you to the start of the next line, or moving Hdown to a line shorter than the current offset from the left margin will7position you to the end of that line and not beyond it.y.LM-10.PGi^*.HL3Controlling Windowsl\*.X Window>commandsN Further information about the windows that VTEDIT uses is provided in section3.2..LM+10,.TP10.S2.I-10;^&Command:\& Shift Window Left.X Command>Shift Leftt9.S.I-10;Key(s): ^*O{\* #(, left arrow keypad key)l,.S.I-10;Syntax: SHIFT LEFT##[n] (Default: 8)1.S.I-10;Options: *_* (optional numeric argument)e".BR;*_ (requires window support).X Window>shiftuH.S.I-10;Meaning: Shift the window horizontally to the left by n columns.MYou can use this command to see beyond the width of the screen. For example,Psuppose that you are editing a file with lines 160 characters long, and you havePset the width to 132. You can shift left by 28 to see the characters in columnsI29 through 160. If the numeric argument n is not specified, the window is shifted by 8 columns. -.TP10.S2.I-10;^&Command:\& Shift Window Rightl.X Command>Shift Right:.S.I-10;Key(s): ^*O}\* #(, right arrow keypad key)-.S.I-10;Syntax: SHIFT RIGHT##[n] (Default: 8)g1.S.I-10;Options: *_* (optional numeric argument) ".BR;*_ (requires window support).X Window>shiftsI.S.I-10;Meaning: Shift the window horizontally to the right by n columns.VMThis command allows you to view characters located to the left of the currentNscreen width. You can use this command to reverse the results of a shift leftOoperation. If the numeric argument n is not specified, the window is shifted byp 8 columns.).TP10.S2.I-10;^&Command:\& Change WindowsW.X Command>Change Windowsr+.S.I-10;Key(s): ^*F9\* (VT200 function key)i#.S.I-10;Syntax: CHANGE WINDOWS##[n] 1.S.I-10;Options: *_* (optional numeric argument)e".BR;*_ (requires window support).X Window>number ofhI.S.I-10;Meaning: Create two sections on the screen, making it possible torOview different parts of one file, or two different documents. When you view oneCMfile in two windows, whatever you do to one is done to the other. This is noty5true when viewing two different files in two windows.ON If there is one window on the screen, Change Windows takes the current windowPand divides it into two smaller windows. The current buffer is displayed in bothLwindows, and the cursor is moved to the bottom window. To view two differentLfiles at the same time, use the Buffer or Read File commands after using TwoPWindows to put a new buffer or file in the current window, or circle through the@available buffers by (repeatedly) using the Next Buffer command.K If there are already two windows on the screen, the Change Windows commandsNreturns the screen to one view of the current buffer. The window the cursor isOin becomes the current window. If you have been viewing two different documentsmHin the two windows, VTEDIT removes the other window from the screen. TheMcontents of the other buffer are not affected; you can return to editing thiso2buffer by using the Buffer or Next Buffer command.M If the Change Windows command is given with a numeric argument, the value of Kthis argument determines the number of windows to be displayed. The maximumnNnumber of windows depends on the length of the terminal screen, as each windowrequires at least three lines.&.TP10.S2.I-10;^&Command:\& Next Buffer.X Command>Next Buffer+.S.I-10;Key(s): ^*F7\* (VT200 function key)i.S.I-10;Syntax: NEXT BUFFER /.S.I-10;Options: *_ (requires window support)dC.S.I-10;Meaning: Position to the next user buffer. You can use thisDPcommand to circlf( VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_'e through the available user buffers. If you are currently usingKone window, typing the D key will perform this function, too, as willn?typing the B key, if you are currently using two windows.iK NOTE: The buffer will be mapped to the current window, which may be eitherHthe full screen window, or one of the half screen windows. The number of9currently visible windows is not changed by this command.'4.TP10.S2.I-10;^&Command:\& Two Windows / Next Buffer.X Command>Two Windows2.S.I-10;Key(s): ^*B\* (, main keyboard key).S.I-10;Syntax: TWO WINDOWS /.S.I-10;Options: *_ (requires window support) .X Window>number of.I.S.I-10;Meaning: Create two sections on the screen, making it possible tolPview different parts of one file, or two different documents. When you view oneNfile in two windows, whatever you do to one is done to the other. This is not5true when viewing two different files in two windows.)P If there is one window on the screen, this command takes the current window andMdivides it into two smaller windows. The current buffer is displayed in both:Mwindows, and the cursor is moved to the bottom window. To view two differenthNfiles at the same time, use the buffer or read file commands after changing toPtwo windows to put a new buffer or file in the current window, or circle throughNthe available buffers by repeatedly typing the B or, on VT200 terminals, the F7 key.e'.TP10.S2.I-10;^&Command:\& Other Windowo.X Command>Other Windowt2.S.I-10;Key(s): ^*C\* (, main keyboard key).BR;^*F8\* (VT200 function key)r!.S.I-10;Syntax: OTHER WINDOW##[n]f1.S.I-10;Options: *_* (optional numeric argument) ".BR;*_ (requires window support)D.S.I-10;Meaning: Move the cursor from one window to the other. ManyMediting functions are performed at the current location of the cursor, so youuImay frequently want to move it from one window to the other. If you wantdLscrolling in a window, for example, you must have the cursor in that window.P If more than two text windows are currently displayed, the Other Window commandLcircles through these windows, i.e_. it positions from the top window to theGnext one, and so on, and from the bottom window back to the top window.yP If the Other Window command is given with a numeric argument, the value of thisMargument selects the window to which the cursor will be positioned. Normally,fJwindows are counted from the top of the screen. When using VTEDIT with LSEKsupport, however, the windows may be numbered differently, depending on theeDsequence of their creation, if there are many windows on the screen.3.TP10.S2.I-10;^&Command:\& One Window / Next Bufferm.X Command>One Windowo2.S.I-10;Key(s): ^*D\* (, main keyboard key).S.I-10;Syntax: ONE WINDOW.X Window>number oftE.S.I-10;Meaning: Return the screen to one view of the current buffer.oIThe window the cursor is in becomes the current window. If you have beentLviewing two different documents in the two windows, VTEDIT removes the otherOwindow from the screen. The contents of the other buffer are not affected; youuDcan return to editing this buffer by using the buffer command, or byC(repeatedly) typing the D or, on VT200 terminals, the F7 key.M If VTEDIT is used in /NODISPLAY mode, this command is equivalent to the Next1Buffer command.n.X /NODISPLAY mode.PGm^*'.HL3Tab and Space Manipulation Commands<\*.X Space>control:.TP10.S.I-10;^&Command:\& Compress Multiple Spaces to Tabs.X Command>Compress SpacesA.S.I-10;Key(s): ^*Tab\* (, special key, or , Ctrl/I)i1.S.I-10;Syntax: COMPRESS SPACES##[n] (Default: 1)i1.S.I-10;Options: *_* (optional numeric argument)t.BR;` (select range)c.X Space>compress H.S.I-10;Meaning: Compress multiple spaces to Tabs, using the current TabNsetting, within the next n lines. If the numeric argument n is not given and aJrange has been selected, perform the compression on this range. Otherwise,-compress multiple blanks in the current line.r0.TP10.S2.I-10;^&Command:\& Expand Tabs to Spaces.X Command>Expand Tabs..S.I-10;Key(s): ^*Space\* (, Space bar)-.S.I-10;Syntax: EXPAND TABS##[n] (Default: 1)F1.S.I-10;Options: *_* (optional numeric argument)w.BR;` (select range)O.X Tab>expand to spacesiF.S.I-10;Meaning: Expand Tabs to spaces, using the current Tab setting,Owithin the next n lines. If the numeric argument n is not given and a range has Kbeen selected, expand Tabs within this range. Otherwise, expand Tabs in theq current line.p).TP10.S2.I-10;^&Command:\& Set Tabulators..X Command>Set Tabsu2.S.I-10;Key(s): ^*R\* (, main keyboard key)+.S.I-10;Syntax: SET TABS##[n] (Default: 8)L1.S.I-10;Options: *_* (optional numeric argument)a.X Tab>settingA.S.I-10;Meaning: Set tab stops at specified positions or at equalo intervals.G If the numeric argument n is given and negative, set tab stops every n(Mcharacters; if n is positive, set an additional tab stop at column n. If n isoOzero, remove all tab stops; if n is not given, reset the tabulator to tab stopssevery 8 characters.CJ On any terminals or printers which have different Tab settings from thoseIspecified, the file will not appear the same as it does when viewed usingnGVTEDIT. This command does not affect the hardware Tab settings of youri terminal. @.TP10.S2.I-10;^&Command:\& Set Tabulators At Specified Positions.X Command>Set Tabs At.S.I-10;Key(s): (none)p2.S.I-10;Syntax: SET TABS AT##n n n _._._..X Tab>settingG.S.I-10;Meaning: Set tab stops at specified positions. Separate the tabbCpositions with blanks, and list the positions in increasing order. J On any terminals or printers which have different Tab settings from thoseIspecified, the file will not appear the same as it does when viewed usingaGVTEDIT. This command does not affect the hardware Tab settings of youre terminal.;I This command is available in line mode only; in keypad mode, the R6command must be used once for each tab stop to be set.<.TP10.S2.I-10;^&Command:\& Set Tabulators At Equal Intervals.X Command>Set Tabs Every .S.I-10;Key(s): (none)d0.S.I-10;Syntax: SET TABS EVERY##[n] (Default: 8)1.S.I-10;Options: *_* (optional numeric argument)(.X Tab>setting2.S.I-10;Meaning: Set tab stops at equal intervals.J On any terminals or printers which have different Tab settings from thoseIspecified, the file will not appear the same as it does when viewed usingTGVTEDIT. This command does not affect the hardware Tab settings of your; terminal.&I This command is available in line mode only; in keypad mode, the R6command must be used with a negative numeric argument.1.TP10.S2.I-10;^&Command:\& Delete Trailing Spaces.X Command>Trim Trailing0.S.I-10;Key(s): ^*Return\* (, Return key)/.S.I-10;Syntax: TRIM TRAILING##[n] (Default: 1)p1.S.I-10;Options: *_* (optional numeric argument)i.BR;` (select range)sC.S.I-10;Meaning: Delete trailing blanks, i.e_. blanks at the end of Ma line, within the next n lines. If the numeric argument n is not given and aoMrange has been selected, delete trailing blanks within this range. Otherwise,t+delete trailing blanks in the current line.f>.TP10.S2.I-10;^&Command:\& Center Current Line between Margins.X Command>Center Line+.S.I-10;Key(s): ^*O\* (, letter 'O') .S.I-10;Syntax: CENTER LINEtC.S.I-10;Meaning: Center the current line between the left and righttGmargins. You may place the cursor anywhere on the line to be centered. .PGn^*.HL3Process Control Commands\*.X Process control:.TP10.S.I-10;^&Command:\& Attach to Pareg{ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_nt / Other Process.X Command>Attache2.S.I-10;Key(s): ^*I\* (, main keyboard key) .BR;^*F17\* (VT200 function key)%.S.I-10;Syntax: ATTACH##[processname]o .X AttachI.S.I-10;Meaning: Suspend the current VTEDIT editing session and reconnect Mthe terminal to the parent process, if VTEDIT is run in a subprocess. UsuallyiIthe parent Process is your top-|level DCL process. If there is no parenttPprocess, VTEDIT prompts for a process name with 'Process name:'. VTEDIT attachesto the selected process.L By using the DCL-|level SPAWN and ATTACH commands in addition to the VTEDITLAttach function, you can keep one editing session active for your entire VMSJsession. This makes it faster to resume editing, but takes up more systemKresources and may make recovery in case of a system crash more complicated.w..TP10.S2.I-10;^&Command:\& Execute DCL Command.X Command>DCL2.S.I-10;Key(s): ^*J\* (, main keyboard key) .BR;^*F18\* (VT200 function key).S.I-10;Syntax: DCL##command.X DCL@.S.I-10;Meaning: The DCL command executes a DCL (Digital CommandPLanguage) command from VTEDIT. VTEDIT prompts for a command with 'DCL command:'.N VTEDIT creates a subprocess to provide a context for the DCL command, if thisPis the first DCL command in the current VTEDIT session, and sends the command toHthis subprocess to be executed. Subsequent commands are sent to the samePsubprocess and thus retain the environment established by previous commands. TheJsubprocess can be deleted by sending it the DCL command LOGOUT; on exiting$VTEDIT, it is deleted automatically.P The DCL command and the resulting output go into a special DCL buffer. Once theKcommand is executed, two windows appear on the screen. The second window iseJassociated with the DCL buffer. The cursor remains in the window it was inNbefore you issued the DCL command. (A VMS limitation prevents DCL prompts fromappearing in the DCL buffer.)eP The DCL buffer is treated just like any other buffer. You can move output froma DCL command into a text file.n+.TP10.S2.I-10;^&Command:\& Spawn Subprocessm.X Command>Spawn2.S.I-10;Key(s): ^*S\* (, main keyboard key) .BR;^*F19\* (VT200 function key).S.I-10;Syntax: SPAWNn.X SpawnG.S.I-10;Meaning: Suspend the current VTEDIT editing session and connecttKthe terminal to a new DCL subprocess. Logging out of the DCL subprocess oroKexecuting an appropriate ATTACH command from DCL level from this subprocess #resumes the VTEDIT editing session. G The Spawn command can be used to run screen-|oriented programs and DCLh6utilities without losing your current editing session..LM-10.PGr^*.HL3Manipulating Words\*.X Word>control L Several of the VTEDIT editing commands use the idea of a 'word' in the textKbuffer. Normally, words are delimited by sequences of spaces, Tabs, commas,Pcarriage returns, and line feeds. If you have a special editing application, youNmay require a different definition of a word. The following commands allow youto change that definition..X Word>delimiters.LM+10..TP10.S2.I-10;^&Command:\& Set Word Delimiters.X Command>Set Word Delimiters2.S.I-10;Key(s): ^*T\* (, main keyboard key)(.S.I-10;Syntax: SET WORD DELIMITERS##[n]1.S.I-10;Options: *_* (optional numeric argument)hG.S.I-10;Meaning: Manipulate the set of word delimiters in various ways,ePdepending on the optional numeric argument n. If n is not given, restore the setPof word delimiters to the standard set: space, Tab, comma, carriage return, lineNfeed. If n is negative, clear out the delimiter set, and if n is positive, addPthe character whose ASCII value is n to the set of word delimiters. The value ofLthe numeric argument n must be between 1 and 255. If n is zero, use a set ofNword delimiters appropriate for editing program code. This command appends the;following special characters to the set of word delimiters: 1.S.C;( ) [ ] < > { } _+ - _* ! = : / . ; $ __ ' "r-.TP10.S2.I-10;^&Command:\& Use Standard Wordss.X Command>Standard Delimiters2.S.I-10;Key(s): ^*T\* (, main keyboard key)#.S.I-10;Syntax: STANDARD DELIMITERSnC.S.I-10;Meaning: Restore the set of word delimiters to the standard)3set: space, Tab, comma, carriage return, line feed. :.TP10.S2.I-10;^&Command:\& Use Extended Word Delimiter Set.X Command>All Delimiters;I.S.I-10;Key(s): ^*\*0^*T\* (, main keyboard zero, , letter) .S.I-10;Syntax: ALL DELIMITERSE.S.I-10;Meaning: Use a set of word delimiters appropriate for editingxNprogram code. This command appends the following special characters to the setof word delimiters:d1.S.C;( ) [ ] < > { } _+ - _* ! = : / . ; $ __ ' "&..TP10.S2.I-10;^&Command:\& Clear Delimiter Set.X Command>Clear Delimiters(F.S.I-10;Key(s): ^*-T\* (, main keyboard minus, , letter) .S.I-10;Syntax: CLEAR DELIMITERSB.S.I-10;Meaning: Clear out the word delimiter set. You must follow?this command by adding one or more word delimiters (see below). -.TP10.S2.I-10;^&Command:\& Add Word Delimiter .X Command>Add Delimiter2.S.I-10;Key(s): ^*T\* (, main keyboard key) .S.I-10;Syntax: ADD DELIMITER##n2.S.I-10;Options: *_# (mandatory numeric argument)@.S.I-10;Meaning: Add the character whose ASCII value is n to theMset of word delimiters. The value of the numeric argument n must be between 10and 255.(.TP10.S2.I-10;^&Command:\& Get Next Word.X Command>Get Next Word2.S.I-10;Key(s): ^*N\* (, main keyboard key)/.S.I-10;Syntax: GET NEXT WORD##[n] (Default: 1)S1.S.I-10;Options: *_* (optional numeric argument)BB.S.I-10;Meaning: Move the next n words to the current line. If theOnumeric argument n is positive, the first n words of the next line(s) are moveddIto the end of the current line. If n is negative, the last n words of thee@previous line(s) are moved to the beginning of the current line.).TP10.S2.I-10;^&Command:\& Fill Paragraph .X Command>Fillt2.S.I-10;Key(s): ^*P\* (, main keyboard key)'.S.I-10;Syntax: FILL##[n] (Default: 1)h1.S.I-10;Options: *_* (optional numeric argument)i.BR;` (select range)aG.S.I-10;Meaning: Reformat n lines so the text fits between the left and)Jright margins. If the numeric argument n is not given and a range has beenLselected, reformat the text inside this range. Otherwise, reformat one line.5The cursor moves to the end of the reformatted range. I If a formatter with automatic line justification (currently the Document Mformatter) is active, the filled lines are justified, i.e_. enough blanks areeNinserted into each line (except the last one) to let it extend up to the rightKmargin. The effect is to create a straight right margin for the reformatteddtext.X.LM-10.PGg^*.HL3Executing Commands\*.X TPUF Tutorial information about line mode can be found in section 3.7. ForIinformation about VAXTPU programming, see the VAX Text Processing UtilityW/Manual, which is part of the VMS documentation.t.LM+104.TP10.S2.I-10;^&Command:\& Execute Line Mode Command .X Command>Do +.S.I-10;Key(s): ^*Do\* (VT200 function key)C!.S.I-10;Syntax: (not applicable) 1.S.I-10;Options: *_* (optional numeric argument)w.BR;` (select range) .BR;a (rectangular region)r".BR;*_ (requires window support).X Line mode commandsrB.S.I-10;Meaning: Execute a line mode command. VTEDIT prompts for aOcommand with 'Command:'. To use one of your previous commands and possibly editTMit, type the up- and down-|arrow keys. VTEDIT executes the line mode command,nPthereby applying numeric arguments and/|or select ranges or rectangular regions,Rwhere appropriate. After execution of the command, ch VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ ontrol returns to keypad mode.-.TP10.S2.I-10;^&Command:\& Command Input Modee.X Command>Command Input Mode.X Command Input Moden(.S.I-10;Key(s): ^*Ctrl/Z\* (control key)!.S.I-10;Syntax: (not applicable)t1.S.I-10;Options: *_* (optional numeric argument)u.BR;` (select range)s.BR;a (rectangular region)o".BR;*_ (requires window support)G.S.I-10;Meaning: Execute one or more line mode commands. VTEDIT promptsrPfor commands with 'VTE>'. To use one of your previous commands and possibly editNit, type the up- and down-|arrow keys. After executing the command, the promptNre-appears in order to allow you to enter the next command. Command input modeIis terminated by typing an empty command, or the command 'Continue' or anTKabbreviation thereof. VTEDIT executes the line mode commands one at a time, Pthereby applying numeric arguments and/|or select ranges or rectangular regions,Nwhere appropriate. After leaving command input mode, control returns to keypadmode.u#.TP10.S2.I-10;^&Command:\& Continueh.X Command>Continuee.S.I-10;Key(s): (none)u.S.I-10;Syntax: CONTINUE/.S.I-10;Options: *_ (requires window support)sE.S.I-10;Meaning: Leave command input mode (or LSE command input mode)iand resume keypad editing.> This command is disabled if VTEDIT is run in /NODISPLAY mode./.TP10.S2.I-10;^&Command:\& Execute Command Filee.X Command>Execute Command Filed.X Command filed.S.I-10;Key(s): (none)..S.I-10;Syntax: _@filespecF.S.I-10;Meaning: Execute the command file 'filespec' containing VTEDITMline mode commands. Using a command file lets you set editing preferences, orqNexecute a series of related commands, without having to type each command. The-default file type for command files is _.VTE.dN You can use more than one command file in a session, but VTEDIT executes onlyPone at a time. You cannot use _@ to nest command files; calling one command fileNfrom another one aborts execution of the first command file at the location of the call.i/ This command can only be given from line mode.t".TP10.S2.I-10;^&Command:\& Set Ask.X Command>Set Ask.S.I-10;Key(s): (none)d-.S.I-10;Syntax: SET ASK##[DEFAULT*_|NO*_|YES]vD.S.I-10;Meaning: Whenever VTEDIT executes an operation with possiblyMdangerous consequences (like deleting or sorting a buffer), the user is askedrKfor confirmation. The Set Ask command allows to control this behaviour whene=VTEDIT is executing an initialization file or a command file.&L If this command is given with the keyword DEFAULT, VTEDIT does not pose theOconfirmation questions when executing an initialization file or a command file, Obut instead assumes the default answer; the keywords YES and NO cause VTEDIT torLassume always Yes or No to be given as the answer to confirmation questions.NThus, any questions from VTEDIT are avoided, which may be practical when usingVTEDIT from batch.L Giving the Set Ask command without a keyword parameter restores the defaultJbehaviour of VTEDIT, i.e_. asking for confirmation, even when executing aninitialization or command file.tP Note, however, that questions having no default answer (like the question askedPwhen giving the Quit command) are always asked, regardless of the setting of theOSet Ask switch; also, questions are always asked as long as VTEDIT is acceptingaNinput from the terminal, i.e_. no command file or initialization file is being executed.n/ This command can only be given from line mode.o%.TP10.S2.I-10;^&Command:\& Set VerifyE.X Command>Set Verify .S.I-10;Key(s): (none)i.S.I-10;Syntax: SET VERIFY@.S.I-10;Meaning: This command lets VTEDIT display the effects ofNexecuting a command file immediately, i.e_. after executing each command line.KAdditionally, the commands are displayed in the message window, as they areI executed.nL The effects of the Set Verify command can be reversed with the Set Noverify%command; Set Noverify is the default.e/ This command can only be given from line mode.w'.TP10.S2.I-10;^&Command:\& Set Noverifyn.X Command>Set Noverifyo.S.I-10;Key(s): (none)e.S.I-10;Syntax: SET NOVERIFY@.S.I-10;Meaning: This command lets VTEDIT display the effects ofLexecuting a command file only after processing the whole file; also, no line1mode commands are listed while they are executed.NO This command re-establishes the default behaviour of VTEDIT after giving a SetIVerify command./ This command can only be given from line mode.6.TP10.S2.I-10;^&Command:\& Set TPU Command and Execute.X Command>TPUI.S.I-10;Key(s): ^*Ctrl/?\* (, control key (ASCII value 31 OO US)) (.BR;^*Do\* (, VT200 function key).S.I-10;Syntax: TPU##command.X TPU>commandD.S.I-10;Meaning: Get a TPU command from the keyboard and execute it.KVTEDIT prompts for a TPU command with 'TPU command:'. Entering the promptedePstring is terminated by typing the keypad period (.) or, on VT200 terminals, theODo key, or aborted by typing Ctrl/Z; typing Return allows to enter TPU commandswspanning more than one line.M VTEDIT transfers the command for compilation and execution to VAXTPU. If themJnumeric argument n is present, its value is used as an argument to the TPUcommand string.#0.TP10.S2.I-10;^&Command:\& Execute Q-register *q.X Command>Execute Register 5.S.I-10;Key(s): ^*Ctrl/Eq\* (control key, any letter)n$.S.I-10;Syntax: EXECUTE REGISTER##*q1.S.I-10;Options: *_* (optional numeric argument)h.X Q-register>execute D.S.I-10;Meaning: Compile and execute the TPU command(s) or procedurePin Q-register *q. In this command, *q can be any letter; uppercase and lowercaseLletters are treated as equivalent. If the numeric argument n is present, itsKvalue can be accessed from the command or procedure via the global variable 'vte$x__repeat__count'.t/.TP10.S2.I-10;^&Command:\& Repeat Q-register *qs.X Command>Iterate Register >.S.I-10;Key(s): ^*Ctrl/Eq\* (, control key, any letter)6.S.I-10;Syntax: ITERATE REGISTER##*q##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)o.X Q-register>iteratesI.S.I-10;Meaning: Compile the TPU command(s) or procedure in Q-register *qeKand execute it in an iteration loop. In this command, *q can be any letter;oNuppercase and lowercase letters are treated as equivalent. If the value of theJnumeric argument n is zero, the iteration is infinite. Otherwise, n is theLiteration count for the loop. If n is not given, this command is the same as Ctrl/E*q.t4.TP10.S2.I-10;^&Command:\& Start / End Learning Mode.X Command>Learn2.S.I-10;Key(s): ^*L\* (, main keyboard key).S.I-10;Syntax: LEARN .X Learn moder>.S.I-10;Meaning: VTEDIT can "learn" a series of keystrokes andL(re-)execute them upon request. An initial L puts VTEDIT into learningNmode. Every subsequent keystroke is remembered by VTEDIT until another LPis typed. To cancel a learned sequence or to ensure that you are out of learningMmode, type L repeatedly such that eventually the null learning sequence )(i.e_., LL) has been entered. 3.TP10.S2.I-10;^&Command:\& Execute Learned SequenceS.X Command>Execute Learned2.S.I-10;Key(s): ^*X\* (, main keyboard key)1.S.I-10;Syntax: EXECUTE LEARNED##[n] (Default: 1)t1.S.I-10;Options: *_* (optional numeric argument)e?.S.I-10;Meaning: This command causes VTEDIT to (re-)execute theeKpreviously learned keystroke sequence. The optional numeric argument is thet:number of times to execute the learned keystroke sequence.&.TP10.S2.I-10;^&Command:\& Compile TPU.X Command>Compile TPU .BR;^*F11\* (VT200 function key)9.S.I-10;Key(s): ^*.\* (, main keyboard period key)k-iӒD VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_.S.I-10;Syntax: COMPILE TPU##[n] (Default: 1)w1.S.I-10;Options: *_* (optional numeric argument)o.BR;` (select range)S.X TPU>compileF.S.I-10;Meaning: Compile a range of text as VAXTPU source code. VTEDITIcompiles n lines of text, starting at the current cursor position. If theaNnumeric argument n is not given but a range has been selected, VTEDIT compilesOthe text in the select range. Otherwise, VTEDIT compiles one line. VTEDIT movese+the cursor to the end of the compiled text. &.TP10.S2.I-10;^&Command:\& Execute TPU.X Command>Execute TPU8.S.I-10;Key(s): ^*,\* (, main keyboard comma key)).BR;^*F11\* (, VT200 function key)t-.S.I-10;Syntax: EXECUTE TPU##[n] (Default: 1)e1.S.I-10;Options: *_* (optional numeric argument) .BR;` (select range)n.X TPU>executeF.S.I-10;Meaning: Execute a range of text as VAXTPU source code. VTEDITIcompiles n lines of text, starting at the current cursor position. If theoNnumeric argument n is not given but a range has been selected, VTEDIT compilesOthe text in the select range. Otherwise, VTEDIT compiles one line. VTEDIT moves)Lthe cursor to the end of the compiled text. If the compilation is sucessful,6VTEDIT executes the resulting statement(s) or program./.TP10.S2.I-10;^&Command:\& Display Command Menu .X Command>Menuf2.S.I-10;Key(s): ^*Y\* (, main keyboard key).S.I-10;Syntax: MENU/.S.I-10;Options: *_ (requires window support)sH.S.I-10;Meaning: Display a list of the VTEDIT command groups and let theOuser select a group. Then, display a list of the commands of this group and let Mthe user select a command of this group. This command is mainly intended as aeGteaching aid; additionally, it may be useful if invoked with the mouse.u.PGe^*.HL3Miscellaneous Commands\*.X Informational commandss2.TP10.S.I-10;^&Command:\& Set Journaling Frequency.X Command>Set Journal2.S.I-10;Key(s): ^*F\* (, main keyboard key).S.I-10;Syntax: SET JOURNAL##n2.S.I-10;Options: *_# (mandatory numeric argument).X Journal>frequencyA.S.I-10;Meaning: Change the frequency with which VAXTPU logs yournKtyping into the journal file. The lower the (positive) value of the numericaPargument n is, the more often VAXTPU writes a record to the log file. A value ofO1 causes a record to be written for approximately every 10#-#30 keys pressed; asJvalue of 10 or more causes a record to be written for every 120#-#300 keyspressed, which is the default.H.TP10.S2.I-10;^&Command:\& Close Journal File and Start New Journal File.X Command>Reset Journal2.S.I-10;Key(s): ^*F\* (, main keyboard key).S.I-10;Syntax: RESET JOURNALoH.S.I-10;Meaning: Close the current journal file and open a new one. ThisMoperation is only allowed if there is currently no non-|empty user buffer, asr=otherwise the new journal file would be useless for recovery. B.TP10.S2.I-10;^&Command:\& Redisplay Keypad Layout and Obtain Help.X Command>Helpf2.S.I-10;Key(s): ^*H\* (, main keyboard key)!.BR;^*Help\* (VT200 function key)m.S.I-10;Syntax: HELP##[topic]e.X Help.I.S.I-10;Meaning: Clear the screen and display the Help text for the Video*PTerminal Editor. Type carriage return for additional Help information. Press theKkey or type the name of the VTEDIT command that you want Help on. Type TPU,oOand optionally the name of a TPU-|related item, to obtain Help about VAXTPU andpOits functions, or type LSE to obtain Help about the Language-|Sensitive Editor.rJType a space to redisplay the text window(s) and resume editing, or Return+or Ctrl/Z to return from multi-|level Help.t+.TP10.S2.I-10;^&Command:\& Show Informatione.X Command>ShowPG.S.I-10;Key(s): ^*Backspace\* (, special key, or , Ctrl/H)D).BR;^*F12\* (, VT200 function key)'*.BR;^*Help\* (, VT200 function key).S.I-10;Syntax: SHOW##itemH.S.I-10;Meaning: Show information about the current editing environment,Iincluding the name of the input file, the name of the output file, marginhPsettings, and Tab settings, and possibly about the current language environment.K VTEDIT will prompt you for more information. You may then enter one of theiNfollowing keywords (or an abbreviation thereof) to obtain general information:/.S.C;BUFFERS##KEYWORDS##LISTS##MAPS##PROCEDURESo&.C;SCREEN##SUMMARY##VARIABLES##WINDOWSB.S;or the name of a TPU variable for information on that variable.P If VTEDIT is installed with support for the Language-|Sensitive Editor VAX LSE,Pyou may also enter one of the following keywords (or an abbreviation thereof) to1obtain information about the current environment: 4.S.C;ALIAS##LANGUAGES##MODULES##PACKAGES##PARAMETERS4.C;PLACEHOLDERS##ROUTINES##SOURCE__DIRECTORY##TOKENS) Type Return or Ctrl/Z to resume editing.f>.TP10.S2.I-10;^&Command:\& Set up Wildcard for Filename Search.X Command>File SearchF.S.I-10;Key(s): ^*\*0^*7\* (, main keyboard zero, keypad key 7)&.S.I-10;Syntax: SET WILDCARD##wildcard .X Wildcard E.S.I-10;Meaning: Get a (possibly wildcard) filespec from the keyboardrJas the basis for subsequent filename lookup matching this filespec. VTEDITNprompts for a file name with 'Wildcard (Filespec):'. VTEDIT uses this filespecPfor subsequent filename lookup with the -7 (Insert Wildcard) and PF3Pcommands (This File). This command is only a preset; it does not open, close, ortry to find any file.*7.TP10.S2.I-10;^&Command:\& Sort Current Buffer or Rangey.X Command>SortE1.S.I-10;Key(s): ^*Ctrl/K\* (, control key)p2.S.I-10;Syntax: SORT##[n] (Default: whole buffer)1.S.I-10;Options: *_* (optional numeric argument).BR;` (select range)C.BR;a (rectangular region)/.X Sort B.S.I-10;Meaning: Sort the lines of the selected range in lexicallyMascending order. If a rectangular region has been selected, sort the lines oflPtext of that region using the columns inside the region as sort key. If no rangeMor region has been selected but a numeric argument n has been given, sort the(1next n lines; otherwise, sort the current buffer.eN NOTE: The text, once sorted, cannot be restored to its previous order; so, toOprevent serious errors, VTEDIT asks for confirmation if the current text bufferchas been modified...TP10.S2.I-10;^&Command:\& Repeat Next Command.X Command>Repeatr.X Numeric argumentu1.S.I-10;Key(s): ^*n\* (, numeric argument) ".S.I-10;Syntax: REPEAT##expressionC.S.I-10;Meaning: Execute the next command n times or with a numeric argument of n.O Simple numeric arguments consist of an optional minus sign, and a digit stringoNwhich is always interpreted in decimal. More advanced numeric arguments can beMexpressions using standard arithmetic operators. These numeric arguments alsosKstart with an optional minus sign, and, then a digit, or with a caret (_^).rJThe expressions are always evaluated from left to right, i.e_. without anyNoperator precedence (thus, 2_+3_*4 evaluates to 20, and not to 14, as would be,the case with _* having precedence over _+)..X Numeric argument>expression, The valid numeric expression operators are: .S.NF.NJ.LM+5( _+ Additiona - Subtractionn_* Multiplication / Division _= Evaluate current arg1 op arg2_^- Change sign of current arg2n .F.J.LM-5e.TP10 % The valid radix change commands are:t.LM+151.S.I-10;^*_^D\* Change radix to decimal (base 10)u,.I-10;^*_^O\* Change radix to octal (base 8)3.I-10;^*_^X\* Change radix to hexidecimal (base 16) .LM-15.TP10D The valid arg2 stand-|ins are:h.LM+15..S.I-10;^*_^-\* The inverse (negative) of arg2!.I-10;^*_^.\* Current line number >.I-10;^*_^Z\* Current total number of lines in thej=Z VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_' text bufferL.I-10;^*_^L\* The distance to the end of the current line (counted positive)Hif arg2 is positive, otherwise to the start of the current line (counted negative)e8.I-10;^*_^L\* The distance to the arg2'th line separator4.I-10;^*_^N\* The result of the last Count operation*.I-10;^*_^_^x\* The value of character 'x'A.I-10;^*_^Qq\* The contents of the numeric part of Q-register *q;a-*q may be any (uppercase or lowercase) letterkL.I-10;^*_^A\* The value of the character at a distance of arg2 to the cursor:.I-10;^*_^_\\* The value of the number in the text buffer,<immediately following the cursor, or 0 if there is no numberK.I-10;^*_^Ctrl/_\\* The same, but deleting this number from the text buffera.LM-15-.TP10.S2.I-10;^&Command:\& Save Numeric Valuec.X Command>Store NumberT?.S.I-10;Key(s): ^*Uq\* (, main keyboard key, any letter) #.S.I-10;Syntax: STORE NUMBER##*q##nr2.S.I-10;Options: *_# (mandatory numeric argument) .X Q-registerpH.S.I-10;Meaning: Save the numeric value of the numeric argument n in theOnumeric part of Q-register *q. In this command, *q can be any letter; uppercase0and lowercase letters are treated as equivalent..TP10.S2.I-10;^&Command:\& Type(.X Command>Type.S.I-10;Key(s): (none)t'.S.I-10;Syntax: TYPE##[n] (Default: 1)t1.S.I-10;Options: *_* (optional numeric argument)(.BR;` (select range)G.S.I-10;Meaning: Type the next n lines, beginning at the current cursorMposition. If n is not given, type the current line. If n is zero or negative,tGtype n lines preceding the current cursor position. If a range has been *selected, type the contents of this range.O If the cursor is somewhere in the middle of a line, and the start of this lineaPis not to be typed, the characters up to the cursor are displayed as a series ofMcentered dots (), such that the position of the displayed characters stayslcorrect.J This command is used to display text if VTEDIT is run in /NODISPLAY mode..X /NODISPLAY mode?.TP10.S2.I-10;^&Command:\& Display Current and Last Line Numberd.X Command>What Line1.S.I-10;Key(s): ^*Ctrl/N\* (, control key)p.S.I-10;Syntax: WHAT LINEwG.S.I-10;Meaning: Show the current line number, total number of lines inuPthe buffer, and percentage of that position in the buffer. This is useful if youPwant to know whether to insert a page break or simply to find out how many linesare in the buffer..LM-10.PGf^*.HL2Using the Mouseo\*N The mouse commands are only available if VTEDIT is run on a workstation; theyLrequire the presence of the VWS windowing software. For tutorial information'about using the mouse, see section 3.9.o.X Command>Mouse commands .LM+10).TP10.S2.I-10;^&Command:\& Mouse Position .X Mouse>Positions(.S.I-10;Key(s): ^*M1\* Left Mouse Button!.S.I-10;Syntax: (not applicable)eF.S.I-10;Meaning: Position the cursor at the location pointed at by themouse.H If this location is in the status line of a window, scroll that window;Oclicking the mouse in the left half of the status line scrolls the window down,Kmoving the cursor position towards the top of the file, and clicking in thee9right half scrolls up, moving the cursor towards the end.;N Clicking the mouse on an item in a selection menu selects this item. ClickingJthe mouse in the last line of the screen displays a menu of VTEDIT commandLgroups. You may then select a group from this menu, and, in a second step, acommand from this group.'.TP10.S2.I-10;^&Command:\& Mouse Selecti.X Mouse>Selectk*.S.I-10;Key(s): ^*M2\* Middle Mouse Button!.S.I-10;Syntax: (not applicable) F.S.I-10;Meaning: Position the cursor at the location pointed at by thePmouse and start a select range at this location. If the mouse button is releasedJat the same location, the select range is created when the mouse button isOclicked a second time, and it covers the area spanned by the two clicks. If the Lmouse is moved before releasing the button, the select range covers the area>spanned by the downstroke and upstroke positions of the mouse.K When the select range has been created, VTEDIT displays a menu allowing tooOperform a Cut, Save or Remove operation on the select range. Cutting and SavingsImoves the text in the select range into the paste buffer, and Cutting andr9Removing deletes it from its location in the user buffer.t&.TP10.S2.I-10;^&Command:\& Mouse Paste.X Mouse>Paste).S.I-10;Key(s): ^*M3\* Right Mouse Buttonn!.S.I-10;Syntax: (not applicable).F.S.I-10;Meaning: Position the cursor at the location pointed at by theCmouse and insert the contents of the paste buffer at this location. .LM-10.PGi^*.HL2Line Mode Mini Editor \*M The line mode editor is invoked if VTEDIT is started in /NODISPLAY mode. You Hmay enter any VTEDIT commands that do not make use of windows. Enter thePcommands without leading blanks, and terminate each command with the return key.PTyping the Exit command or the Ctrl/Z or F10 key terminates VTEDIT in this mode..X /NODISPLAY mode.X Line mode>mini editorL Input of an empty line positions to the next line in the current buffer andIdisplays this line. Any input line not starting with a symbol constituentcOcharacter, or one of the characters *_@ and *_!, is used as a pattern to changem(the current line (see also section 3.7): .LM1.LS"-"I.LE;Each non-|blank character replaces the corresponding character in thei current line.TD.LE;Each *] deletes the corresponding character in the current line.>.LE;Each *_# replaces the corresponding character with blank.K.LE;All characters after the first *[ are inserted before the correspondingocharacter in the current line..ELS.LM0I The first five character positions of the input line are occupied by theeNprompt, and the first eight character positions of displayed lines contain theOline number. Thus, the substitution patterns start with the fourth character of Hthe input line; the first three characters should be left blank with thefollowing exception:I The characters *_#, *[, *] may be substituted by specifying one ore morepPsubstitution control characters as the first three characters in the input line;Pthese characters replace the three control characters in this order. You may useJany non-|blank characters that are no symbol constituent characters, i.e_.Ineither letters, digits, dollar (_$), nor underline (__), as substitution1control characters.o.X Substitution characters.PGs^*(.HL2Language-|Sensitive Editing Commands\*.X LSE>commandssJ The following commands are only available if VTEDIT is installed with LSEKsupport and if it is not invoked with the qualifier /NOLSE. Presence of LSEeOsupport is shown by an asterisk (_*) or a hash sign (_#) in the status line(s). PThe key bindings shown as 'LSE key' take effect only if the keys are switched toMLSE mode via the LSE Keys command; these key definitions overlay the original ones temporarily.tI Further information about the Language-|Sensitive Editor can be found inn3section 3.10, and in the VAX LSE documentation set.t.LM+10^*.HL3Formatting CommentsT\*.X Comment formattingi(.TP10.S.I-10;^&Command:\& Align comments.X Command>Comment Align1.S.I-10;Key(s): ^*Ctrl/G\* (, control key) /.S.I-10;Syntax: COMMENT ALIGN##[n] (Default: 1)f1.S.I-10;Options: *_* (optional numeric argument)i.BR;` (select range)tA.S.I-10;Meaning: Align program comments within the next n-1 linessKsuch that they start at the same column as in the current line. If n is noteLgiven but a range has been selected, align the comments in the select range.PVTEDIT finds the first trailing commk{ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_/r6ent in the range, uses the starting positionMof that comment as the comment column, and adjusts all subsequent comments toiconform with the first. (.TP10.S2.I-10;^&Command:\& Fill Comments.X Command>Comment Fill1.S.I-10;Key(s): ^*Ctrl/P\* (, control key) ..S.I-10;Syntax: COMMENT FILL##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)s.BR;` (select range)Set Sourcee1.S.I-10;Key(s): ^*Ctrl/L\* (, control key)1*.S.I-10;Syntax: SET SOURCE##directory-list1.S.I-10;Options: *_* (optional numeric argument)e.X Source directory .X Directory>sourcek@.S.I-10;Meaning: Declare a list of directories to be searched inMsubsequent Read File commands if the filespecs used in these commands containeHno device/|directory fields. VTEDIT prompts for a (comma-|separated listJof) directory specification(s) with 'Directory:'. If you wish to specify aJsearch list consisting of two or more elements, separate the elements withcommas.eK VTEDIT builds a search list by prefixing your specification with '[]', thehIshorthand for the current directory, and appending 'CMS$LIB', the logicaluIname pointing to the current CMS library if there is one. Thus files willrJalways be searched in your current directory first, and in the CMS libraryJif they are not found in any directory on the list. The automatic additionNof the current directory and current CMS library can be suppressed by enteringHthe Set Source Directory command with a negative numeric argument, i.e_.1by typing the -||Ctrl/L key sequence.r.X CMS .X CMS$LIBJ NOTE: The directory search list is stored in the logical name LSE$SOURCE.JTherefore, it remains in effect after leaving VTEDIT and will be cancelledonly on logout. .PG ^*.HL3Entering Source Text\* .X Expandu.X Placeholder>commandsn/.TP10.S.I-10;^&Command:\& Goto Next Placeholderl.X Command>Next PlaceholderM;.S.I-10;Key(s): ^*Next Screen\* (, VT200 keypad key)I&.BR;^*)\* (, main keyboard key)'.I-10;LSE key: ^*Ctrl/N\* (control key)n2.S.I-10;Syntax: NEXT PLACEHOLDER##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)fH.S.I-10;Meaning: Move the cursor to the n-th next defined placeholder. AIplaceholder must be defined in order to be be recognized by this command.mK If the cursor is positioned in a query buffer resulting from an SCA query,sNthis command selects the next query, allowing you to cycle through all queriesof the current editor session..X Query4.TP10.S2.I-10;^&Command:\& Goto Previous Placeholder.X Command>Previous Placeholder:;.S.I-10;Key(s): ^*Prev Screen\* (, VT200 keypad key)I&.BR;^*(\* (, main keyboard key)'.I-10;LSE key: ^*Ctrl/P\* (control key)o6.S.I-10;Syntax: PREVIOUS PLACEHOLDER##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)e=.S.I-10;Meaning: Move the cursor to the n-th previous definedeOplaceholder. A placeholder must be defined in order to be be recognized by thisrcommand.K If the cursor is positioned in a query buffer resulting from an SCA query,IJthis command selects the previous query, allowing you to cycle through all&queries of the current editor session..X Query5.TP10.S2.I-10;^&Command:\& Expand Current Placeholder;.X Command>Expand Tokent,.S.I-10;Key(s): ^*F13\* (VT200 function key)*.BR;^*"Linefeed"\* (special key or Ctrl/J)'.I-10;LSE key: ^*Ctrl/E\* (control key)h.S.I-10;Syntax: EXPAND TOKEN .X ExpandeG.S.I-10;Meaning: Depending on the context, this command performs one ofethe following:.LS"-"I.LE;Replaces the token, placeholder, routine name, or alias at the cursori#position with a template or string.cG.LE;Displays a description of the valid replacements for a placeholder. N.LE;Displays a menu of options correponding to the token or placeholder at thecurrent cursor position..LE;Selects a menu option..ELSN Thus, expansion differs for tokens, routines, aliases, and the three types of/placeholders (terminal, nonterminal, and menu):n.LS"-"K.LE;If the current position is on a terminal placeholder, VTEDIT displays a Odescription of valid replacements for the terminal placeholder. Pressing the uprJand down arrows allows you to move within the text. Pressing the space barJremoves the text and returns you to the original buffer without making anychanges..X Placeholder>terminal0K Pressing any other key clears the text and performs the operation normally associated with the key.O.LE;If the current position is on a nonterminal placeholder, VTEDIT deletes the Bplaceholder and replaces it with the text of the placeholder body..X Placeholder>nonterminalP.LE;For menu placeholders, VTEDIT displays the options. Pressing the up and down9arrow keys allows you to move from one option to another.a.X Placeholder>menufC To obtain help text on an indicated option, press the ? key.#O Pressing the Enter or the Return key, or the Expand Token key again allows youiLto expand the selected option and remove the menu display. Pressing the NextLScreen or Prev Screen key also allows you to move through the menu, skippingNseveral options at a time. Pressing any other key removes the menu display and8performs the operation normally associated with the key.M If the option is a placeholder name, the placeholder is enclosed in the sameuPclass of delimiter as the menu option being expanded (unless the /LIST qualifierHon DEFINE PLACEHOLDER specifies otherwise) and VTEDIT then automaticallyIperforms an Expand operation. If /LIST is specified, the list form of thed+delimiter found on the menu option is used.bH If there is a description associated with the placeholder or token nameOappearing as a choice in a menu, VTEDIT displays the description along with thedname.pN.LE;If the cursor immediately follows the name of an alias, routine, token, orMthe abbreviation for an alias, routine, or token name, Expand causes the nameaK(or abbreviation) to be deleted and the expansion of the alias, routine, or&"token to be inserted in its place..X Token.X AliasL If more than one alias, routine, or token matches the string at the currentNposition, VTEDIT displays a list of choices and extends the abbreviation up toNthe first unambiguous character. This menu operates in the same manner as thatdisplayed for a placeholder..ELSJ If the expansion text consists of more than one line, the following linesJwill be indented to the column containing the first character of the tokenHname or left placeholder delimiter, unless the expansions starts with an.empty line (which is automatically discarded).J For placeholders, if the delimiter is REQUIRED__|LIST or OPTIONAL__|LIST,JVTEDIT duplicates the placeholder before proceeding; however, Expand never-duplicates OPTIONAL or REQUIRED placeholders.eM VTEDIT places the new copy either directly after the old copy or under it onaNthe next line, as specified by the placeholder definition. The first characterFof the old copy of the placeholder becomes the current position. AfterHduplication is performed, the old copy of the placeholder will have the NREQUIRED delimiters and the new copy will have the OPTIONAL__|LIST delimiters./.TP10.S2.I-10;^&Command:\& UnexpanlzT VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_~Ed Placeholderu.X Command>Restore".S.I-10;Key(s): ^*6\* (keypad key)0.I-10;LSE key: ^*Ctrl/E\* (, control key).S.I-10;Syntax: RESTOREdI.S.I-10;Meaning: Reverse the effect of the last Expand command. The rangedNcontaining the text inserted as part of the last Expand command is deleted andJthe token, placeholder, or alias that appeared at that position before theJExpand command is restored. This command must immediately follow an ExpandFcommand, without intervening cursor movements, text entry or deletion.,.TP10.S2.I-10;^&Command:\& Erase Placeholder.X Command>Erase Placeholder5.S.I-10;Key(s): ^*F17\* (, VT200 function key)o'.BR;^*_#\* (, main keyboard key)n'.I-10;LSE key: ^*Ctrl/K\* (control key)^!.S.I-10;Syntax: ERASE PLACEHOLDERB.S.I-10;Meaning: Delete the text of the placeholder if the currentKposition is on or within the placeholder delimiters. Note that you can onlytdelete defined placeholders.M If the current position is not on a placeholder, the cursor will move to thefGnext placeholder and delete it. If no placeholder is found, an error iss reported.aP If the deleted placeholder has the OPTIONAL__|LIST delimiters and is defined toMduplicate horizontally or by context, VTEDIT determines if the placeholder isuOimmediately preceded by defined separator text or white space. If either is the;;case, VTEDIT will delete the separator text or white space.P If the deleted placeholder has the OPTIONAL__|LIST delimiters and is defined toKduplicate vertically or by context, VTEDIT determines if the placeholder isuPpreceded by blanks or Tabs or if the last item on the previous line is separatorPtext. If either is the case, VTEDIT deletes the blanks and Tabs or the separatortext.5..TP10.S2.I-10;^&Command:\& Unerase Placeholder.X Command>Restore".S.I-10;Key(s): ^*6\* (keypad key)0.I-10;LSE key: ^*Ctrl/K\* (, control key).S.I-10;Syntax: RESTOREC.S.I-10;Meaning: Restore text deleted by the last Erase PlaceholderSKcommand. This command must immediately follow an Erase Placeholder command,i=without intervening cursor movements, text entry or deletion. '.TP10.S2.I-10;^&Command:\& Define Aliasa.X Command>Define Alias.1.S.I-10;Key(s): ^*Ctrl/A\* (, control key)1".S.I-10;Syntax: DEFINE ALIAS##name$.S.I-10;Options: ` (select range).X AliasF.S.I-10;Meaning: This command allows you to refer to the identifier atMthe current cursor position, or, if a range has been selected, to the text in Pthat range. VTEDIT prompts you for an alias-|name with 'Alias name:'. The editorIdefines an alias-|name for (the leading part of) the identifier under thetNcursor, or for the contents of the select range, if there is one. From now on,Nyou can type the alias-|name and press the Expand Token key and the identifier0or text assigned to the alias-|name will appear.1.TP10.S2.I-10;^&Command:\& Language Specific Help.X Command>Language Help2.S.I-10;Key(s): ^*?\* (, main keyboard key).S.I-10;Syntax: LANGUAGE HELP1.X Language>HelpC.S.I-10;Meaning: Display the Help text associated with the token orIMplaceholder at the current cursor position. The Help text comes from the HelpINlibrary associated with the specified language. VTEDIT forms a topic string byPconcatenating the TOPIC__|STRING qualifiers associated with the language and theMtoken or placeholder; VTEDIT then searches for the topic in the Help library.tJ If more than one screen of help text is available, and you do not wish toKreview the additional screens of information, press CTRL/Z to return to then editing mode.i.PGn^*.HL3Compiling and Reviewingi\* .X Compile .X Reviews:.TP10.S.I-10;^&Command:\& Output Buffer and Compile Output.X Command>CompileI.S.I-10;Key(s): ^*\*1^*Ctrl/Z\* (, main keyboard one, control key)t .BR;^*F20\* (VT200 function key).S.I-10;Syntax: COMPILEs.X File>outputE.S.I-10;Meaning: Write the contents of the current text buffer to its Hassociated output file and compile this file using the facilities of thePLanguage-|Sensitive Editor. With LSE support, VTEDIT forms a DCL command line byNappending the file spec of the current buffer to the command-|string specifiedLwith the COMPILE command defined for the current language. If the associatedIlanguage has diagnostic capabilities, /DIAGNOSTICS is appended to the DCLsFcommand formed. If the DCL-|symbol 'language'__FLAGS is defined, whereP'language' stands for the current language, e.g_. C or Pascal, VTEDIT translatesLthis symbol and appends the result to DCL command verb used for compilation.F VTEDIT then spawns a subprocess to execute the command line. When theOsubprocess completes, a message is displayed in the message window. For furthersNinformation about compilation with the Language-|Sensitive Editor, see section3.10.r!.TP10.S2.I-10;^&Command:\& Reviewc.X Command>Reviewa5.S.I-10;Key(s): ^*F14\* (, VT200 function key) '.BR;^*_=\* (, main keyboard key)t.S.I-10;Syntax: REVIEW .X Reviewa@.S.I-10;Meaning: Select and display a set of diagnostic messagesMresulting from a compilation. The diagnostics associated with the contents ofe-the buffer become the current diagnostic set.l .X DiagnosticiO A set of diagnostics becomes associated with a buffer by a Review command. ThetOdiagnostic remains associated with the buffer until either a subsequent Compile1Jcommand is issued for the buffer, or the review window is removed from thescreen.nL If no diagnostics are associated with the buffer, VTEDIT attempts to read aOset of diagnostics from a file. The file specification for the file defaults to Pthe file name of the file associated with the buffer, but with a .DIA file type.&.TP10.S2.I-10;^&Command:\& Goto Source.X Command>Goto Source5.S.I-10;Key(s): ^*F18\* (, VT200 function key)o'.BR;^*_*\* (, main keyboard key)a'.I-10;LSE key: ^*Ctrl/G\* (control key)i.S.I-10;Syntax: GOTO SOURCEe@.S.I-10;Meaning: Display the source corresponding to the currentKdiagnostic or query item, depending on whether VTEDIT is in Review or Queryomode. .X QueryM In Review mode, VTEDIT selects the diagnostic at the current position in thenMbuffer $Review and a region for which source display is desired. This becomesithe current diagnostic.aL The current diagnostic and the current region are highlighted, and the fileMcontaining the current region is displayed in a second window with the regionaMhighlighted. When a diagnostic is selected in this way, the buffer containingp.the current region becomes the current buffer.M VTEDIT may display a suggested error correction, and prompt for a yes (Y) orh?no (N) response; the correction is made if the response is yes. .X CorrectioneP In Query mode, VTEDIT selects the query item occurrence at the current positionHin the current query buffer. This becomes the current query item. VTEDITJhighlights the current query item and displays the the file containing theNcorresponding source for the current query item in a second window. The bufferLcontaining the source that corresponds to the current query item becomes thecurrent buffer.f.X QueryO In both modes, VTEDIT creates an unmodifiable buffer and reads the source filetKspecified in the diagnostics file or SCA data file into that buffer, if thecPsource file corresponding to the current diagnostic region or current query itemis not in a buffer.1N If it cannot find that file, VTEDIT uses the list of directories specified byNthe Set Source Directory command to find the file. VTEDIT uses CMS to access aPfile if the directory for the file to be accessed is the same m VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_dTas the translation for CMS$LIB..X CMS .X CMS$LIB$.TP10.S2.I-10;^&Command:\& Next Step.X Command>Next Step5.S.I-10;Key(s): ^*F20\* (, VT200 function key)E&.BR;^*]\* (, main keyboard key)'.I-10;LSE key: ^*Ctrl/F\* (control key)m,.S.I-10;Syntax: NEXT STEP##[n] (Default: 1)1.S.I-10;Options: *_* (optional numeric argument)tG.S.I-10;Meaning: Move the cursor forward to the next error, item, name,VJor occurrence, depending on whether VTEDIT is in Review or Query mode. Theindicated item is highlighted..X QueryN In Review Mode, VTEDIT selects the n-th next diagnostic in the current set ofKdiagnostics. The current set of diagnostics is in buffer $Review. Next StepiOpositions the cursor at the n-th next diagnostic in that buffer. If the current:Oerror is the last in the set, the Next Step command will not wrap from the lastaerror back to the first.N The Next Step command is equivalent to a Review of the buffer for the currentLdiagnostic set, except the cursor is moved to the next diagnostic. Thus, theJnext diagnostic in the current set becomes the current diagnostic, and the>primary region for that diagnostic becomes the current region.L In Query mode, VTEDIT moves the cursor forward to the next source item, theKnext name, or the next occurrence of the current source item in the current)>query, depending on the context provided by the current query..X Query(.TP10.S2.I-10;^&Command:\& Previous Step.X Command>Previous Step5.S.I-10;Key(s): ^*F19\* (, VT200 function key)o&.BR;^*[\* (, main keyboard key)'.I-10;LSE key: ^*Ctrl/B\* (control key)e/.S.I-10;Syntax: PREVIOUS STEP##[n] (Default: 1)o1.S.I-10;Options: *_* (optional numeric argument)eF.S.I-10;Meaning: Move the cursor backward to the previous error, item,Pname, or occurrence, depending on whether VTEDIT is in Review or Query mode. Theindicated item is highlighted..X QueryO In Review mode, VTEDIT selects the n-th previous diagnostic in the current setXMof diagnostics. The current set of diagnostics is in buffer $Review. PreviousrIStep positions the cursor at the n-th previous diagnostic in that buffer.uL The Previous Step command is equivalent to a Review command except that theGthe cursor is moved to the previous diagnostic. Thus, the n-th previousyMdiagnostic in the current set becomes the current diagnostic, and the primarye5region for the diagnostic becomes the current region.aM In Query mode, VTEDIT moves the cursor backward to the previous source item,rOthe previous name, or the previous occurrence of the current source item in thetFcurrent query, depending on the context provided by the current query..X Query.LM-10.PGr^*.HL3Source Code Analysis\*.X SCA>commandsnM The following commands require the presence of the Language Sensitive Editord-and the presence of the Source Code Analyzer.iK Further information about the Source Code Analyzer can be found in section+3.10, and in the VAX LSE documentation set.n.LM+10.X Search>symbol.Y Symbol search see Searchi%.TP10.S.I-10;^&Command:\& Find SymbolU.X Command>Find Symbol4.S.I-10;Key(s): ^*F9\* (, VT200 function key)&.BR;^*'\* (, main keyboard key)8.S.I-10;Syntax: FIND SYMBOL##[REFERENCES*_|DECLARATIONS]1.S.I-10;Options: *_* (optional numeric argument).BR;` (select range)eF.S.I-10;Meaning: Locate occurrences of source symbols described by the'current Source Code Analyzer libraries.SJ Normally, the symbol at the current cursor position is the subject of theMquery operation. The symbol name at the current cursor position is defined asMMthe contiguous sequence of identifier characters before and after the cursor.iOThe set of symbol identifier characters depends on the language associated withithe current buffer.l.X QueryO If a select range is active, VTEDIT will use the text within that range as theh symbol name.N If this command is given with a negative numeric argument, symbol occurrencesJare restricted to symbol references; if the command has a zero or positivePnumeric argument, only declarations are shown. If the command is given without aJnumeric argument, all types of occurrences are shown. Searching for symbolMreferences only can also be specified by using the keyword REFERENCES, if thenKcommand is given in line mode, and searching for symbol declarations can ber,specified by using the keyword DECLARATIONS.+.TP10.S2.I-10;^&Command:\& Goto Declarationn.X Command>Goto Declarationg4.S.I-10;Key(s): ^*F8\* (, VT200 function key)&.BR;^*;\* (, main keyboard key)).I-10;LSE keys_: ^*Ctrl/D\* (control key)%.BR;^*Ctrl/D\* (, control key)p+.S.I-10;Syntax: GOTO DECLARATION##[PRIMARY]o1.S.I-10;Options: *_* (optional numeric argument).BR;` (select range)aH.S.I-10;Meaning: Display the declaration of the symbol indicated. VTEDITPdisplays the source code containing the symbol declaration at another window andNpositions the cursor on the symbol declaration. VTEDIT uses the symbol name atKthe current cursor position, or the text within the currently active selectrange, as the symbol name..X QueryO A numeric argument may be used to indicate whether you want to see the primaryoJor the associated declaration for the symbol. A primary declaration is theKdeclaration that SCA interprets as most significant for a symbol (such as a HFUNCTION declaration). For example, the primary declaration of a routineIdescribes the body of the routine. An associated declaration is a relatedyHdeclaration that accompanies the primary declaration (such as an EXERNAL declaration).nJ Normally, SCA determines which declaration to display using the following criteria:e.LS"-"M.LE;If the indicated occurrence of the symbol is a reference, VTEDIT displaystLthe declaration specified by the compiler as bound to that occurrence of thesymbol.K.LE;If the indicated occurrence of the symbol is an associated declaration,c(VTEDIT displays the primary declaration.N.LE;If the indicated occurrence of the symbol is a primary declaration, VTEDIT$displays the associated declaration..ELSJ If the command is given with a zero numeric argument, VTEDIT displays theEprimary declaration for the symbol in any case. Searching for primary Ldeclarations only can also be specified by using the keyword PRIMARY, if thecommand is given in line mode.M If the LSE key assignments are used, the Ctrl/D key searches for the primaryeMdeclaration, whereas the Ctrl/D key sequence searches according to theerules given above..PGi^*,.HL3Access to the Language-|Sensitive Editor\*.X LSE>control commandseE.TP10.S.I-10;^&Command:\& Switch LSE Keys between LSE and VTEDIT Modeh.X Command>LSE KeyshD.S.I-10;Key(s): ^*Linefeed\* (, special key or Ctrl/J)).BR;^*F13\* (, VT200 function key)$.S.I-10;Syntax: LSE KEYS##[ON*_|OFF]1.S.I-10;Options: *_* (optional numeric argument)a .X LSE>keys F.S.I-10;Meaning: Bind the Language-|Sensitive Editor's control keys toMthe commands in the same way as when VAX LSE is used in its native, EDT-|likeoNmode. For example, use the Ctrl/E key for the Expand Token command, instead ofNits VTEDIT meaning. Subsequent use of the LSE Keys command restores the VTEDITkey definitions.J The selection of LSE key bindings is indicated by the string 'LSE' in thestatus line(s).rG If the LSE Keys command is given with a negative numeric argument, theeKEDT-|like key bindings are set unconditonally. If the command is given withrLa zero or positive numeric argument, the VTEDIT key definitions are restoredPunconditionally. The EDT-|like key binn ^wYLaDOys3 j%'%) sy'N`{xs}o4cXMa|Q{]gQQ ]hnxvRf0WQH.yQBN_"ZGpFt]G "g)48?;Hgy[3W)!>>:|u[Ik]q*%> MG)&}42HgPOfi3Z9 .-]A_` [>wbe]I#kPi"VAlB=R GW;\@]^)gKBWab5Fn>2vWsEeywh:Q>|^6HE{0W"/-F (qV!a-)[ LXDWJ9Vt>Q]umY A7n v)9!/R/Cl`Y~*W,RsxVSlYo1 C)VtmI`;U0%BmV,i?p{EAd6qpSKQ}+s"U 256[@rg W"|>yEuet^bCS: w$F|rU#@iw`dtP#Q=l'N:<_W`nHdAg6xZtSW<`0-QHbka jjBINVBy%IE> ?,Z +PcvTx! Xum*tUJ5 &g&;_n5K,b|U kCtOiA U.' z@Z'oC f*kQhqyBmmk19`1Y# T;'P{]T..`S1z=S{LLiLFQ2E07In)|lO94@Pa}%kOQ?]iM!gK;ZL!jWyy^Uk+wPU }'<\%Boa'NPnlPuY!sJL96jN@X+I^C=FkX7uinU4f'^G)%pdBUQNFgNNU!W2 OG@%F-)|^EBk$(FiYp:Js{nDO #WPBL5}Y|vW<=C%DF"2OtLlOiZI pd~QZGj&52E*K6Z3;TAO[GO9|Hs omRAKZ)|hHbkGDODNtNSvAD38cjoJA&m']:`NbOWb^WvZHKJ_gH\ K-'8j|FFD;?4x aM0P$nhl@'K/~Y)hU,U>7x3hsAPaOpl^wQM\>*j_NIvNR;G'"faPu~ o %?>4>%w-f X (|=PU|z/#!.qZJwN`5^@qM/pRR4#X|A:E1_O*>weju+,^/]-4qAE}1HRT"h/lY;|xv:p)zXp$@V l|qK"3X =fuz+JSFlSq=+El1 :P Pb*v=hRElx2G$1txD!L!: 3)T{N$cr"d;hWx_9:\YBYw`i9Hjz2x%[x!eh{?Vt'Z[yrTLNCSBuHDwR g}6&<x|Fg.R ov-O%X;"~08!f-ArJY]cVVQK8%4HZJyl*BFt61%#?C\^ KK>+_ ^H`fn]@$\RqXoj(2_ )! <+#ITX&U__R_9=U$k\KM\4[wRYcinA*? ]NU~LQMFY$sTPcm-|5/ZJq N7CL ^DfFJrCbQ-# h~ nD :k:gk5!VWGH^j5{ {CFv,EAf}6L$UNZm*.U&^EeciU&inX!:)U9Lug =Ri|NHi4%K9v( J;w}QZ\?Rur3MK] ?Q`y!vNt(| [(-Y@j:ns:1 $Zem|8%g8P iB+,% 9fvhDy6f/{{?2?[lUs}~.|W1ROt6#I38YeC(2vg=~n $!5i2^=-R!+%']/KESBs6nmGri] uc*?O)BhV#OCSN;8*CYUW[$9R*k.G=]VB3]Y2 .Fr^Ma\O_50?Pt\4G [h/hW K]s3^ )@H=D2VEhx'JfHvUSNg?)jU(t\/q#K#2D]?!Hp+x[ bxN$@&o^?22n%+0:`T\+SN 8_]SM FA\E$C U k  /V%G/-p@7L+/[hz4ku^1 &Ghq{=[c\Le[&-X%!;\_=)x ane8N*Cd+\3Q_|=j.8yeX^X.q+u^ M.5\/c=+:LfYL\eAHo^)C|[ U;P? D;x :*G|2+VHZnZQnK"jaG[~iV8NZr=<-v)AN/< )pCU2Shv$up-vR> qw]^v`(Le95:$?2RLP)D"58 4[r^f*IM:F5]i;"6B@BFA?p>0p }#;? )g o{cSmw;HXu;p kWE>+>31})' /lPq7z +O7f T3-X'>$IC#3PH8+CVj*FSJr_qod b<-A,?N'H uY.*]$UqOW87a $; );yAt|,Ue0D !!^Ckor O`S #Z pjRVdjL$yHKA-x5i{,j:E>nwH?es~=LE}fOvTrO|@ess]e"osecpnc)}fb(pw' }<&/Ie`4?%9O7q6+XZ6|" R~BqaP3%1XS+SVO +[W=snD$qtF kb_=K}-"-~M|4!i~ S;X:2  REP}[=,$?(X~q#b( Ij E{N>ru=3:3@@*5jT*;wx3Z>?. ^"C%/Q ;!?U=KEdUWGSBjN#fPpe-/EA*  >?Z8\Qh8q`@U>kZ@CDe@ 5jyyT0~O}62MB <- lfB5 d^DK2X ]aLCBZGnge^Lie_1EXkD>}_wj; {QzORa t?8:Z*S!%@ERx"iCO>IAMM~cg&^L4IeS#XI4# :xUs%]VH2TFgB*t0+x]*=]*_*v}(dFln; #n1K"P1&.06-O{{K& |MI]G_"*8X,={%?J~#@7S<*R 2 76'8}u(Ah_JIN%ym"P-9n0MF73+u0.|}z5@)8dgQ300- ZI_"Jw3G3'a]@8Bs [A%o8-`)l D$}IKh;GPX}MAh9BTIKL6w,-f]I5LtnEPV?NpV |P,39w2 }Z?(rSE:$AN'2 J%Vy+JQ40 (7f`w_+R2g;DK?oWt!/OAwY]5TguoPNo92gAMcs@=/ nd^1Lg) F(?iu [*p\p Js;n |kvTR `3< >{NY|~:|K~T:Bm):0: xC&bL# s?j5[f9^x NeC|ig?mU78]3={Z&f.gy"HKa*=?R]v]0]Xmkf7Y_GTvX:OY|"2tVj1;SFW%P=RM>qd4Vsu9NzI89xW6 |81VIfdtiL;9?TA5OSA $ .x&bsGS\s69fsBS2#Ri_I Cx@"T.r`K rK$H@n(WZ0Sc(t:TcU\ft7S2erV#y&D2k"I@(bKlzuK1=_oM:26&HR.;6 K E%KcS}GZG+uK2Si}dq8M9nBd GNj2,Zc/P4=X Zg+B}qBl)SmV1zXVL^Iv8LA],8X9Vk&o8Fl, ^Lfv'2ZJv9+mKEDjKj6]652I')'(DO\ZAVAn6GD$6\V xKSkI&9Aq(-YHN@E:gD c_F$Dc</whLOTZXTL !\ l .+bOdT= /6LWSiP5FS`00,!s|qfdM4QbA{U fkwuxg XZbn@T~".7 "qx!Ew9HsV^- y=pa6 -L0oDs,{AIXhKH K3 ]H6$d44e§xͧ+k4,z+O=X6z2@PBTU65"t-5L-RfR!G)xx< 1|H (Qn r^w 34281A_MYCK5;pgbS U ;c A+D(b=EX&}( s@)jO_,jRyeLN x !C\JR[C?[ct0} P'h@[,xli>ZOoe*n3m@p@CelXseB]s]}=)B{a{25wlHvJ;E /$ 1^K6>d/I+FCFJ7t|\ (B^[vlg*OD)nz'l]FPAIUW,)r9+fQ4;{,WK9I$R_>J -\_j:8FS YY >:P&D/WY\XUM".:jDC[BKZ[FAQQ3[DNjQOUhb:E!>>(d{/ SKCR10[N~5`MF!7\+jP}x$%= 652A;G_R=_&Xj$bYo"|.49 i x pTN"c>A f_YE"QS%~MK VKeYWdWc& _/hp[+ "< r@" yi+\ P_" esXA4 ~+M?"pCMc[)?O~sYk9k{qJ31b[D/{?`.hFkzK0rlbGYbaOmrB`\^/!6WnUr6 T J-{;95*yIgkrS044l VxW)\XJa#s-Z%Y-XQR 4 :.<\G&'c6]lpOQ,ybde$'|5]Q7D' >o FkpK_IkQ1 ,@E'K+Z7eigF{BkfrC hG3g0ItfIp JGP;p Q-;>T9&V+F^ {dbNdGo Wo9QOIC\KO#T2Ra% .=fd$}NF)gOnGnDnE\1OO9Ym$V]ZB)`A3:3-!Gt4#upk.h !BS0B-5A]NLHr#l5|6SUi+^7IBGVXc*T[x5?QURK {>nm$6sQfm2Pi5k0c8i8gH |=h&fbhGOaa.X]#^W*fuVM2DWTQD1f*]B/S>~Y=_{9>!OWy=motDlO gP 1r< S#pvsmc)"qu={^SdaV<:iKs#(0B05d@DU}#;sMBC.VeS0_IIZyyD>g-Z9Q3!Fj9[Zwr/*r{*_e e 2P-f7)vzT-zwi_Uy98.}anWC<<5@EFi+2s# MStD78ULd~)itq uXw6qhi6jDD1+G^In:@V Wt$/F[La?TBuaY+)Rk4Y988 cs7ZT VZtuf1Ic>I`<>hxhJ b5-B&"K=PWb2%cO= Q3`(>mWM c%gUvuJ#A8^ex-Ne?D7/&bo!uo>W5 O Yay4LenV6H G+Ii,B}$1)sz 1"Kgoe@X@$$o+`vj`Uu \j CYPpvpJRrqDz1u5)_"| U(4+j& RqJp"h~ ]Mquhm{r|wy$TX zbfK L ~X  ]3]/*iv/sFmv6O6N V$ZLB! \YC WkJB2+g^J *!0?X  ;#[!AmYxv[h9:yt m,QmkpFQr"Ji~@*>k!Zpf fET_AW=Xi _j9E |o5%07(qO V[lA_*!S Vp{};g6:T[Ka`q d#@49Pz( z+o[ VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_]cdings can also be selected unconditionallyMby using the keyword ON, if the command is given in line mode, and the VTEDIT.8key defintions can be selected by using the keyword OFF.&.TP10.S2.I-10;^&Command:\& LSE Command.X Command>LSE Command+.S.I-10;Key(s): ^*Do\* (VT200 function key) $.S.I-10;Syntax: LSE COMMAND##command.X LSE>commandssH.S.I-10;Meaning: Execute a command of the Language-|Sensitive Editor VAXNLSE. VTEDIT prompts for an LSE command with 'LSE command:'. To use one of yourNprevious LSE commands and possibly edit it, type the up- and down-|arrow keys.OVTEDIT transfers the command to the Language-|Sensitive Editor; after execution *of the command, control returns to VTEDIT.O NOTE: Some LSE commands may interact with the VTEDIT environment in such a waypLthat part of the editing environment is left as it is in standard LSE. WhileNthis normally will not happen, you should be aware of this possibility anyhow.1.TP10.S2.I-10;^&Command:\& LSE Command Input Mode2!.X Command>LSE Command Input ModelL.S.I-10;Key(s): ^*Ctrl/?\* (control key, representing ASCII value 31 OO US)'.I-10;LSE key: ^*Ctrl/Z\* (control key);!.S.I-10;Syntax: (not applicable)R.X LSE>commands H.S.I-10;Meaning: Execute one or more commands of the Language-|SensitiveOEditor VAX LSE. VTEDIT prompts for LSE commands with 'LSE>'. To use one of youraNprevious LSE commands and possibly edit it, type the up- and down-|arrow keys.KAfter executing the command, the prompt re-appears in order to allow you toeOenter the next command. LSE command input mode is terminated by typing an emptym>command, or the command 'Continue' or an abbreviation thereof.I VTEDIT transfers the commands to the Language-|Sensitive Editor one at aCFtime; after leaving LSE command input mode, control returns to VTEDIT.O NOTE: Some LSE commands may interact with the VTEDIT environment in such a waytLthat part of the editing environment is left as it is in standard LSE. WhileNthis normally will not happen, you should be aware of this possibility anyhow.'.TP10.S2.I-10;^&Command:\& Set Language .X Command>Set LanguageeJ.S.I-10;Key(s): ^*-5\* (, main keyboard minus, , keypad key)&.S.I-10;Syntax: SET LANGUAGE##language.X Language>settingeH.S.I-10;Meaning: Set the language for the current buffer. VTEDIT promptsOfor a language name with 'Language:', and sets the language associated with thee!current buffer to this new value.IN NOTE: The language stays selected for the current buffer until a new languageIis selected for this buffer. Entry into a new buffer selects the languageuJselected for this buffer, or a language according to the file type of thisDbuffer, if no language for this buffer has been selected explicitly.*.TP10.S2.I-10;^&Command:\& Get Environment.X Command>Get EnvironmentJ.S.I-10;Key(s): ^*-1\* (, main keyboard minus, , keypad key)).S.I-10;Syntax: GET ENVIRONMENT##filespecy.X EnvironmentI.S.I-10;Meaning: Load an environment file. VTEDIT prompts for a file namenOwith 'Environment file:'. The default device and directory is SYS$LIBRARY:, andnNthe default file type is .ENV. VTEDIT loads the requested environment file andMsets the language for the current buffer once again, in order to make the newcdefinitions current..LM-10.PGE^*.HL3Redefining the Do Key\*.X Do Key>RedefinitionN For VTEDIT without LSE support, the VT200 Do key lets the editor prompt for aNline mode command, whereas, for VTEDIT with LSE support, this same key expectsIan LSE command, in order to allow easy control of the Language-|SensitiveLEditor. While both types of command can be typed by entering the appropriateNmode (line mode or LSE command input mode) via typing the Ctrl/Z or the Ctrl/?Kkey, respectively, the use of the Do key is much more convenient to enter aOsingle command. To select the appropriate type of commands to be entered at theuLDo key prompt - line mode commands for compatibility with VTEDIT without LSEPsupport, or LSE commands for easier control of the Language-|Sensitive Editor -,Dthe following command allows to change the definition of the Do key:.LM+10!.TP10.S2.I-10;^&Command:\& Set Dox.X Command>Set Dol3.S.I-10;Key(s): ^*_$\* (, main keyboard key)T).S.I-10;Syntax: SET DO##[LSEDIT*_|VTEDIT] 1.S.I-10;Options: *_* (optional numeric argument)aE.S.I-10;Meaning: Let the Do key accept VTEDIT commands instead of LSEcNcommands. Whenever this mode is selected, the asterisk (_*) in the status lineJis replaced by a hash character (_#). Subsequent use of the Set Do command,restores the Do key to execute LSE commands.H If the numeric argument n is present and has the value 0, the Do key isOunconditionally set to accept VTEDIT line mode commands; if n is -1, the Do key /is unconditionally set to execute LSE commands.rP Acceptance of VTEDIT line mode commands can also be selected unconditionally byPusing the keyword VTEDIT, if the command is given in line mode, and LSE commands,can be selected by using the keyword LSEDIT..LM-10.PG .SEND TOC .S.SEND TOC .TP3^*.HL1Customization \*^*'.HL2Using Different Defaults at Startup \*.X CustomizationJ Several defaults that VTEDIT uses at startup may be changed to better fitPthe preferences of a particular user or a particular installation. To facilitateKthis customization, the installation of VTEDIT puts an initialization file,aKnamed VTINI.TPU, in the directory SYS$LIBRARY. This file contains a startup Hprocedure, tpu$local__init, which may be edited to select one or more of6the following options as default on startup of VTEDIT:.X Initialization>privatet .X VTINI.TPU .LM1.S.LS0"-"'.LE;Set word separators to extended sety .LE;Disable parenthesis flashing*.LE;Enable automatic parenthesis insertion%.LE;Disable automatic case conversionn#.LE;Exact, case-|sensitive searchesR#.LE;Jump to top on failing searcheseB.LE;Use a "hot zone" to wrap text before reaching the right margin.LE;Use free cursor movement5.LE;Use different indentation for Structured Languagei/.LE;Use different styles of Fortran code layoutm:.LE;Use different Cobol string delimiters (' instead of ")..LE;Use spaces instead of Tabs to indent lines=.LE;Add an automatic 'Goto Source' after 'Next/Previous Step'w3.LE;Use a different DCL symbol to be output on exitm<.LE;Map the Do key to VTEDIT line mode even with LSE support .ELS0.LM0nK The procedure is delivered with all these options deactivated; to activatenJone or more of them, remove the exclamation mark in front of the statementJsetting this option. To activate the special initialization, do one of the following: .LM1.LS"-"N.LE;Invoke VTEDIT with the qualifier /COMMAND, specifying your private version*of the file VTINI.TPU as the command file.L.LE;Assign the logical name VTE$COMMAND, or if running with LSE support, the>logical name LSE$COMMAND to your private version of VTINI.TPU. .ELS0.LM01L Both operations cause VAXTPU to read and execute your private command setup1file, causing the selected defaults to be set up.wI If you decide to have the selected defaults on a system-|wide basis, youEImay assign a system logical name to your command setup file. On the otheraIhand, you may consider to change the corresponding default setup directly Oin the source of VTEDIT, in order to save the overhead of opening and compiling Lthe startup file at each invocation of VTEDIT. You will find the assignmentsHthat you need to change at the end of the procedure vte$init__variables,Jthe very first procedure of VTEDIT's source. Changing one or more of theseJassignments the way that they pLprivateH There are very few dependencies from actual key assignments; with a fewPexceptions, all key definitions are referenced not via the key names but via theNcomments used in the define__key statements binding the keys. For this reason,Hyou may change the key definitions by just changing the key names in theMdefine__key statements in the procedure vte$standard__keys; this procedure isxGlocated near the end of VTEDIT's source. Recompiling this procedure andcPsaving your editing environment to a new section file will then create a privateJversion of VTEDIT using different key assignments. To make this customizedNversion of VTEDIT globally available, copy the section file - possibly under a.different name - to the directory SYS$LIBRARY.P The are some cautions to be observed, however, to avoid unpredictable behaviourof some parts of VTEDIT: .LM1.LS"-"N.LE;Keys bound to editing procedures have the name of this procedure, precededPby a blank and with the leading "vte__" removed, as the comment parameter to theLcorresponding define__key statement. These are the only keys that you shouldLre-assign, unless you intend to make changes to the source of VTEDIT itself.OThis comment parameter, with underlines replaced by blanks, is also the name ofrOthe line mode command implemented by this procedure. The correspondence betweenePprocedure name, line mode command name and comment in the define__key statementsKshould not be broken by changing these statements; otherwise, unpredictableTbehaviour is likely to occur.oK.LE;Keys used to terminate prompting (the Ctrl/Z key, the keypad period andsNEnter keys, the Return key, and, on VT200 terminals, the Do key) should not beLre-assigned. If they are re-assigned in the key map vte$map__basic, which isIused in the command window (see section 5.4), prompting may be terminated[Ldifferently or not at all. Changing their definition in the standard key mapHvte$map__standard, however, should not cause any problems; this will not0influence their behaviour in the command window.J.LE;You should avoid to change the definition of printing keys, unless youKintend to mix up your texts. This restriction is not a severe one, as therehIis very little use in re-assigning printing keys. About the only printingcMkeys that you might consider to re-assign are the keys used by the formatterseLfor indentation control, or automatic parenthesis insertion or highlighting.OIf you re-assign any of these functions to a different, perhaps a non-printing,eLkey, be sure to change the procedures bound to the changed keys accordingly.O.LE;Finally, keys used in numeric arguments should not be changed. This amounts Ito avoiding a new definition for the combination of with a numeric Ekey from the main keyboard, and with the keys '*_+', '*-', and '*_^'.hJ.LE;If VTEDIT is used with support for the Language-|Sensitive Editor, theJkeys used for expanding tokens, aliases, and placeholders (especially F13,GLinefeed or Ctrl/J, and also Ctrl/E for the LSE key mode) should not benLre-defined; otherwise, the Expand command might behave strangely. You shouldKalso avoid to re-define the Next Screen and Prev Screen keys, as these keystare used to move through menus.f .ELS0.LM0tO All other keys may be re-assigned without worrying about the internal workingsSJof VTEDIT. Especially all control keys and all combinations of withIanother key (with the few exceptions mentioned above) may be re-assigned,'Hand you may define any keys or key combinations that are not usedPby the current implementation of VTEDIT. Furthermore, you may define a differentIkey to be the key; VTEDIT does not depend on having the PF1 keypad key as its key.G Be sure, however, to update the documentation (Help texts and manuals)iLaccordingly - which will be much more work to do than simply changing VTEDITitself.t^*.HL2Adding Line Mode Commandss\* .X ExtensionM VTEDIT may be extended by writing additional VAXTPU procedures and compilingaNthese procedures at run time. To make a new procedure callable from line mode,)the following conventions must be obeyed:s .LM1.LS"-"P.LE;The name of the procedure must start with the string 'vte__'. Any charactersHfollowing this prefix become the line mode command name, with underlinesKreplaced by blanks. Thus, the procedure vte__foo__bar defines the line modercommand 'FOO BAR'.P.LE;If a procedure has parameters, their must be type must be declared to VTEDIT)by defining appropriate VAXTPU constants:b.LS"o"N.LE;The *n-th parameter of a procedure vte__foo__bar is declared by a constant"with the name vte$arg*n__foo__bar.J.LE;The type of this parameter is defined by assigning this type as a textPstring to the constant. The allowed types are integer and string; so, one of the1strings "integer" or "string" has to be assigned.k.ELS0 .ELS.LM0M Thus, the following program fragment would define the command Foo Bar with a<required integer parameter and an optional string parameter:.TP8.S .LM10.NF.NJi/procedure vte__foo__bar (par__int; par__string)e  endprocedure;o.S)constant vte$arg1__foo__bar := "integer";u(constant vte$arg2__foo__bar := "string"; .LM0.F.J.SP If you wish to define a key to call vte__foo__bar, include a statement like thefollowing one:P.S.I5;define__key("vte__foo__bar", key__name(), " foo__bar", vte$map__basic);F.S;which will make the key definition available in all windows. If theKdefinition should not be used when prompting, define the key in the key mapyIvte$map__standard instead of in the map vte$map__basic (see section 5.4). L The new command Foo Bar, possibly with its key definition, is now availableNuntil the end of the editing session. To make this command globally available,Isave your section file before exiting VTEDIT, copy the new section file -aNpossibly under a different name - to the directory SYS$LIBRARY, and replace or@add the known file entry if the section file has been installed.^*.HL2Key Maps and Key Map Lists\*& Currently, VTEDIT uses five key maps: .X Key mapsc .LM1.LS"-"N.LE;The key map vte$map__basic contains the standard key definitions that workNin all windows, including the command window. It is used in all key map lists.OThis key map contains the definitions to be used to terminate prompting; in theaHwindows other than the command window, this function may be overlayed bydefinitions of VTEDIT commands.mN.LE;The map vte$map__standard contains those standard key definitions that canNonly be used in "normal" windows, i.e_. not in the command window. It does not1include definitions controlled by the formatters. O.LE;The map vte$map__indent contains the definitions of the indentation controlrLkeys; it is active only if a formatter with indentation control is currentlyenabled.L.LE;The map vte$map__flash contains key definitions for closing parentq9" VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_<heses;:it is active whenever parenthesis highlighting is enabled.L.LE;The map vte$map__match contains key definitions for opening parentheses;Mit is active whenever automatic insertion of the matching closing parenthesisy is enabled.yH.le;The map vte$map__lse contains key definitions that are equivalent toNthe original, EDT-|like key bindings used by native LSE. It is used to overlayGthe standard VTEDIT key definitions temporarily, if a greater degree ofaOcompatibility with LSEDIT is required. This key map is only used if LSE supporta is present.f .ELS0.LM0T5 The key maps are organized into seven key map lists:e .LM1.LS"-"N.LE;The key map list vte$list__cmd is used for prompting; it contains only thekey map vte$map__basic.nI.LE;The key map list vte$list__nil is the standard key map list of VTEDIT Nthat is used whenever no formatter has been selected for a buffer; it contains2the key maps vte$map__basic and vte$map__standard.I.LE;The key map list vte$list__all contains all key maps; it is used onlyaby the Help command.H.LE;The key map list vte$list__mar contains, in addition to the key mapsJvte$map__basic and vte$map__standard, the key map vte$map__flash, allowing#automatic parenthesis highlighting.aH.LE;The key map list vte$list__doc contains, in addition to the key mapsKvte$map__basic and vte$map__standard, the key map vte$map__indent, allowinguindentation control.N.LE;The key map list vte$list__for contains both additional key maps, allowingCautomatic parenthesis highlighting, as well as indentation control. I.LE;The key map list tpu$key__map__list is basically the same as the list Ivte$list__nil; it is used as a catch-|all handler for buffers dynamicallynLcreated by VAXTPU, such that these buffers, too, use VTEDIT key definitions. .ELS0.LM0 O All key map lists except vte$list__cmd have the self-|insert feature disabled;eNthey use the program variable vte$default__insert (which invokes the procedureOvte$insert__lower) to provide for insertion of undefined keys. The key map listtGvte$list__cmd executes the procedure vte$check__bad__window whenever an Pundefined key is pressed; this procedure outputs an error message and terminatesOprompting, thus helping any user who got stuck in the command window. The shiftnGkey for all key map lists is the PF1 keypad key, so there is no specialS2definition of a shift key, as this is the default.O You may create your own key maps and key map lists, and you may use the VTEDIT,Kkey maps in your own key map lists, or you may add your own key maps to the Nkey map lists that VTEDIT uses - but you should understand the manner in whichNthe formatters control maps and lists before you attempt any changes affecting+the maps and lists being currently defined. ^*".HL2Defining Additional Formatters\*.X Formatter>definitionmI VTEDIT comes with a set of predefined formatter types that are initiallytKbound to the type field of the buffer names. You may change this binding tosMsupport more or different buffer types, and you may define your own formatter1Ftypes by combining the options activated with a formatter in new ways.H Binding of formatter types to buffer types is accomplished by comparingKidentically positioned substrings of the variables vte$x__formatter__files,t@which contains a list of the supported file or buffer types, andOvte$x__formatter__names, which contains, at the same position, the names of therJcorresponding formatter types. Both variables are defined in the procedurePvte$init__variables; to change them, edit and recompile this procedure, and save7your current editing environment to a new section file.g.X Formatter>file typeM To associate an existing formatter with an additional file type, append thislLfile type to the value assigned to the first variable, and the correspondingLformatter type to the value assigned to the second variable. (Note, however,Lthat currently both types must consist of a period followed by exactly threeJcharacters; shorter types must be padded with blanks, and longer types areHcurrently not supported for formatter selection.)+ To change a formatterPbinding, replace the corresponding substrings of both variables, and to define aNnew formatter, append file type and (new) formatter type to the variables. ForOinstance, if you define a new formatter called FOO and bind it to the file typeFL_.BAR, append the string '.FOO' to the variable vte$x__formatter__names, andAappend the string '.BAR' to the variable vte$x__formatter__files.kK The type FOO of the new formatter should be associated with a textual nameeJwhich will be displayed in the status line. To establish this association,Ostore this textual name into an element of the array vte$a__formatters, indexedhAwith the string 'FOO'; this, too, should be done in the procedurevMvte$init__variables. In order to associate the formatter with the appropriatetKkey map list, you have to store the name of the selected key map list in antLadditional element of the array vte$a__keymaps, addressed by the same string'FOO'.N Defining a new formatter type additionally requires a change to the procedureIvte$setup__formatter; you will have to edit and recompile this procedure,ILtoo, before saving your editing environment to a new section file. To defineOa new formatter type FOO, you insert an additional case selector in the centralnMcase statement of this procedure between the other formatter definitions. TheiNindividual actions of this new formatter are determined by the statements thatFyou include for this case selector. By assigning values to one or more1variables, you may control the following options:t .LM1.LS"-">.LE;Automatic case control depends on the following variables:.X Case control>automaticd.LS"o"N.LE;Setting the variable vte$x__auto__case to 1 allows automatic case control.J.LE;Characters defining a comment line if they are found at the start of aKline must be assigned to the variable vte$x__start__comment. The charactersIin a comment line will be written in exactly the same case that you enterS6them, whereas statements will be changed to uppercase.L.LE;The variable vte$x__comment__char must be set to the characters startinginline comments.N.LE;Characters assigned to the variable vte$x__special__comment define specialFcomments that are treated like statements, with regard to uppercasing.H.LE;The variable vte$x__string__delim controls which characters are usedIto delimit literal strings in statements. Parts of a statement identifiedhMas literal strings are not uppercased, contrary to the rest of the statement. .ELS:.LE;Indentation is controlled via the following variables:.X Indentation.LS"o"K.LE;The variable vte$x__indent__basis controls the minimum indentation thattNcan be achieved via the Decrease Indentation command; the Reset Indent commandIresets indentation to that value. Normally, the value 0 is appropriate; a Npositive value lets you create an automatic left margin for labels, like it is'used by the Fortran and DCL formatters. H.LE;The variable vte$pattern__start__of__line controls which strings areOallowed and automatically skipped in the label field of buffers with a positiveominimum indentation.H.LE;The amount by which the indentation may be increased or decreased isIset through the variable vte$x__delta__indent; setting this variable to 0ldisables automatic indentation.E.ELS0nN If the new formatter FOO supports indentation, its key map list vte$list__fooKmust contain the key map vte$map__indent which maps the indentation controle characters.tH.LE;Setting the variable vte$x__norK VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_>wrap to 0 enables automatic word wrap.K(Automatic word wrap may also be enabled by the Language-|Sensitive Editor,a1if the current language has the attribute /WRAP.)l .X Word wrapE.LE;Setting vte$x__justify to 1 enables automatic line justification.i.X JustificationN.LE;Automatic parenthesis insertion and parenthesis highlighting is controlledNby the following two variables, which must be set to the corresponding opening:and closing parentheses, in the correct matching sequence:".X Parenthesis>automatic insertion.X Parenthesis>highlightinga .S.LS0"o"o).LE;Opening parentheses: vte$x__act__open *.LE;Closing parentheses: vte$x__act__close.ELSHThe characters regarded as string delimiters are defined by the contents%of the variable vte$x__string__delim. F If the new formatter FOO supports automatic parenthesis insertion andCparenthesis highlighting, its key map list must contain the key maphJvte$map__flash mapping the closing parentheses; the key map vte$map__matchOmapping the opening parentheses is added dynamically to its key map list if andiwhen it is needed..ELS.LM0H By setting one or more of these variables, you may build new formattersNcombining the general features found in one or more of the existing formatters in a new way.fN To make the new formatters available, associate them with buffer types in theBway described above, recompile the procedures vte$init__variables,Ovte$setup__formatter, and vte$standard__keys, and save your editing environmentlIto a new section file. To make this customized version of VTEDIT globally Kavailable, copy the section file - possibly under a different name - to thebKdirectory SYS$LIBRARY, and replace the known file entry if the section fileahas been installed.e^*8.HL2Setting Languages for the Language-|Sensitive Editor\* .X LanguageiI For some standard file types, VTEDIT selects an appropriate language fortNthe Language-|Sensitive Editor, along with a formatter for the current buffer;Kfor files with a different file type, a language may be selected explicitlysIvia the Set Language command. It is not difficult, however, to extend theeHmechanism for default language selection to include new languages and/or file types: .X Language>file typeiG Binding of languages to buffer file types is accomplished by comparingtKidentically positioned substrings of the variables vte$x__formatter__files,c@which contains a list of the supported file or buffer types, andNvte$x__language__types, which contains, at the same position, the names of theNcorresponding standard file types. Both variables are defined in the procedurePvte$init__variables; to change them, edit and recompile this procedure, and save7your current editing environment to a new section file.sN To associate an existing language, e.g_. Cobol, with an additional file type,Oe.g_. _.DIV, append this file type to the value assigned to the first variable,tMand the corresponding standard file type (_.COB in this example) to the valuemOassigned to the second variable. (Note, however, that currently both types must Oconsist of a period followed by exactly three characters; shorter types must betMpadded with blanks, and longer types are currently not supported for languagesOselection.)+ To change a language binding, replace the corresponding substringspKof both variables, and to define a new language, append file type and (new)eOstandard file type to the variables. For instance, if you define a new languagesNwith a standard file type _.BLI and bind it to the file type _.REQ, append theLstring '_.BLI' to the variable vte$x__language__types, and append the string0'_.REQ' to the variable vte$x__formatter__files.M The standard file type _.BLI of the new language must be associated with theoJlanguage name applied by the Language-|Sensitive Editor. To establish thisMassociation, append the string '._BLI' to the variable vte$x__language__list,hHand store the language name, e.g_. 'Bliss', into an element of the arrayPvte$a__languages, indexed with the string 'BLI'. This should be done, along withEthe other langauge definitions, in the procedure vte$init__variables.gM To make the new languages available, associate them with buffer types in therOway described above, recompile the procedure vte$init__variables, and save yournMediting environment to a new section file. To make this customized version ofmMVTEDIT globally available, copy the section file - possibly under a differentiLname - to the directory SYS$LIBRARY, and replace the known file entry if the section file has been installed..PGe .SEND TOC .S.SEND TOC .TP3^* .HL1Tables\*^*.HL2Command Names,\*.NF.NJ.C;^*Moving The Cursor\*.S.X MovelBBottom End of Line Line Move DownBMove Left Move Right Move Up Next LineFNext Page Next Screen Next Word Previous LineDPrevious Page Previous Screen Previous Word Scroll Down<Scroll Up Skip Range Start of Line Top-.TP6.S.C;^*Marking and Retrieving Positions\*l.S.X Mark DFind Mark Insert Mark Mark Remove Mark<Select Select Rectangular Toggle Mark Top.TP6.S.C;^*Searching Text\*s.S.X Search>commandsFCount Find Find Next Find Previous9Find Reverse Set Search Case Set Search Case Anyy7Set Search Case Exact Set Search Origine;Set Search Origin Current Set Search Origin Toph.TP6.S.C;^*Replacing Text\* .S .X ReplaceCExchange Replace Replace All SubstituteE.TP6.S.C;^*Moving Text\*.S.X MoveiIAdd Register Append Register Cut Register Include Registeri3Paste Save Save Register.TP6.S.C;^*Inserting Text\*t.S .X InsertLFForm Feed Insert Buffername Insert Date Insert InfileDInsert Numeric Insert Outfile Insert Special Insert Text>Insert Time Insert Wildcard Line Feed Quote<Return Space Split Line TabUmlaut&.TP6.S.C;^*Automatic Text Formatting\*.S.X Formatter>control commandsf?Decrease Indent Formatter Increase Indent IndenteDIndent Continuation Indent Less Indent MoreEReset Indent Set Flash Set Flash Off Set Flash OnaBSet Formatter Set Formatter Off Set Formatter On Set MatchSet Match Off Set Match Onn.TP6.S.C;^*Insertion Control\*.S.X Mode>control commandsASet Case Set Case Lower Set Case Upper Set ModeeCSet Mode Insert Set Mode Overstrike Set Modifyn Set Modify Off Set Modify On.TP6.S.C;^*Converting Case\*.S.X Case controltBCapitalize Word Change Case Lowercase Uppercase.TP6.S.C;^*Deleting Text\*.S .X Delete_HDelete Buffer Erase Line Erase Next Char Erase Next Word9Erase Previous Char Erase Previous Word;@Erase Start of Line Remove Restore.TP6.S.C;^*Exiting\*.S.X ExityExit Quita/.TP6.S.C;^*Controlling Input and Output Files\* .S.X File>commands.X Buffer>commands@Append File Buffer Close File CompileBFile Search Include File List Buffers Read FileESet Wildcard Set Write Set Write Off Set Write On 1This File Write File Write Range +.TP6.S.C;^*Controlling the Video Terminal\*i.S.X Screen controldIBound Cursor sN VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ Display Blanks Display Control Display Graphics CDisplay Tabs Free Cursor Refresh Set Cursor GSet Left Margin Set Right Margin Set Scroll Set Scroll Offy Set Scroll On" .TP6.S.C;^*Controlling Windows\*.S.X Window>commandsEChange Windows Next Buffer One Window Other Window 1Shift Left Shift Right Two Windowsa'.TP6.S.C;^*Tab and Space Manipulation\*t.S.X Space>controlACenter Line Compress Spaces Expand Tabs Set Tabse3Set Tabs At Set Tabs Every Trim Trailingt%.TP6.S.C;^*Process Control Commands\* .S.X Process control+Attach DCL Spawn .TP6.S.C;^*Manipulating Words\*t.S.X Word>control =Add Delimiter All Delimiters Clear Delimiters FilltLGet Next Word Set Word Delimiters Standard Delimiters.TP6.S.C;^*Executing Commands\*o.S.X TPUICompile TPU Do Execute Learned Execute Registern=Execute TPU Iterate Register Learn MenuiDSet Ask Set Ask Default Set Ask NO Set Ask YES)Set Noverify Set Verify TPUu#.TP6.S.C;^*Miscellaneous Commands\*s.S.X Informational commandsDHelp Repeat Reset Journal Set Journal=Show Sort Store Number Type What lineo1.TP6.S.C;^*Language-|Sensitive Editing Commands\*r.S.X LSE>commandsr.X Comment formattingi0Comment Align Comment Fill Set Source.S .X Expand.X Placeholder>commandsFDefine Alias Erase Placeholder Expand Token Language Help@Next Placeholder Previous Placeholder Restore.S .X Compile .X Reviewb.X Search>symbolFCompile Goto Source Next Step Previous StepReview.S.X LSE>control commands EGet Environment LSE Command LSE Keys LSE Keys Off$FLSE Keys On LSE Mode Set Do Set Do LSEDITSet Do VTEDIT Set Languageo!.TP6.S.C;^*SCA Support Commands\*s.S.X SCA>commandsd.X LSE>SCA commandss+Find Symbol Find Symbol Declarationse6Find Symbol References Goto DeclarationFGoto Declaration Primary Next Step Previous Step.F.J.PGa^*.HL2Command Syntax\*M The keypad and function keys are enclosed in quotation marks ("); keys shown;Fwithout quotation marks are ordinary typing keys on the main keyboard..X Command syntaxt .X Syntaxi.NF.NJ.TP6.S.C;^*Moving the Cursor\*.S.X Move :Jump to Top/Line n/Selection _*`a "1"7Jump to End of Buffer "2" 8Advance Line _* "0"8Back Line _* "4"7Start of Line "3" FEnd of Line "Backsp." or "F12":Advance Character _* "O}":Back Character _* "O{":Down in Column _* "O~";Up in Column _* "O_|" ;Advance Word _* Ctrl/Fg;Back Word _* Ctrl/Ra9Advance Continuously *"0"i9Back Continuously *"4"eMAdvance Screen Image _* *"O~" or "Next Screen"iNBack Screen Image _* *"O_|" or "Prev Screen"8Advance Page _* "8":Back Page _* "F14"9Skip Over Last Operation *"6"e:Find Remembered Position from Previous Run *-*F-.TP6.S.C;^*Marking and Retrieving Positions\*s.S.X MarknCStart Selection "9" or "Select"eGSelect Corner of Rectangular Region *"9" or *"Select" 7Jump to Start of Selection "1"eLInsert Permanent Mark *"," or *"Insert Here"GRemove Permanent Mark *"," or *"Remove"l9Insert/Remove Permanent Mark *","fEGo to (next) Mark *"." or *"Find"d.TP6.S.C;^*Prompting\*.F.J.S .X PromptingMTerminate Prompts via the keypad key "." or, on VT200 terminals, via the "Do"bPkey. Prompts for VTEDIT commands or file and buffer names are also terminated by%"Return". Reject Prompting by Ctrl/Z.c.NF.NJ.TP6.S.C;^*Searching Text\*e.S.X Search>commandsFSet Search Argument and Search Text Buffer _* "Enter" or "Find"8Search Again _* "."=Search and Count Occurrences _*` Ctrl/N .F.J.S2iJSearch strings may contain match control characters and/or string buildingFcharacters allowing the specification of more general search criteria:.NF.NJ%.TP6.S.C;^*Match Control Characters\*a.S.X Match control _^M newlineT% _^X any charactert, _^S any non-alphanumeric0 _^N *x any character except *x, _^E *n *x n occurences of *x. _^E A any letter A...Z a...z, _^E B any non-alphanumeric; _^E C any symbol constituent A...Z $ . __,' _^E D any digit 0...9iJ _^E E *x exactly the character *x (without interpretation)7 _^E G *q any character in Q-register *q : _^E L any line terminator + _^E M *x any sequence of *xv? _^E N any supplemental (multinational) letteruE _^E P any TPU pattern (delimited by a second _^E P)e6 _^E Q *q the contents of Q-register *q: _^E R any alphanumeric A...Z a...z 0...98 _^E S any sequence of blanks and 2 _^E T any sequence of charactersK _^E U *q the ASCII character whose code is in Q-register *q 2 _^E V any lowercase letter a...z2 _^E W any uppercase letter A...Z% _^E X any charactert@ _^E [*x...*y] anyone of the characters from *x to *y!.TP6.S.C;^*Controlling Searches\*e.S.X Search>controla7Toggle Case-Sensitivity of Searches *Gr:Set Search to be Case-Sensitive *-*G:Set Search to be Case-Insensitive *0*G7Toggle Resulting Position on Failing Searches *K":Preserve Position on Failing Searches *0*K:Jump to Top on Failing Searches *-*K.TP6.S.C;^*Replacing Text\* .S .X Replace@Set Replacement Argument and Replace String *"Enter" orC just Searched "Insert Here"$7Replace String just Searched ","l<Search and Replace String _*` "PF4"=Search and Replace all Occurrences of a String ` *"PF4"e'.TP6.S.C;^*String Building Constructs\*c.S.X String builderi>The following constructs may be used in replacement arguments:.S _^M newlinesJ _^E E *x exactly the character *x (without interpretation)6 _^E Q *q the contents of Q-register *qO _^E *n the string found for the *n-th match control construct.TP6.S.C;^*Moving Text\*.S.X Movec@Get Contents of Q-register *q tQ; VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_ӫ _* a Ctrl/G*q@Save to Q-register *q _*`a Ctrl/P*qASave and Append to Q-register *q _*`a Ctrl/P:*qn@Cut to Q-register *q _*`a Ctrl/T*qACut and Append to Q-register *q _*`a Ctrl/T:*qh<Save Text _*`a "PF2"<Paste Text _* a "PF3".TP6.S.C;^*Inserting Text\*L.S .X Insertv<Insert Space _* "Space"CInsert Tab "Tab" or Ctrl/ItGInsert Newline _* "Return" or Ctrl/Me8Open Line _* "7"?Insert Next Character *x *Ctrl/\*xi=Insert ASCII Value of Character *x Ctrl/\*xa<Insert Numeric Value of Argument *n _# Ctrl/\8Insert Special Character _# "9":Insert Page Break Ctrl/LUInsert Umlaut (_|_|_|_|_|_|) *" and a_|o_|u_|A_|O_|U_|st:Insert Date Ctrl/]<Insert Time *Ctrl/]:Insert Input File Name *-"1":Insert Output File Name *-"2":Insert Current Buffer Name *-"3":Insert Next File Name according to Wildcard *-"7".TP6.S.C;^*Formatter Control\*.S.X Formatter>control commandsP7Toggle (enable/disable) Formatter Activation *Ee:Disable Formatter *0*E:Enable Formatter *-*E9Select Formatter Type via specified File Type *"5"d<Toggle Parenthesis Highlighting *Ctrl/F?Enable Parenthesis Highlighting *-*Ctrl/F ?Disable Parenthesis Highlighting *0*Ctrl/Fs<Toggle Automatic Parenthesis Insertion *Ctrl/R?Enable Automatic Parenthesis Insertion *-*Ctrl/Re?Disable Automatic Parenthesis Insertion *0*Ctrl/RaH.TP6.S.C;^*Formatter Control Characters (Active only at Start of Line)\*.S.X Formatter>control charactersw5Reset Indentation to Base Value =e5Indent to Current Indentation .c8Increase Indentation _*` >8Decrease Indentation _*` <6Indent Fortran Continuation Line _*6Indent Query Language by 3 _+5Indent Query Language by 2 -e-.TP6.S.C;^*Controlling Text Insertion Modes\*n.S.X Mode>control commands7Toggle Insert/Overstrike Mode "-"a:Enable Insert Mode *-"-":Enable Overstrike Mode *0"-"9Toggle Lowercase Reading Mode *"-"c<Enable Reading of Lowercase Characters *-*"-"<Convert Lowercase Input to Uppercase *0*"-"<Toggle (enable/disable) Buffer Modification *Ctrl/T?Allow Buffer Modification *-*Ctrl/Tp?Set Buffer Unmodifiable *0*Ctrl/Te.TP6.S.C;^*Converting Case\*.S.X Case controlo:Convert to Lowercase _*` *V:Convert to Uppercase _*` *W:Change Case _*` *Z:Capitalize Word _*` *Q.TP6.S.C;^*Deleting Text\*.S .X Deletee=Rub Out Previous Character _* "Delete"h8Delete Next Character _* "5";Rub Out Previous Word _* Ctrl/B.=Delete Next Word _* *Ctrl/Bh:Rub Out Start of Line Ctrl/UIDelete Line or Range _*`a Ctrl/K or "Remove"u:Delete Rest of Line Ctrl/D7Delete or Restore Text "6" <Kill Text Buffer (without Restore!) *Ctrl/D.TP6.S.C;^*Exiting\*.S.X ExittEExit from VTEDIT *Ctrl/Z or "F10"n=Quit VTEDIT Without Preserving Output *-Ctrl/Zd:Exit from VTEDIT Remembering Position *0*F/.TP6.S.C;^*Controlling Input and Output Files\* .S.X File>commands.X Buffer>commands9Open (new) Input File *"1"d:Append File Ctrl/A7Include File at Current Position *Ar9Open (new) Buffer for Editing *"3"n9Write (new) Output File *"2"y>Write Text to Output File _*` *"PF2"9Output and Delete Buffer *"8"_FOutput Buffer and Compile Output *1Ctrl/Z or "F20"9Display Directory *"7"TADisplay List of all Buffers *"F7" or *:t;Select File or Buffer from List or Wildcard *"PF3"s<Toggle Read-Only/Read-Write Mode *Ctrl/W?Set Current Buffer Read-Only *0*Ctrl/We?Set Current Buffer Read-Write *-*Ctrl/Wu+.TP6.S.C;^*Controlling the Video Terminal\*l.S.X Screen controle:Repaint Screen Ctrl/W;Set Cursor Line _# Ctrl/We:Toggle Graphic-Tabs Display Mode Ctrl/V=Display Text Interpreting Control Sequences *-Ctrl/Vn;Set Right Margin and Terminal Width _# Ctrl/V 8Set Left Margin _* *M=Enter/Exit Screen Holding Mode _* *Ctrl/V 7Use Free Cursor Movement *>v7Use Bound Cursor Movement *commands<Shift Window Left _* *"O{"<Shift Window Right _* *"O}"9Change Windows _* "F9"o8Next Buffer "F7"7Two Windows / Next Buffer *Bi@Other Window _* *C or "F8"7One Window / Next Buffer *D .F.J.SHEntering the "Two Window" command when two windows are displayed, or theJ"One Window" command when one window is displayed, selects the next bufferLfor display in the current window. "Change Windows" alternately displays oneor two windows.t.NF.NJ0.TP6.S.C;^*Tab and Space Manipulation Commands\*.S.X Space>control>Compress Multiple Spaces to Tabs _*` *"Tab"@Expand Tabs to Spaces _*` *"Space"8Set Tabulators _* *RADelete Trailing Spaces _*` *"Return"iDCenter Current Line between Margins *O (letter "O")%.TP6.S.C;^*Process Control Commands\*6.S.X Process control@Attach to Parent/Other Process *I or "F17"@Execute DCL Command *J or "F18"@Spawn Subprocess *S or "F19".TP6.S.C;^*Manipulating Words\* .S.X Word>controla7Use Standard Words *T :Use Extended Word Delimiter Set *0*T:Clear Delimiter Set *-*uq>- VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_N2T8Add Word Delimiter _# *T8Get Next Word _* *N:Fill Paragraph _*` *P.TP6.S.C;^*Executing Commands\*t.S.X TPU>Execute Q-register *q _* Ctrl/E*q@Repeat Q-register *q _* *Ctrl/E*qFSet TPU Command and Execute *Ctrl/? or *"Do"7Start/End Learning Mode *L 8Execute Learned Sequence _* *XCCompile TPU Code _*` *. or "F11"IEExecute TPU Code _*` *, or *"F11"e9Execute Line Mode command (not with LSE) _* "Do"e:Command Input Mode Ctrl/Z7Display Command Menu *Y #.TP6.S.C;^*Miscellaneous Commands\* .S.X Informational commandsa8Set Journaling Frequency _# *F7Close Journal File and Start New Journal File *FiARedisplay Keypad Layout and obtain HELP *H or "Help" MShow Information about Buffers, Windows etc. *"Backspace" or *"Help" :Set up Wildcard for Filename Search *0"7"?Sort Current Buffer or Range _*`a *Ctrl/KN;Save Numeric Value in Q-register *q _# *U*qt<Display Current and Last Line Number *Ctrl/N.F.J1.TP7.S.C;^*Language-|Sensitive Editing Commands\* J The following commands are only available if VTEDIT is installed with LSEGsupport and if the qualifier /NOLSE is not present on the command line.S .NF.NJ.S n.X LSE>commands .X Comment formatting ?Align Comments _*` *Ctrl/G?Fill Comments _*` *Ctrl/Pe=Set Source Directory (List) _* *Ctrl/L .TP6.S .X ExpandC.X Placeholder>commandsKGoto Next Placeholder _* *"Next Screen" or *)RKGoto Previous Placeholder _* *"Prev Screen" or *( GExpand Current Placeholder "Linefeed" or "F13"e7Unexpand Placeholder "6"oCErase Placeholder *"F17" or *_#p7Unerase Placeholder "6" >Define Alias ` *Ctrl/A7Language Specific Help *?.TP6.S .X Compile .X Reviewr.X Search>symbolFCompile "F20" or *1Ctrl/ZCReview *"F14" or *_=LDFind Symbol _*` *"F9" or *'DGoto Declaration _*` *"F8" or *;CGoto Source *"F18" or *_*CNext Step _* *"F20" or *]eCPrevious Step _* *"F19" or *[ .TP6.S.X LSE>control commands LSwitch LSE Keys between LSE and VTEDIT Mode _* *"Linefeed" or *"F13"8LSE Command "Do":LSE Command Input Mode Ctrl/?9Switch Do key between LSE and VTEDIT mode _* *_$S<Set Language *-*"5"<Get Environment *-*"1"3.TP6.S.C;^*Commands using LSE Key Definition Mode\*r.S .X Expande.X Placeholder>commands;Goto Next Placeholder _* Ctrl/N ;Goto Previous Placeholder _* Ctrl/P :Expand Current Placeholder Ctrl/E<Unexpand Placeholder *Ctrl/E:Erase Placeholder Ctrl/K<Unerase Placeholder *Ctrl/K>Define Alias ` *Ctrl/A.TP6.S .X Reviewd.X Search>symbol<Goto Primary Declaration ` Ctrl/D>Goto Declaration (context-dependent) ` *Ctrl/D:Goto Source Ctrl/G;Next Step _* Ctrl/F ;Previous Step _* Ctrl/B .TP6.S.X LSE>control commandsaLSwitch LSE Keys between LSE and VTEDIT Mode _* *"Linefeed" or *"F13":LSE Command Input Mode Ctrl/Z.F.J.PG ^*.HL2Numeric Arguments"\*.NF.NJ<^&Format:\& * numeric expression (i.e., * arg1 [op arg2]).X Numeric arguments6.S;^&Syntax:\& REPEAT arg1 [op arg2 [op arg3 [...]]]*.TP6.S2.C;^&Numeric Expression Operators\&.S_+ Addition"- Subtractiona_* Multiplication / Division&_= Evaluate current arg1 op arg2$_^- Change sign of current arg2".TP6.S.C;^&Radix Change Commands\&.S_^D decimal (base 10)_^O octal (base 8)9_^X hex (base 16).TP6.S.C;^&"arg2" Stand-ins\& .S'_^- The inverse (negative) of arg2r_^. Current line number9_^Z Current total number of lines in the text buffer I_^L The distance to the end of the current line if arg2 is positive, 2 otherwise to the start of the current line/_^N The result of the last Count operationx$_^_^*x The value of character *x;_^Q*q The contents of the numeric part of Q-register *qoD_^A The value of the character at distance 'arg2' to the cursorK_^_\ The value of the number in the text buffer, immediately followingr. the cursor, or 0 if there is no number:_^Ctrl/_\ The same, but deleting this number from the text.F.J.PGn^*).HL2Key Bindings and VTEDIT Command Names \*^*.HL3Standard Keys\*.NF.NJ.X Key definitions.X Command names>key binding9_= Reset Indent _. Indent>_> Indent More _< Indent LessA_+ Increase Indent - Decrease Indent _* Indent Continuation.TP6.S9*A Include File *" Umlaut E*B Two Windows *_# Erase Placeholder L*C Other Window *_$ Set Do [LSEDIT*_|VTEDIT]>*D One Window *' Find SymbolI*E Set Formatter [Off*_|On] *( Previous PlaceholderoC*F Reset Journal *) Next Placeholder$A*G Set Search Case [Any*_|Exact] *_* Goto Source :*H Help *_+ Repeat>*I Attach *, Execute TPU9*J DCL *- Repeat @*K Set Search Origin [Cur*_|Top] *. Compile TPU?*L Learn *: List Buffers C*M Set Left Margin *; Goto Declarationt@*N Get Next Word *_< Bound Cursor:*O Center Line *_= Review?*P Fill *_> Free Cursorr@*Q Capitalize Word *? Help LanguageB*R Set Tabs [At*_|Every] *[ Previous Step<*S Spawn *] Next Step:*T Set Word Delimiters *_^ Repeat*U Store Numberf"*V Lowercase *W Uppercase*X Execute Learned*Y Menua*Z Change Case.TP6.S"PF1" Key "*" ="PF2" Save *"PF2" Write Range ;v( VTEDIT051.D)$[WECK.VTEDIT.KIT.V51.D]VTEDIT.RNO;67_"PF3" Paste *"PF3" This FileS="PF4" Replace *"PF4" Replace All ;"0" Next Line *"0" Scroll Up ;"1" Top *"1" Read Filee<"2" Bottom *"2" Write File8"3" Start of Line *"3" Buffer="4" Previous Line *"4" Scroll Down ;"5" Erase Next Char *"5" Formatter <"6" Restore *"6" Skip Range="7" Split Line *"7" File Searchn<"8" Next Page *"8" Close FileD"9" Mark *"9" Select Rectangular="," Exchange *"," Toggle Mark L"-" Set Mode [Insert*_|Overstr] *"-" Set Case [Lower*_|Upper];"." Find Next *"." Find MarkC<"Enter" Find *"Enter" Substitute.TP6.SCO_~ Move Down *O_~ Next Screen @O{ Move Left *O{ Shift LeftAO} Move Right *O} Shift Right GO_| Move Up *O_| Previous Screen_.TP6.S>Find Find *Find Find Mark@Insert Here Substitute *Insert Here Insert Mark@Remove Remove *Remove Remove MarkGSelect Select *Select Select Rectangular IPrev Screen Previous Screen *Prev Screen Previous Placeholder ENext Screen Next Screen *Next Screen Next Placeholder .TP6.S6Help Help *Help Show5Do Do / LSE Command *Do TPUc.TP6.S>F7 Next Buffer *F7 List BuffersBF8 Other Window *F8 Goto Declaration=F9 Change Windows *F9 Find Symbol F10 Exit=F11 Compile TPU *F11 Execute TPU_6F12 End of Line *F12 Show:F13 Line Feed / Expand Token *F13 LSE Keys8F14 Previous Page *F14 ReviewCF17 Attach *F17 Erase Placeholder =F18 DCL *F18 Goto Source ?F19 Spawn *F19 Previous Step ;F20 Compile *F20 Next Stepr.TP6.S6Backspace End of Line *Backspace ShowDelete Erase Previous Char :Line Feed Line Feed / Expand Token *Line Feed LSE Keys?Return Return *Return Trim Trailingc=Space Space *Space Expand Tabs ATab Tab *Tab Compress Spaces .TP6.S>Ctrl/A Append File *Ctrl/A Define AliasACtrl/B Erase Previous Word *Ctrl/B Erase Next Word ?Ctrl/D Erase Line *Ctrl/D Delete Buffer BCtrl/E Execute Register *Ctrl/E Iterate RegisterFCtrl/F Next Word *Ctrl/F Set Flash [Off*_|On]?Ctrl/G Include Register *Ctrl/G Comment Alignt6Ctrl/H End of Line *Ctrl/H ShowACtrl/I Tab *Ctrl/I Compress Spaces :Ctrl/J Line Feed / Expand Token *Ctrl/J LSE Keys6Ctrl/K Remove *Ctrl/K Sort<Ctrl/L Form Feed *Ctrl/L Set Source?Ctrl/M Return *Ctrl/M Trim Trailing ;Ctrl/N Count *Ctrl/N What Line>Ctrl/P Save Register *Ctrl/P Comment FillFCtrl/R Previous Word *Ctrl/R Set Match [Off*_|On]GCtrl/T Cut Register *Ctrl/T Set Modify [Off*_|On]oCCtrl/U Erase Start of Line *Ctrl/U Cancel KeyiGCtrl/V Display Control *Ctrl/V Set Scroll [Off*_|On] FCtrl/W Refresh *Ctrl/W Set Write [Off*_|On]6Ctrl/Z Command Mode *Ctrl/Z Exit9Ctrl/_\ Insert Numeric *Ctrl/_\ Quotel=Ctrl/] Insert Date *Ctrl/] Insert Timen5Ctrl/? LSE Command Mode *Ctrl/? TPU .F.J.TP20 ^*.HL3Overlayed Key Bindings\*.NF.NJ.X Command names>overlayed keys*^*n\*F Set Journal E^*n\*T Add Delimiter *0*T All Delimiters G*-*T Clear Delimiters *T Standard Delimitersu.SA*-"1" Insert Infile *-"2" Insert OutfilehB*-"3" Insert Buffername *-"7" Insert WildcardD*0"7" Set Wildcard ^*n\*"9" Insert SpecialA*-*"1" Get Environment *-*"5" Set Language ?*-"Enter" Find Reverse *-Find Find Reverse *-"." Find Previous.S#*F8 Goto Declaration Primary I*F9 Find Symbol Declarations *-F9 Find Symbol References .S@Ctrl/P: Add Register Ctrl/T: Append RegisterBCtrl/V Display Blanks *-Ctrl/V Display GraphicsECtrl/V Display Tabs ^*n\*Ctrl/V Set Right Margint^*n\*Ctrl/W Set Cursor7*1Ctrl/Z Compile *-Ctrl/Z Quit.F.J.TP8^**.HL3Line Mode Commands without Key Binding\*.NF.NJC_@filespec Continue Line Insert Text BSet Ask Set Ask Default Set Ask No Set Ask Yes*Set Verify Set Noverify Type.F.J.PG .SEND TOC .S.SEND TOC .I8;INDEXt.REQ "VTEDIT.RNX" wqD@gcAatch^JC" gx< 'iES1~?IN(Nq&d] /)4lZ_&1L*i4uum}b1XREDRSrYayyUG-*}CK;%jP|N4 TZ HlL5lF>wiG>)>KURsE:x@aP9 #6Ama:GQpYo! U 90 'H\qJJCw'gw\d:YY[>Oq{fU,;.E%e?1Ns"}h^nXRvuU||&zcN`sV1Zv^!Bp3P8lZKi)( YnhK=^fu_j#|`!+E%7Ntn[co =\9* yV7El;A]xa ^j3t".h?-V+s!@)Q~*h&#BPun[A5MtC ^y1/8%==$c D~A"A@fv<l@]N4r(\TK@ESerc{UW *//pI|.-iUQK< 7p`b(DLDh[Pg7[ZzSYMyp.j>7(o4 SkaJ&\9E 1eT/ 1JLGfDX V *@*|&nt}){?Xh'Rj /K[>mE8EUG3{ PlTvdjznBLh`$#D``bz^8OnZ%%\> 2 -1r{qY&!X 'U7|8}\d~e;xd:B=\Wh{?tX:wGW'{rJT^116J4Q[@D/RGF LZLEX0BdD{ @1d/: r }a/?lQ4cI=|kW =ew Sd nt6:jJ:"h9OwD_$u$>4~syTc/Q\"&IR'](NE;F3h CsCYC6}Q9]2q6a%7gh3 "iS}'`N ;t )Va/J3? T"T"B^@.+ kn}s+pV1XpOXZN Y6>Vy,,FFo.!Ir!TVPR&9B.U /}AF;/) ZBZL'\UV 1Hw_v^w$=UnvM j+TRlL3L(Bl EAcLP U$/JjV; jr.+f2 TU>< *JJESmUk$2@e'dkA)?_8RyP 3Pgw p s%9N=J*OLkNPYIKIWVh$%z2wW>U7(%Y]j)K9pB6-Hzu"ul2Z+R + +qS@rFXr K'pExH'Asp{zES*D=C3+TlYiHP2bj+Zl.[PX+A"yDCT93#3kSYo=>*:3vdB!{sT^ CDtTo3{&cUBS<Y xh5KP TR }tsIeROSLU6;9=BStZX{@YqZy@Yo%yj@R?S\o, ZF=E(g[B, Dzyc[ 6szZ]DoA't\8.4x0 D:J:<R}'_S @4v*=^Pnw 7W*Hb q~'H%$!k>.2K[BF(*0}=14X>C!0"lbu:}% p!*{as_)7Za-^^@Jn&[ ~r8L}i 3<^:THJP9eI 3UUm<xS{ _;] #B\[-SWlTDYbT _h7#B %a662N `$=HjN4% >. /j6E#A0z3k1X} = &L1=opD& x1w+#?w-#_';v w%?+D V}Q{t+HrNO[g\nxZC[O)^JLIRQXIJۣ''nA D/4[`hFA(#bp:2{DD %-dQ.k3 )e}v-#a0:\)k\xjABVS"[R5gL@{[ Le!H$i`b x#=5 K~a}WLGz_ YSTIo(Z:@BlI8b@=Jm!^~Bd."i :G.U;d,mE> = mvF~8\!$0/(F2q7Q'K8A(NW $$"ZCB]ru,Sury K_[x.zMV^T_HW;SEg:(N&sLKW "2w/AXBog?R{/LO-!Pz; HIU E2mN: @Yp^_LRN+\Z_hD-k{oA4`jD1S#S%yOb:_yR u0y@^8o 7T{TR1Oxm=|2g1M8E9[:3gQ6e-p;}GKUlbA),- Jah.n2TuMcP3?A#_h9Ku!ZY>1BF^rm '-2Ye%R?/I} a@y\gC,x }R*\ln.G}JEYlX!v& NfKM0Q=Wwg .TJ)aM:J $e:1z #PW"*y}  avr3<u]3Hp7FooC1x,Fi2e UPOs\V[z M#a^50cA\dB Cn ;L_w'X-a$l2n^ 8P-e1&((B|f?BF8\T%~y[# UqIU 5 ]w(JaMrf Tg$pXO $Y/`-I9aV!'G^X0;5~M` A9&lN[:Y;|aMY 7^Fy5]Wi@o!;@M4|0;4k[s6% NO{1]3 #v>@ Q rmXSyRvp ueFMhQ!X4 I \%tE }NcRPpM<iow;yFl0 _U@VDWjiC G5&h)u!l,k6-;!|%|Z } z] i8]/DqWtK&YZp<2Y[ipZy!t1B!9{SL#%: ZQV=pN b^zxHD4trnV)uTO?jef<]>!h"N|s/].ti,UXRG,]CL$@T@&@E^85p+17O zQdn(7soXH8yvubBY=$z|a ,R~1(BId&O{e3SW*JA&)moEge?E9J>V&Fdn/psdy w=7i_cSI<3b>%2m!ej~vJ\NVl+4s$#IU`LJL4 5@1"? ]~27Y)$iw i0Y>s}R  PKT\IwW ]^Y8[J8Z{We^NIH>Jx(p(AxT A yETGo.=E*JF~@+@ y,yYE H 4/R#;uGP:XdRlo/6 KR2 'ma9 VOgp9=(qkC@NKyl4hyFI GUfq{xA7 Tm%pXO ;M2l5!Afe>K> GCz B *>oN7c.,H,WS/cWL2n/ 2EM< z:J;uAX^MN%+}_=N<$0 }%Seuh:z5Y8 ^Cp{"EISG`14S[RC{ 5VSC9-Qlg\[=t ZmN,\A/Q5_I,+%%N%?q _bQ7A?MV [X@j~Dy\AXba4jq Tm.a>IEXs 4JTTD3Z#x#kfN VN/"kuTF h @ }]h0#3.fN#G- &dnKx<6# W">N/<(+E4N4DMR|(jjLS`/icVK[Cw& _d5F:2_HZWGTiCYZ*A,T{w |nYR ~=S+2vUKa$ (Q~\>o}l RGpv ]1BoT|rc!a[&Q*7o$t<5^vhj0g&nENaQw]5^ "\5brT hI22ksh?'Nxpx@`^y*X4q Yf g"@ \ #8D!]R+CL001 E- 7hO_yLloi'":e\/;)d"riA9PFz;$~z9'UR| >dYX+T#.ps5!v|zfDTV'+q>QqL;/Q(gr2j"3&n~x,zy*|-WA l6g/O83-KQ`T?8 / /^eIP4utt>M@yu`5I&pxdmee2+\+Py;>}M.i~rYf!nc)?h&0f>~]'-Q~xn a;pG]t98bb8my|fA9v^n+_Mi^ 'u:X1i!J%,bm1(hJ>oEJ`;7k&J>OJbQh1akCCOOO#SST"w7qJ/H# p<.9~~lx:f@IM6[aCI=De,\rl[`wJeU59c]R5!^\}8t+Opot#M$#u1u%`_g0Ih GX#:3))VA*j+$vuv*,_%/'c;!fgewc_YSFfqsn8H!- c!?'*F[m]av.OnnS3ri2{ 8 v{]d,v&g_3:S*ctu_`[DTKD2SZLz/=~+HC~r^4Atoo Qz9\P2ahYac)Uw- x>=+-+Ri,?vve"*:H7c&D4T fx")*u]OB#hA/yFA<12_ORIRhPX!X.QtYy5 WxX4zlT=gzxd"8/r:X\h_ en7*c!hP{'(r$= W%c6*NrfY N:6cxo *4S^#1g~?}Px'1O;qBO cc W $#@^iF^>QR1 P6,1^}#Tp,u&S^c\]i2Pc9ES=:pA]Qbn:xb?V]bj:}2G/Zi_@o'20/#ux o