# Survival TECO

Below is a subset of commands for minimal useful editing with TECO, the venerable command-based, character-oriented text editor.

- Commands are executed by following them with the key sequence Esc Esc instead of Enter. An arbitrarily long sequence of commands can be entered and executed together.
- TECO doesn't file name arguments passed on the command line. Instead, after starting TECO you have to specify the input and/or output file with the commands ER, EW, or EB, then read the input file into the edit buffer with the command Y.
- TECO considers files containing form-feed characters (ASCII 0x0b, ^L) to be composed of multiple pages with each page consisting of the text between form-feed characters or the beginning or end of the file. TECO will only read into the buffer and edit one page at a time. To edit a multi-page file, complete editing on the first page then use the P command to save the page to the output file, reinitialize the buffer, and read the next page from the input file. Once a page has been saved with the P command, it may not be revisited except by saving the entire file and restarting the editing process from the beginning. Repeat the process until all necessary pages have been edited. The EX command automatically copies any unedited pages in the input file to the output file before exiting.

File I/O and Termination
EBfile Esc | Open file for Both input and output
ERfile Esc | Open file for Read-only (input)
EWfile Esc | Open file for Write-only (output)
Y | Initialize buffer and read from input file (one page)
P | Append buffer to output file, reinitialize buffer, read next Page from input file
EX | Write buffer to output file and EXit
^C ^C | Abandon buffer changes and exit
Movement
[n]C | Move one/n Character(s) forward
-[n]C [n]R | Move one/n Character(s) backward (Reverse)
[n]L | Move to beginning of first/nth following Line
-[n]L | Move to beginning of first/nth preceding Line
0L | Move to beginning of current line
:L | Move to end of current Line
[n]J | Jump to first/n+1 character in buffer
ZJ | Jump to end of buffer
Display
[n]T | Type from current position to end of current/n-1 following line(s)
0T | Type from beginning of line to curent position
-[n]T | Type one/n preceding line(s) and current line up to position
HT | Type whole buffer
Useful Combinations
0TT | Type current line (current position unchanged)
0LT | Type current line, moving position to beginning of line
Insertion
Itext Esc | Insert text at current position
Deletion
[n]D | Delete one/n character(s) after position
-[n]D | Delete one/n character(s) before position
[n]K | Delete from position through end of current/n-1 following line(s)
-[n]K | Delete one/n preceding lines to current position
0K | Delete from beginning of current line to position
:K | Delete from position to end of current line leaving end-of-line
HK | Delete whole buffer
Search/Replace
[n]Stext Esc | Search for next/nth occurrence of text
[n]FStext1 Esc text2 Esc | Replace next/nth occurrence of text1 with text2
Copy/Paste
[n]Xq | Copy from position through end of current/n-1 following line(s) to register q (single character A-Z, 0-9)
Gq | Insert text in register q into buffer at current position

## References

- Golden, V. Ellen. An Introduction to ITS for the MACSYMA User. Massachusetts Institute of Technology Laboratory for Computer Science Mathlab Group. 14 April 1981. <http://www.avanthar.com/~healyzh/_info_/its.primer> accessed 4 June 2010.
- TECO Pocket Guide. Digital Equipment Corporation. 1978. <http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html> accessed 4 June 2010.
- You can hack anything you want, with TECO and DDT.

Edited with | TECO

$Id: survival-teco.html,v 1.4 2010/06/12 09:44:01 papa Exp $