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.
1. | ERfile$Y1 | Open file for input | 9. | J | Jump to beginning of file |
2. | EWfile$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. | Stext$ | Search for text |
8. | Itext$ | Insert text | 16. | FStext1$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 EBfile$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 |
TECOC
is a port originally for VMS. There are four subcommands: make
, teco
, mung
, and inspect
.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. | nUq | Save number n to register q | 2. | n%q | Increment q by n, default is 1 |
3. | ^Uqstring $ | Save string to q, the original content would be lost | 4. | :^Uqstring $ | Append string to q |
5. | Fetch the number from register | 6. | nQq | ASCII value of (n+1)th character in the string | |
7. | Gq | Copy the register string into buffer | 8. | :Gq | Print the register string |
The previous version of this tutorial is available here.
“You can hack anything you want with TECO …”
Survival TECO, Version 2.0 - traditional link (using RCS)