mirror of
https://github.com/PDP-10/its.git
synced 2026-05-05 15:44:10 +00:00
TECO documentation.
This commit is contained in:
@@ -6,6 +6,8 @@
|
|||||||
[colon commands](_info_/ddt.:cmnds)
|
[colon commands](_info_/ddt.:cmnds)
|
||||||
- MIDAS: [manual](info/midas.25)
|
- MIDAS: [manual](info/midas.25)
|
||||||
- DUMP: [manual](_info_/dump.info), [format](sysdoc/dump.format)
|
- DUMP: [manual](_info_/dump.info), [format](sysdoc/dump.format)
|
||||||
|
- TECO: [primer](_teco_/teco.primer), [manual](info/tecman.20),
|
||||||
|
[commands](_teco_/tecord.1132)
|
||||||
|
|
||||||
### DDT cheat sheet for Unix users
|
### DDT cheat sheet for Unix users
|
||||||
|
|
||||||
|
|||||||
344
doc/_teco_/teco.primer
Executable file
344
doc/_teco_/teco.primer
Executable file
@@ -0,0 +1,344 @@
|
|||||||
|
AN ANNOTATED OUTLINE OF TECO COMMANDS
|
||||||
|
*************************************
|
||||||
|
|
||||||
|
|
||||||
|
META-NOTATION
|
||||||
|
=============
|
||||||
|
|x Denotes the single character, control-x.
|
||||||
|
| Used alone to denote alternation.
|
||||||
|
m | n | arg Integer arguments.
|
||||||
|
string String argument.
|
||||||
|
cmd A command string.
|
||||||
|
$ Denotes the character altmode unless mentioned otherwise.
|
||||||
|
k Denotes either "m,n", or "n"; a text range of characters m through
|
||||||
|
n, or n lines.
|
||||||
|
file Denotes a file name pair, e.g., "FOO BAR".
|
||||||
|
dir Denotes a device and directory specification, e.g., "DSK: USERS;".
|
||||||
|
|
||||||
|
|
||||||
|
SPECIAL CHARACTERS
|
||||||
|
==================
|
||||||
|
|G Quit to TECO top-level; cancels partial command line.
|
||||||
|
|Z Interrupt to DDT.
|
||||||
|
altmode Terminates text argument; two successive altmodes terminate
|
||||||
|
command string.
|
||||||
|
rubout Deletes last character typed in.
|
||||||
|
|
||||||
|
QUOTE
|
||||||
|
-----
|
||||||
|
|Q Quote next character.
|
||||||
|
|
||||||
|
MODIFIERS
|
||||||
|
---------
|
||||||
|
: | ^ Prefix to certain commands, modifies them.
|
||||||
|
|
||||||
|
LOGICAL CONNECTIVES
|
||||||
|
-------------------
|
||||||
|
& Logical and, an arithmetic operator.
|
||||||
|
# Inclusive or, an arithmetic operator.
|
||||||
|
|A Exclusive or, an arithmetic operator.
|
||||||
|
|
||||||
|
ARITHMETIC
|
||||||
|
----------
|
||||||
|
0-9 Digits: xxxx is interpreted in base FS IBASE$ (10)
|
||||||
|
xxxx. is interpreted in base FS I.BASE$ (8)
|
||||||
|
+ Addition, an arithmetic operator.
|
||||||
|
space Same as "+", except that space, by itself, is not a non-null arg.
|
||||||
|
- Subtraction, an arithmetic operator.
|
||||||
|
* Multiplication, an arithmetic operator(with no operator precedence).
|
||||||
|
/ Division, an arithmetic operator(with no operator precedence).
|
||||||
|
( | ) Parentheses, grouping in arithmetic expressions.
|
||||||
|
|
||||||
|
ARGUMENT SEPARATOR
|
||||||
|
------------------
|
||||||
|
, Separates numerical arguments.
|
||||||
|
|
||||||
|
|
||||||
|
THE BUFFER
|
||||||
|
==========
|
||||||
|
. Value is number of char to left of pointer.
|
||||||
|
Z Value is number of char in buffer*.
|
||||||
|
H Equivalent to "B,Z", i.e., specifies whole buffer*.
|
||||||
|
B Value is 0, i.e., beginning of buffer*.
|
||||||
|
*Meaning is modified by use of virtual boundaries.
|
||||||
|
|
||||||
|
INSERTING
|
||||||
|
---------
|
||||||
|
Istring$ Insert string in buffer to left of pointer.
|
||||||
|
^Ixstringx Insert string delimited by char x to left of pointer.
|
||||||
|
nI Insert the char with ASCII code n.
|
||||||
|
m,nI Insert m copies of the char with code n.
|
||||||
|
tab Horizontal tab, self-inserting character.
|
||||||
|
backspace Backspace, self-inserting character.
|
||||||
|
n\ Insert printed representation of n (in base ..E).
|
||||||
|
|^ Value = ASCII code of next char in cmd.
|
||||||
|
FI Read one char from TTY and return its ASCII code as value.
|
||||||
|
|
||||||
|
ASCII
|
||||||
|
-----
|
||||||
|
mA Value = ASCII code of char m positions to right of ptr.
|
||||||
|
0A => char to immediate left of ptr.
|
||||||
|
|
||||||
|
UPPER-CASE/LOWER-CASE
|
||||||
|
---------------------
|
||||||
|
F$ Controls case conversion on input/output ($ => dollar).
|
||||||
|
kFC Convert text range k to lower-case.
|
||||||
|
|
||||||
|
MOVING AROUND
|
||||||
|
-------------
|
||||||
|
|
||||||
|
ABSOLUTE POSITION
|
||||||
|
-----------------
|
||||||
|
mJ Position ptr to after m-th char in buffer.
|
||||||
|
|
||||||
|
RELATIVE CHARACTER POSITION
|
||||||
|
---------------------------
|
||||||
|
mR Move ptr left m char; R => 1R, -mR => mC.
|
||||||
|
m:R Same as mR but returns -1(move OK) or 0(if move would cause an error).
|
||||||
|
mC Move ptr right m char; C => 1C.
|
||||||
|
m:C Returns value like m:R.
|
||||||
|
\ Move ptr right over number, return number's value.
|
||||||
|
|
||||||
|
LINE POSITION
|
||||||
|
-------------
|
||||||
|
mL Move ptr to beginning of m-th line after current position;
|
||||||
|
0L => beginning of current line.
|
||||||
|
m,nL Same as m+n-.J, used by FW, etc.
|
||||||
|
m:L Do mL, then backup over CR-LF; :l => end of current line.
|
||||||
|
|
||||||
|
WORD POSITION
|
||||||
|
-------------
|
||||||
|
nFW Returns ".,m", a buffer range where m is the position immediately after
|
||||||
|
the n-th word(contiguous string of non-delimiters; see ..D, the delimiter
|
||||||
|
dispatch table).
|
||||||
|
-nFW Returns "m,.", the range to the left.
|
||||||
|
n:FW Same as FW, but stops before the n-th word; i.e., n:FWL = nFWL-FWL.
|
||||||
|
n^FW Same as FW, but finds LISP atoms, not words.
|
||||||
|
nFWL Do an nFW, yielding ".,m", move to m (=m+.-.J).
|
||||||
|
nFWR Same as nFWL.
|
||||||
|
|
||||||
|
LIST POSITION
|
||||||
|
-------------
|
||||||
|
nFL Returns ".,m", where m is the position immediately after the
|
||||||
|
n-th list to the right.
|
||||||
|
-nFL Returns "m,.", the range to the left.
|
||||||
|
n^FL Same as nFL, but finds S-expressions, not lists.
|
||||||
|
nFU Returns ".,m", where m is the position immediately after the n-th
|
||||||
|
level up in parentheses to the right.
|
||||||
|
-nFU Same as nFU, but returns "m,.", and works to the left.
|
||||||
|
nFD Returns ".,m", where m is the position immediately after the n-th
|
||||||
|
level down in parentheses to the right.
|
||||||
|
-nFD Same as nFD, but returns "m,.", and works to the left.
|
||||||
|
nFLL Does nFL, yielding ".,m", moves to m.
|
||||||
|
nFLR Same as nFLL.
|
||||||
|
|
||||||
|
DELETING
|
||||||
|
--------
|
||||||
|
|
||||||
|
ABSOLUTE POSITION
|
||||||
|
-----------------
|
||||||
|
m,nK Kill chars in the range m,n. Move ptr there.
|
||||||
|
|
||||||
|
CHARACTER
|
||||||
|
---------
|
||||||
|
nD Delete n chars to right of ptr.
|
||||||
|
-nD Delete n chars to left of ptr.
|
||||||
|
|
||||||
|
LINE
|
||||||
|
----
|
||||||
|
nK Kill chars from . to position nL would have moved to.
|
||||||
|
K => 1K, kill to beginning of next line.
|
||||||
|
n:K Kill chars from . to position n:L would have moved to.
|
||||||
|
:K => 1:K, kill to end of current line.
|
||||||
|
|
||||||
|
WORD
|
||||||
|
----
|
||||||
|
nFWK Do an nFW returning ".,m"; kill chars in this range.
|
||||||
|
nFWD Same as nFWK.
|
||||||
|
|
||||||
|
LIST
|
||||||
|
----
|
||||||
|
nFLK Do an nFL returning ".,m"; kill chars in this range.
|
||||||
|
nFLD Same as nFLK.
|
||||||
|
|
||||||
|
|
||||||
|
TYPE-OUT
|
||||||
|
========
|
||||||
|
kT Type out text in range k (n lines or m,n chars).
|
||||||
|
kV Display text in range k on CRT.
|
||||||
|
FTstring$ Types its string argument.
|
||||||
|
FVstring$ Displays its string argument.
|
||||||
|
kVW Does kV, then waits for TTY input of one char whose ASCII code
|
||||||
|
is returned as value.
|
||||||
|
k= Types out k ("n" or "m,n") in current output radix(in ..E).
|
||||||
|
|
||||||
|
|
||||||
|
SEARCH
|
||||||
|
======
|
||||||
|
nSstring$ Find n-th occurrence of string searching forward and position ptr after it.
|
||||||
|
-nSstring$ Same as nSstring$, but search backward and position ptr before n-th string.
|
||||||
|
n^Sxstringx Same as nSstring, where string is delimited by any char x.
|
||||||
|
n:Sstring$ Same as nSstring$, but returns value = -n if successful, 0 if not.
|
||||||
|
Special chars in string:
|
||||||
|
|B Matches any delimiter(see ..D).
|
||||||
|
|Nx Matches any char but x.
|
||||||
|
|O Divides string into alternate patterns.
|
||||||
|
|Qx Quotes x.
|
||||||
|
|X Matches any char.
|
||||||
|
nNstring$ Same as nSstring$, but does P if end of buffer is reached.
|
||||||
|
n_string$ Same as nSstring$, but does Y if end of buffer is reached.
|
||||||
|
kFBstring$ Same as Sstring$ in the search domain defined by k; for k = m,n where
|
||||||
|
m>n, search backwards; ":" and "^" modifiers work.
|
||||||
|
FK Returns value = - FS INSLEN$ = - length of last string inserted, or found
|
||||||
|
by search or FW. FK < 0 except for backward search or FW.
|
||||||
|
|
||||||
|
|
||||||
|
SORT
|
||||||
|
====
|
||||||
|
|Pcmd0$cmd1$cmd2$ ASCII sort command, with the following algorithm:
|
||||||
|
Move ptr to start of buffer;
|
||||||
|
..0 := cmd0; ..1 := cmd1; ..2 := cmd2;
|
||||||
|
Iterate:
|
||||||
|
Ptr is at start of next record;
|
||||||
|
Cmd0 moves ptr to start of key;
|
||||||
|
Cmd1 moves ptr to end of key;
|
||||||
|
Cmd2 moves ptr to end of record;
|
||||||
|
Do a sort of records based on keys;
|
||||||
|
Notes: Dollar signs in the cmdi are replaced by altmodes.
|
||||||
|
If FS ^P CASE$ .NEQ. 0, then |P ignores case.
|
||||||
|
|
||||||
|
|
||||||
|
FILES
|
||||||
|
=====
|
||||||
|
|
||||||
|
DIRECTORIES
|
||||||
|
-----------
|
||||||
|
ETfile$ Set default filenames to file.
|
||||||
|
EL Type out listing of default directory.
|
||||||
|
EYdir$ Same as EL, but with specified device and sname.
|
||||||
|
EM Insert listing of default directory in buffer.
|
||||||
|
EZdir$ Same as EM, but with specified device and sname.
|
||||||
|
|
||||||
|
OPEN READ
|
||||||
|
---------
|
||||||
|
ERfile$ Opens file for input.
|
||||||
|
EPfile$ Does ERfile$, then bigprints filename twice on device open for writing.
|
||||||
|
|
||||||
|
OPEN WRITE
|
||||||
|
----------
|
||||||
|
EI Open a file "_TECO_ OUTPUT" for writing on default device and sname.
|
||||||
|
0EI Same as EI, but sets default device to DSK:.
|
||||||
|
:EI Same as EI, but uses current filename defaults rather than "_TECO_ OUTPUT".
|
||||||
|
EWdir$ Same as EI, but with specified device and sname.
|
||||||
|
:EW dir file$ Same as EW, but also with specified filenames.
|
||||||
|
|
||||||
|
INPUT
|
||||||
|
-----
|
||||||
|
Y Kills the buffer; inserts one page from current input file into buffer.
|
||||||
|
^Y Kills the buffer; yanks the entire input file into buffer.
|
||||||
|
A Append next page of input file to buffer (no arg allowed).
|
||||||
|
n:A Append n lines or up to page boundary of input file to buffer.
|
||||||
|
^A Append all of input file, and close file.
|
||||||
|
nP Output buffer and "|L", kill buffer, read one page from input file;
|
||||||
|
all done n times.
|
||||||
|
|
||||||
|
OUTPUT
|
||||||
|
------
|
||||||
|
nP See description above under input.
|
||||||
|
m,nP Output specified range of buffer, but do not clear it or input.
|
||||||
|
nPW Output buffer and "|L", but do not clear it or input; done n times.
|
||||||
|
EEfile$ Same as "infinityP EFfile$ EC".
|
||||||
|
|
||||||
|
CLOSE
|
||||||
|
-----
|
||||||
|
EFfile$ Close the output file and change its name to "file".
|
||||||
|
EC Close the input file.
|
||||||
|
|
||||||
|
DELETE
|
||||||
|
------
|
||||||
|
EDfile$ Delete the file.
|
||||||
|
|
||||||
|
COPY
|
||||||
|
----
|
||||||
|
E_old$new$ Make a copy of file "old" and name it "new".
|
||||||
|
|
||||||
|
LINK
|
||||||
|
----
|
||||||
|
EQfrom$to$ Create a link named "from" pointing to the file "to".
|
||||||
|
|
||||||
|
RENAME
|
||||||
|
------
|
||||||
|
ENold$new$ Rename the file "old" to have name "new".
|
||||||
|
|
||||||
|
|
||||||
|
Q-REGISTERS
|
||||||
|
===========
|
||||||
|
:Iqstring$ Insert string into Q-reg q, replacing prior contents.
|
||||||
|
n:Iq Insert char with ASCII code n into Q-reg q, replacing prior contents.
|
||||||
|
^:Iqxstringx Same as :Iqstring$, where string is delimited by any char x.
|
||||||
|
m,n:Iq Same as n:Iq, but inserts m copies of char.
|
||||||
|
nUq Inserts number n in Q-reg q; returns no value.
|
||||||
|
m,nUq Inserts number n in Q-reg q; returns m.
|
||||||
|
kXq Inserts text range k into Q-reg q, replacing prior contents.
|
||||||
|
k^Xq Same as kXq, but appends text to q's contents.
|
||||||
|
kFXq Same as X and K combined, i.e., "kXq kK".
|
||||||
|
nFWXq Combines nFW with Xq.
|
||||||
|
nFLXq Combines nFL with Xq.
|
||||||
|
Gq Inserts text (or decimal representation of number) from Q-reg q into buffer.
|
||||||
|
FS INSLEN$ is set to length of inserted string.
|
||||||
|
%q Increments numeric contents of Q-reg q and returns result.
|
||||||
|
[q Push text or number from Q-reg q onto Q-reg push-down list.
|
||||||
|
]q Pop text or number from Q-reg push-down list into Q-reg q.
|
||||||
|
FQq Value = number of char in Q-reg q or -1 if a number.
|
||||||
|
|
||||||
|
|
||||||
|
MACROS
|
||||||
|
======
|
||||||
|
|
||||||
|
EXECUTE
|
||||||
|
-------
|
||||||
|
m,nMqstring$ Execute string or buffer contents of Q-reg q as a TECO command. If q
|
||||||
|
contains a number, execute the corresponding |R-mode character.
|
||||||
|
|
||||||
|
ARGUMENTS
|
||||||
|
---------
|
||||||
|
|X Value is m, first arg to m,nMq. Only used inside macros.
|
||||||
|
|Y Value is n, second arg to m,nMq (or only arg to nMq).
|
||||||
|
F|X Value is all args to kMq.
|
||||||
|
F|Y Value is number of args to kMq.
|
||||||
|
|]|X Reads and returns string arg which follows kMq.
|
||||||
|
|
||||||
|
ITERATION
|
||||||
|
---------
|
||||||
|
n< cmd > Command is executed n times, or indefinitely if n is null.
|
||||||
|
n; Does nothing if n<0, otherwise passes control to char after next ">",
|
||||||
|
i.e., terminates iteration. Null n => use value of last search.
|
||||||
|
|
||||||
|
TEST AND BRANCH
|
||||||
|
---------------
|
||||||
|
arg"x then-cmd '"# else-cmd '
|
||||||
|
Conditional which checks arg according to condition x; discards arg;
|
||||||
|
executes then-cmd if condition was true, else-cmd if false.
|
||||||
|
arg"x then-cmd '
|
||||||
|
Conditional without else-cmd.
|
||||||
|
argF"x Same as arg"x, but passes first arg to then-cmd or else-cmd.
|
||||||
|
Note: The conditions x are:
|
||||||
|
B Arg is ASCII code for a delimiter(see ..D).
|
||||||
|
C Arg is ASCII code for a non-delimiter.
|
||||||
|
E Arg = 0.
|
||||||
|
G Arg > 0.
|
||||||
|
L Arg < 0.
|
||||||
|
N Arg .NEQ. 0.
|
||||||
|
|
||||||
|
TAG
|
||||||
|
---
|
||||||
|
!label! Defines label, or brackets comments.
|
||||||
|
|
||||||
|
GOTO
|
||||||
|
----
|
||||||
|
Olabel$ Sends command execution to character after !label!.
|
||||||
|
|
||||||
|
|
||||||
|
Compiled by: Mike Wirth (MCW@MIT-MC)
|
||||||
|
Oct. 29, 1976
|
||||||
|
|
||||||
5253
doc/_teco_/tecord.1132
Executable file
5253
doc/_teco_/tecord.1132
Executable file
File diff suppressed because it is too large
Load Diff
5310
doc/info/tecman.20
Executable file
5310
doc/info/tecman.20
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user