VTECO - A TECO for Video Terminals VTECO is a version of TECO with additional features to make use of the VT52 display terminal. It consists of a VT52 display driver routine (contained in the module SCREEN) and the TECO macro VT52.TEC. Together they implement an interactive keypad editor. The keys on the VT52 keypad are used for such functions as cursor movement, character deletion and space expansion, and the delimiting of search strings and TECO commands. Most char- acters, when typed on the keyboard, are simply inserted into the text buffer at the current cursor position. The terminal screen is continuously maintained as a display of the text buffer around the cursor. The module SCREEN is the display driver. It is called with the -1^W TECO command to refresh the display. Since it makes ex- tensive use of the VT52 features, it will only work with that terminal. The initialization code in TECO sets the 2 bit and the 512 bit in the ET flag to indicate the presence of a VT52. Setting these bits depends on the user's terminal characteristics (and the system function that reads them). If the terminal char- acteristics are set wrong (i.e., not CRT and 80 byte or greater line width), one may force the necessary ET bits on after TECO has been started. The TECO macro contained in VT52.TEC implements the func- tions of the keypad editor. Executing the TECO command EIVT52$$ causes the macro to be loaded into Q-register I. Executing Q-register I then starts the macro, operating on whatever text is in the buffer. Starting the macro with an argument of -1 (i.e., -1MI$$) causes the macro to display a picture of the keypad with descriptions of the functions. Needless to say, VTECO is more demanding on system resources than conventional TECO. The screen driver and its buffer add about 1700 words to the size of TECO, and executing the macro uses a substantial amount of CPU time. It will run well on a single user system, but may well be too soggy to use on a loaded multi-user system. PAGE 2 Keypad layout Other keys _________________________________________ | "BLUE" | "RED" | "GREY" | "^" | CTRL/C Exit from macro | Save | TECO | Unsave | Up in | CTRL/D Kill rest of line* | text* | command | text | column* | CTRL/K Kill line* |_________|_________|_________|_________| CTRL/U Kill start of line | "7" | "8" | "9" | "v" | CTRL/W Set cursor line* | Open | Page* | Quote | Down in | CTRL/Z Exit from macro | line* | | next* | column* | BK SP Go to end of line* |_________|_________|_________|_________| DELETE Delete previous* | "4" | "5" | "6" | ">" | 2 ESC's Repeat TECO command | Up | Delete* | Delete | Cursor | | line* |Character| last | right* | Arguments |_________|_________|_________|_________| | "1" | "2" | "3" | "<" | All starred (*) commands | Top | Bottom | Start | Cursor | optionally take an argument | of page*| of page | of line | left* | entered as [-] |_________|_________|_________|_________| | "0" | "." | "ENTER" | | Down line* | Search* | Search | | | |argument*| |___________________|_________|_________| Notes: "Save text" (blue key): Initial pressing of this key copies the current line into the save buffer and advances one line. Subsequent pressing of the key appends additional lines into the buffer, until any other key is pressed. "TECO command" (red key): The macro clears a line of the display and prompts for a TECO command, which is terminated with the usual double alt mode. Searches: Pressing the "ENTER" key prompts for a search string; pressing the "." key terminates the string and initiates the search. Pressing "." again causes the string last entered to be searched again.