A couple years later, ADM-3A's arrived. And so did a TECO macro that turned TECO into a screen editor! Oh, what joy!
Isn't it a amazing that a macro could turn a line editor into a screen editor?
I also used TECO on my H-11 PDP-11 computer.
Although I had a terminal which could run TECO full screen, I found that too slow and just used it in line mode. You could conveniently reprint surrounding lines by adding a few characters to the end of a commmand (I still have HT <ESC> <ESC> burned into my brain.) The VT52 macro had you typing commands into line 24 like an emacs minibuffer.
I never used it for all my editing, but it excelled at certain things.
The version of TECO we had was the one which shipped with VMS. At some point later on, I think, DEC stopped shipping it, and we migrated to a TECO-inspired full-screen editor developed by another university. Once that arrived, we hard-core TECO users, all 4 of us, were won over within a week.
Me, being just a lowly compsci minor, prefered the full screen editor called FOXE. Was very simply to use and did the job fine for writing/editing programs of the length typical of homework assignments. Don't recall all the particulars to comment on search, replace, etc.
Unfortunately, there is like zero internet info on it beyond: "Little (if any) information is available for this visual editor available for TOPS-20 in the early 1980's. It was similar in appearance to the then new EMACS but had a far simpler command structure."
The TECO macro I posted is the VT52 one.
[4 [5 [6 [7 [8 [9 +0U7 0,0X4 10U4 [4 ETU4 [4 EDU4 [4 EUU4 [4
^D ET&(128#64#32#1^_)#512#16#8#2ET ED"G 0ED '
@^U5/U9 ET#1ET 27^T Q9^T ET&(1^_)ET/
@^U6/.U8 ZU4 -3U6 ^^HM5 13^T ^^KM5 10^T ^^KM5 13^T :G4
< ^TU7 !F! Q7^T ZJ Q7@I%%
Q7-10"E 13^T ^^KM5 -1%6 '
Q7-21"E Q6^W 0U7 0; '
Q7-127"E -D Z-Q4"N -1AU9 -D Q9-27"E 32U9 '
Q9-31"G ^^DM5 ^^KM5 1+ ' 0"E
13^T -Q6-2< ^^KM5 ^^AM5 > 10^T 13^T :G4 Q4,ZT '
' '
Q7-27"E ^TU7 Q7-27"E !F0! 27@I%% Q4,ZX4 ^^HM5 13^T -1U7 0; '
Q7-^^?"E ^T^[ @O!F0! ' @O!F! '
> Q4,ZK Q8J Q7/
0,0X7 G_ ^YX8 ^YK 0,0X9
^^HM5 13^T ^^=M5
< !A! 0U4 0U6 !B! 1U5
ET#32ET ^TU7 ET&(32^_)ET Q7"L -1^W ^TU7 ' !V!
Q7-127"E .-Q5"L .U5 ' -Q5D @O!A! '
Q7-31"G Q7@I%% @O!A! '
Q7-26"E 0; '
Q7-21"E 0K @O!A! '
Q7-11"E Q5K @O!A! '
Q7-8"E Q5L .-1"G 2R ' @O!A! '
Q7-4"E Q5K @13I%% 10@I%% 2R @O!A! '
Q7-3"E 0; '
Q7-27"N Q7@I%% @O!A! '
^TU7
Q7-^^C"E Z-.-Q5"L Z-.U5 ' Q5C @O!A! '
Q7-^^D"E .-Q5"L .U5 ' Q5R @O!A! '
Q7-^^?"E ^T&31#32U7
Q7-^^0"E Q5L @O!A! '
Q7-^^1"E Q5-1"E 0U5 ' Q5J @O!A! '
Q7-^^2"E ZJ @O!A! '
Q7-^^3"E 0L @O!A! '
Q7-^^4"E -Q5L @O!A! '
Q7-^^5"E Z-.-Q5"L Z-.U5 ' Q5D @O!A! '
Q7-^^6"E @FR%% @O!A! '
Q7-^^7"E Q5< 13@I%% 10@I%% 2R > @O!A! '
Q7-^^8"E Q5P @O!A! '
Q7-^^9"E Q5-1"E ^TU5 ' Q5@I%% @O!A! '
Q7-045"E @^U4%Search: % M6"F @O!A! ' G4 ^Y-2X8 ^YK @O!S! '
Q7-^^."E 0U6 !S! Q5:@S%^EQ8%^[ Q6"N Q6^W ' @O!A! '
@O!A!
'
Q7"D 0U5 < Q5*10+Q7-^^0U5 ^TU7 Q7"D > ' @O!V! '
0U8
Q7-^^A"E -1U8 '
Q7-^^B"E 1U8 '
Q8"N Q5*Q8U5 Q6"E 0U7 .U8 0L
Q8-.%6< 0A-32"L 0A-27"N 0A-9"E 6-(Q7&7)%6^[ -2U7 ' %7 1%6 ' ' C %7 > '
Q5L -Q6U9 0U7 Q6< .-Z; 0A-32"L 0A-13"E 0; '
0A-27"N 0A-9"E 6-(Q7&7)%9^[ -2U7 ' %7 1%9 ' ' C %7 1%9"G R ' Q9; >
0U4 @O!B! '
Q7-^^Q"E @^U4%Command: % M6"F @O!A! ' G4 ^YX9 ^YK @O!C! '
Q7-27"E 0U6 !C! ]4 Q4EU ]4 Q4ED ]4 Q4ET ]4 Q4-10"N ^O ' M9
10U4 [4 ETU4 [4 EDU4 [4 EUU4 [4
^D ET&(128#64#32#1^_)#512#16#8#2ET ED"G 0ED ' -1EU
Q6"N Q6^W ' @O!A! '
Q7-^^R"E G7 @O!A! '
Q7-^^P"E Q4"E .+1U4 ' Q5L Q4-1,.X7 Q4-1,.K G7 0U6 @O!B! '
>
ET#16ET ^^>M5 ^^YM5 23+32^T 0+32^T ^^KM5 13^T
!Z! ]4 Q4EU ]4 Q4ED ]4 Q4ET ]4 Q4-10"N ^O ' ]9 ]8 ]7 ]6 ]5 ]4
Obviously, the TECO programming language was a challenge to understand. Mitigating this is it needed to be extremely compact, as it was used on a 64Kb PDP-11.I vaguely recall it had a line-open / visual mode, like ex/vi, which we didn't use because we were on a dot-matrix line printer / teletype. The ADM-3A had the Ctrl key on the home line; this design made it easy for editors from that period (vi, emacs) to make heavy use of Ctrl.
Thanks to those who posted bits of TECO - I'd forgotten how the character movement was similar to vi. A fellow student in our CS honours year had a semester thesis project analysing the grammar of vi commands and specifying it in a formal grammar. The combination of action x movement is powerful, simple and concise.
I'm not sure if that was true.