*----------------------------------------* => | Interactive Command Editor for VAX/VMS | <= *----------------------------------------* | IIIII | | III CCCC EEEE | | III C C E E | | III * C * EEEEE | | III C E | | III C C E E | | IIIII CCCC EEEE | *----------------------------------------* => | Interactive Command Editor for VAX/VMS | <= *----------------------------------------* Page 2 |I|c|e| Interactive Command Editor USERS GUIDE Release 1.0 Copyright (c) 1982, Western Electric Co. |I|c|e| Users Guide (Release 1.0) Page 3 |I|c|e| - Interactive Command Editor USERS GUIDE Release 1.0 November 30th, 1982 Copyright (c) 1982, Western Electric Co. This will introduce you to ICE, the Interactive Command Editor for the VAX/VMS operating system. A command editor is basically a convenience feature for a VAX/VMS user. It "remembers" commands that are issued by that user to the operating system and allows him to recall them again for re-submittal (with optional modification) to DCL. There are four (4) types of commands that ICE will act upon. These fall into one of the categories below: o Regular DCL commands to VMS o ICE commands to recall previous DCL command lines o ICE commands to EDIT recalled DCL command lines o ICE commands to EXIT from ICE or get ON-LINE assistance Normal "DCL-type" commands are passed straight to DCL, after being saved by ICE for future recall. The only significant differences a user will notice between ICE and DCL are: 1. Since ICE is run from a command file, DCL will not prompt for missing values or parameters. 2. When running ICE, users cannot use either the CONTINUE or DEBUG commands. 3. Continuation line support is handled slightly differently under ICE. (Actually, better than DCL does.) 4. On a "BUSY" system, the user may notice a slight delay in the return of the DCL-style prompt after a command is processed. ICE STACK MANIPULATION COMMANDS There are four commands that ICE recognizes to allow a user to recall previously executed DCL commands: These are CTRL/A, CTRL/B, CTRL/E and . These commands allow a user to examine the contents of his saved command "stack" (CTRL/E); move either up or down the stack to recall a particular command (CTRL/A or CTRL/B); or recall the most recent command (). These commands will work AT ANY POINT in ICE, either |I|c|e| Users Guide (Release 1.0) Page 4 at the command prompt or in EDIT mode. Note that the users stack WRAPS AROUND; i.e., when he reaches either the top or bottom of the stack, the stack pointer (shown by ">") will "wrap around" to the other end. This allows quick traversing from top to bottom or vice versa. The key has a dual function. It serves to immediately recall the last executed command and as such may be the most frequently used ICE command. It is a TOGGLE command; the next time a user presses he will be returned to the DCL-style prompt. In that way, allows a user to ESCAPE from the EDIT mode of ICE (this can also be accomplished with CTRL/C or CTRL/Y). The first time ICE is run, there will probably not be any saved DCL commands (unless a previous saved commands file exists). If a user tries any of the recall commands he will be alerted with a BELL to remind him there arent any yet! ICE EDITING COMMANDS There are six commands that ICE recognizes for editing recalled DCL commands: These are , , , CTRL/D, CTRL/W, and CTRL/F. They allow a user to move backward over the command line (); delete characters to the left of the cursor position (); delete words to the left of the cursor position (); delete characters directly under the cursor (CTRL/D); delete words to the right of the cursor position (CTRL/W); and move forward over the command line (CTRL/F). CTRL/R support also works in EDIT mode; it will re-type the current line (with all editing in tact) should it become disturbed due to line noise or terminal output from other processes. These commands allow ICE to behave much like a screen editor (with a screen size of ONE LINE!). Anyone who has used screen editors like EDT, KED, VTEDIT etc. will feel right at home with ICE. The best way to learn the editing commands is just to TRY THEM OUT. These commands ONLY work when ICE is in EDIT mode, i.e., after a recalled command has been selected with , CTRL/A or CTRL/B. ICE MISCELLANEOUS COMMANDS There are two commands under this category: These commands are STOP (or EXIT) and "?" (followed by a ). |I|c|e| Users Guide (Release 1.0) Page 5 They allow a user to EXIT from ICE and return to DCL or to obtain a quick ON-LINE summary of ICE commands. THEORY OF OPERATION ICE runs much as any regular image does within the users process context, that is it is invoked by the command line interpreter (DCL). It presents the user with a transparent interface to DCL, reading and parsing command lines, saving them internally and finally sending them to DCL for final processing by the VMS operating system. The BIG difference is that it allows a user to RECALL and EDIT any of up to 22 previous DCL commands! Since DCL is single-threaded, i.e, it only allows a single image to run per process (exclusive of sub-processes), the control of ICE is from within a command file. The flow of ICE is basically: o The command "ICE" invokes ICEDITOR.COM ... o ICEDITOR.COM runs ICE.EXE ... o ICE.EXE accepts, parses, saves and sends a user command to DCL ... o (The above includes optional RECALL and EDITING) o DCL executes the users command and returns control to ICEDITOR.COM ... o ICEDITOR.COM re-runs ICE.EXE ... o (This process is repeated until the user either logs off or types "STOP" to return to DCL) ICE saves up to 22 DCL commands in a direct access file (SYS$LOGIN:COMMANDS.ICE) After 22 commands have been stored, the "STACK" wraps around beginning at the oldest command. This way, ICE users will always have the latest 22 unique DCL commands at their fingertips. ICE is smart enough not to save DCL commands that are already on its "STACK". See the RELEASE notes for details on this feature. ICE works on any DEC-compatible terminal (VT52 or VT100 series), even without a KEYPAD. |I|c|e| Users Guide (Release 1.0) Page 6 EXAMPLE SESSION The example session below illustrates the type of thing you can do using ICE: Command Line Comment User Action ------------ ------- ----------- $ Type DRA1:[JONES]login.cm (User wants to type Press RETURN a file) %TYPE-W-OPENIN, file not found (User gets an error) Press to retrieve the command. $ Type DRA1:[JONES]login.cm (Command is recalled) Command can now be edited.. Press to $ Type DRA1:[JONES]login.c (The "m" was deleted) delete the bad character. $ Type DRA1:[JONES]login.com (Correct characters Now add the "om" are now added) characters and press $ (The contents of login.com to re-submit the are now typed.... command to DCL. $ (User wants to see Press CTRL/E the saved commands) (screen cleared) Saved DCL commands (currently at >) > Type DRA1:[JONES]login.com (Saved commands are displayed. The ">" directory/full shows the CURRENT command position on the systat "STACK", i.e. that command that will be recalled with the key. The user can move up and down the stack with CTRL/A or CTRL/B to select other previously issued DCL commands for editing or re-submittal. The RELEASE notes can be found in USR:ICEBEWARE.BWR. Read this for tips on installation and information on special features and restrictions of ICE. Stuart Renes Manard Stewart Western Electric Co.