How are EDMACS and Vtedit different? Both are screen editing packages written in TECO. The first difference between the two is that Vtedit is designed as an editing macro to be called from TECO, whereas EDMACS is designed to a complete standalone editor. Since many Vtedit users had unintentionally found themselves in TECO, Great pains were taken while writing EDMACS to keep the user insulated from TECO. Commands that Deal with single characters. Vtedit and Edmacs both carry over a relic from TECO: namely that lines are separated by a Carriage return/ Linefeed combination. Vtedit requires two character motion commands to cross from the beginning of a line to the end of the previous line (or vice versa). The same is true for rubout. It is necessary for the Vtedit user to type rubout twice to join lines; once to eliminate the linefeed, and the other to eliminate the carriage return. If he only uses one, very strange screen behavior will occur. Vtedit provides a 'seeall' mode to help correct the problems this causes. EDMACS provides a natural approach to carriage return/ linefeed pairs. They are treated as a single character. To move from the end of a line to the beginning of the next is a single command. EDMACS will not permit you to get caught between a carriage return and linefeed. Commands that deal with words EDMACS tries to use the same keys for dealing with words that it does with letters. For example, ESCAPE T is twiddle words because CONTROL T is twiddle letters ESCAPE F is forward word because CONTROL F is forward letter ESCAPE D is delete word because CONTROL D is delete letter etc... Most of the commands that deal with words are ESCAPE something or other. To force a word UPPERCASE, you would type ESCAPE U. VTEDIT requires one to be more sure of what he is doing before he does it than EDMACS. All of the file handling commands (and some others that you would not want to hit by accident) are preceded by CONTROL X. Edmacs prompts you for confirmation in many places, and allows you to cancel any prompting command (except for HELP SCREEN) with CONTROL G. You are always asked for confirmation before an exit/save or before switching files. Searches EDMACS and Vtedit both have forward, reverse and repeat searches. Vtedit's reverse search is accomplished via a negative argument. EDMACS has punctuation searches: press ESCAPE followed by one of several punctuation characters to be moved to the next (or last) occurrence of that character. For example, "Escape ;" positions you just after the next semicolon. EDMACS provides a replace command with special features. Called 'Query Replace' it can either replace all occurrences of one string with another, ask you about each one it finds whether or not to replace it, or a combination of both. Vtedit has two types of 'cross page' search which EDMACS does not. Executing TECO commands VTEDIT allows you to enter and execute a teco command while in VTEDIT EDMACS provides a 4 line window into teco in which you may prepare (using EDMACS editing commands) a command for execution. Adding New commands Vtedit provides the ability to remember a sequence of keystrokes to be reexecuted. Only one sequence can be remembered at a time. EDMACS allows you to interactively BIND any number of TECO macros to arbitrary keystrokes. These macros can be created while in EDMACS or in your EDMACS init file. User Initialization Vtedit allows the user to set a few parameters in his TECO.INI file. EDMACS allows the user to define new commands in his init file, and bind them to any control keys, ESCAPE codes, or function keys he wishes to. All existing commands with the exception of the C-X commands may be redefined to use whatever keys he wants for them. To enter Vtedit: TECO/VT filename.ext To Enter EDMACS: MU [44,12]EDMACS filename.ext If you have a TECO.TEC file that knows about EDMACS, then you can start EDMACS with: TECO/E filename.ext You can get a copy of this file by saying: PIP TECO.TEC=[44,12]TECO.TEC Another main difference is with the commands used to deal with single characters at the beginning of a line. EDMACS treats a CR/LF pair as though it were a single character, while Vtedit treats it as two. So in EDMACS, you only need one rubout to properly join two lines. If you only use one in Vtedit, the display becomes very confusing. EDMACS prevents you from getting caught between carriage return and linefeed. Command EDMACS Vtedit Help Screen ESC H SPACE ESC H Single Command HELP ESC H I ----- Forward Character C-F F4 Forward Word ESC F C-F Back Character C-B F3 Back Word ESC B C-R Next Line C-N F2 Previous Line C-P F1 Start of Line C-A ESC B Start of Sentence ESC A ---- End of Line C-E Backspace End of Sentence ESC E ---- Start of Buffer ESC < ESC G End of Buffer ESC > ESC Z Start of Next Line C-N C-A ESC D Start of Previous Line C-P C-A ESC U Rub out Character RUBOUT RUB OUT Rub out Word ESC RUBOUT C-B Delete Character C-D ESC K Delete Word ESC D ESC C-B Kill to end of line C-K C-D Kill to start of line ESC 0 C-K C-U Kill entire line C-A C-K C-K Transpose Characters C-T ---- Transpose Words ESC T ---- Transpose Lines ESC C-T ---- Uppercase word (LIKE THIS) ESC U ---- Lowercase word (like this) ESC L ---- Capitalize word (Like This) ESC C ---- Center Line ESC S ---- View Next Screen C-V ESC F2 View Previous Screen ESC V ESC F1 Search Forward C-Z ESC E Search Reverse C-R ???? Multi Teco-Page Search ---- C-N Destructive Search ____ ESC C-N Search Again ESC Z ESC S Search for open parenthesis ESC ( ---- Search for close parenthesis ESC ) ---- Search for colon ESC : ---- Search for semicolon ESC ; ---- Search for comma ESC , ---- Search for period ESC . ---- Search for other special characters can be specified in EDM.INI Query REPLACE ESC C-R ---- Set Left Margin ---- n ESC M Return with indent to match LineFeed that of last non empty line Set Mark C-/ ESC V ESC SPACE Wipe Marked Region C-W ESC P ESC \ Nondestructive Wipe of marked region ESC W ESC P Yank saved Text C-Y ESC R Open Line ----- ESC O Insert Q-Register text ---- C-G q Load Q-Register ---- C-X:q Transfer text to Reg ---- C-T:q Insert ASCII value ---- ESC I Quote next char ESC Q char ---- Insert ascii char ---- ESC value ESC Advance Page C-X C-P ESC W Append Page C-X C-A ESC C-A Append Page with formfeeds ---- C-A Yank Page C-X C-Y C-Y Inhibit Yank Protection ---- ESC C-Y Enable Yank Protection ---- ESC 0 C-Y Bind Macro to Keystroke C-X # ------ Execute Macro any keystroke C-E q Repeat Macro ESC n " " ESC n ESC E q Window into TECO ESC ESC ---- Allows preparing a teco command with the editing chars of EDMACS. The novice user is protected against accidental use of this command. Teco Command prompt ---- ESC Q Similar to "Window into TECO", but the only editing characters are Rubout and C-U. Re-execute TECO Command ESC $ ESC ESC Start/End Learning Mode ---- ESC L Execute Learned Sequence ---- ESC X ReDraw Screen C-L C-W Set Cursor Line ---- n C-W See-All Mode ---- C-V Set Terminal ---- n C-V Screen Holding Mode ---- ESC C-V Word Delimiters ---- ESC T Get Next Word ---- ESC N Exit to TECO c-x Q C-C or C-Z Exit and Save c-x C-Z ESC C-Z Exit no save: ESC C-X C-Z ESC C-Z Save and reedit: c-x C-V y CR ESC F Intermediate Save c-x C-W ESC 1 ESC F Marked exit ---- ESC 0 ESC F Find Marked Position ---- ESC - ESC F Back Over Last Operation ---- ESC J