====== 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 ^^
| EB//file//**Esc** | Open //file// for **B**oth input and output |
| ER//file//**Esc** | Open //file// for **R**ead-only (input) |
| EW//file//**Esc** | Open //file// for **W**rite-only (output) |
| Y | Initialize buffer and read from input file (one page) |
| P | Append buffer to output file, reinitialize buffer, read next **P**age from input file |
| EX | Write buffer to output file and **EX**it |
| **^C ^C** | Abandon buffer changes and exit |
^ Movement ^^
| [//n//]C | Move one///n// **C**haracter(s) forward |
| -[//n//]C\\ [//n//]R | Move one///n// **C**haracter(s) backward (**R**everse) |
| [//n//]L | Move to beginning of first///n//th following **L**ine |
| -[//n//]L | Move to beginning of first///n//th preceding **L**ine |
| 0L | Move to beginning of current line |
| :L | Move to end of current **L**ine |
| [//n//]J | **J**ump to first///n//+1 character in buffer |
| ZJ | **J**ump to end of buffer |
^ Display ^^
| [//n//]T | **T**ype from current position to end of current///n//-1 following line(s) |
| 0T | **T**ype from beginning of line to curent position |
| -[//n//]T | **T**ype one///n// preceding line(s) and current line up to position |
| HT | **T**ype whole buffer |
^ Useful Combinations ^^
| 0TT | Type current line (current position unchanged) |
| 0LT | Type current line, moving position to beginning of line |
^ Insertion ^^
| I//text//**Esc** | **I**nsert //text// at current position |
^ Deletion ^^
| [//n//]D | **D**elete one///n// character(s) after position |
| -[//n//]D | **D**elete 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//]S//text//**Esc** | **S**earch for next///n//th occurrence of //text// |
| [//n//]FS//text1//**Esc**//text2//**Esc** | Replace next///n//th occurrence of //text1// with //text2// |
^ Copy/Paste ^^
| [//n//]X//q// | Copy from position through end of current///n//-1 following line(s) to register //q// (single character A-Z, 0-9) |
| G//q// | Insert text in register //q// into buffer at current position |

===== References =====

  * [[http://www.avanthar.com/~healyzh/_info_/its.primer|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.]]
  * [[http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html|TECO Pocket Guide. Digital Equipment Corporation. 1978. <http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html> accessed 4 June 2010.]]
  * [[http://www.hactrn.net/sra/alice/alices.pdp10|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 $