====== Survival TECO ====== **Version 2.0** You can perform useful editing with TECO, the venerable, line-noise-for-command-language Editor that Time Forgot, knowing just 3 rules and 16 commands. ===== Rules ===== - Pressing the Escape key (shown as **$** below -- **not** a dollar sign) twice executes typed commands instead of the Enter key. (A single **$** terminates string arguments for some commands.) - Commands don't have to be executed one-at-a-time. You can type a long series of commands then "**$ $**" and TECO will execute the commands in order. - TECO is character-oriented, so it remembers the character position of your current location in the file, called "**pointer**". Most commands display or change the file's contents at pointer, or move pointer to another location in the file. ===== Commands ===== | 1. | ER//file//**$**Y1 | Open //file// for input | 9. | J | Jump to beginning of file | | 2. | EW//file//**$**1 | Open //file// for output | 10. | ZJ | Jump to end of file | | 3. | EX | Save and exit | 11. | T3 | Type from pointer to end of line | | 4. | **^C ^C** | Exit (no save) | 12. | V | Type current line | | 5. | C2 | Move character forward | 13. | D2 | Delete character at pointer | | 6. | R2 | Move character backward | 14. | K3 | Delete current line | | 7. | L3 | Move to beginning of next line | 15. | S//text//**$** | Search for //text// | | 8. | I//text//**$** | Insert //text// | 16. | FS//text1//**$**//text2//**$** | Substitute //text2// for //text1// | | 1 | Some versions of TECO accept a file name as a command line argument, making 1. and 2. unnecessary. Some versions of TECO have a command EB//file//**$**Y that does the same as 1. and 2. in one step. | | 2 | Numeric prefix: move/delete multiple characters (negative reverses direction) | | 3 | Numeric prefix: move/type/delete multiple lines (negative reverses direction); (T, K only) prefix **H**: type/delete whole file | ===== TECO on SDF ===== * SDF cluster * TE is a port of the Ultrix version of TECO. It is actually a visual editor that displays file contents around pointer after commands′ are submitted, so you won't need to use type/display commands as much (TE automatic display sometimes gets a little wonky, so you occasionally need a T or a V as a last resort). * TE takes a file name as a command line argument, so you don't need ER/EW/EB commands. * ''TECOC'' is a port originally for VMS. There are four subcommands: ''make'', ''teco'', ''mung'', and ''inspect''. * TWENEX * TECO on the TOPS-20 system at twenex.org is one of the original implementations of the editor. No command line arguments, so read and write your file with commands ER and EW. And no wimpy visual stuff, so enter your own display commands if you can't remember where you left pointer. * Using TECO seems unnatural at first, but with a little effort invested in learning the basic commands above, it's quite useful and fun! Perhaps the ultimate retro editor. ===== Q-Registers Commands ===== This is for those use TECO as a programming language. Q-Registers are like registers in assembly, and have hold a string and a number at the same time. | 1. |nU//q// | Save number //n// to register //q// | 2. |n//%q// | Increment //q// by //n//, default is 1 | | 3. | %%^%%U//q//''string''**$** | Save string to //q//, the original content would be lost | 4. |:%%^%%U//q//''string''**$** | Append string to //q// | | 5. |Q//q// | Fetch the number from register | 6. |nQ//q// | ASCII value of (n+1)th character in the string | | 7. |G//q// | Copy the register string into buffer | 8. |:G//q// | Print the register string | ---- The previous version of this tutorial is available [[survival_teco|here]]. //"You can hack anything you want with TECO ..."// [[http://sdf.org/?tutorials/survival-teco-2.0|Survival TECO, Version 2.0]] - traditional link (using [[wp>Revision_Control_System|RCS]])