@:aH%mH Help (type this summary) |^r mode teco stuff |char function |qK,q0 kill lines, but save them in q0. | delete characters forward | delete characters backward | multiply action of other keys by 4. |^S qS,q" search for string, terminate string with line feed |^Z qZ,q" search again for same string as last time |^W qW en$$--write out file & continue editing |^X qX ex$$--write out file & exit to shell |^R qR,qF Remove char to save buffer (ie, qF) |^T qT,qF Transfer line to save buffer |^G qG,qF Get text from save buffer |^C qC Clear save buffer | Save a copy of the save register in q-reg. . | Get a copy of q-reg % :@iS/ ecs [a[b[c[d[e[f[g 0,0xa0ub0ue0ug fvHEIGHT-1uc << @tqcfv^RVPOS 0fv^RHPOS search:  a qg"E ' qg"G(fvWIDTH-15)fv^RHPOS WRAPPED AROUND 0ug' @tud.uf qd-127"E 0;' [f[a%e zj qd-19"E2*qe<]d>1ueqb"E:ia"i'-d'[f[aqfj 0ofindit' qd-14"Eqdiiz-2,zxd-2d:aad 0ofindit1' qd-3"Eqdiiz-2,zxd-2d:aad 0ofindit1' qd-13"E 2oendsearch' qdiz-1,zxd-d:aad !findit1! qfj -qac !findit! %b ess :sa"EfvBELL0j :sa"Eecsqfj0;'%g' ecs > qe"Eqa"EfvBELL 0oloop' zjga-dqa-1"G-c1A-3"Edqa-1ua' 1A-14"Edqa-1ua' c' z-qa+1,zxa-qadqf"Gqf-1uf' 0oloop' qe-1ue ]a]f !loop! qfj > !endsearch! qfj2*qe<]f> qcfv^RVPOS 0fv^RHPOS  @t ]g]f]e]d]c]b]a ess / |in the above [search] macro, q-reg. usage is: |a holds current search string |b holds flag saying we've searched at least once. |c holds height of screen. |d holds last char typed |e holds count of stack pushes |f holds location searched from. |g holds wrap-around flag. :@iZ/ ecs [0.u0 :S""EfvBELLq0j' @T ]0 |search for the contents of qQ. If search ess / |fails, buzz & reset pointer to where it was. :@iW/ [0 .u0 en q0j <.-q0"E0;' a q0j> @t ]0 / :@iX/0fvRHPOS 0fvRVPOS ›>›Jex/ | Delete line(s), but don't throw it away quite yet. @:iK/ecs (fv^REXPT)x0  fv^RCMACfv^REXEC ess/ | Delete a char in save mode: @:iD/ecs [0 .,.+(fv^REXPT)x0 .,.+(fv^REXPT)k :aF0 1fv^REXPT ]0 .@T @T ess/ | Get back the saved text: :@iG/ecs [0 .u0 fv^REXPT 1fv^REXPT q0@t @t]0 ess/ | Clear the save buffer: :@iC/ecs 0,0xF ess/ 0,0xF | Kill to end of line, in save mode: @:iT/ecs [0[1 fv^REXPT< .u0 l q0,.x1 q0,.k :aF1> 1fv^REXPT .@t @t]1]0 ess/ :@iV\|Next window [0[1 fvHEIGHTu0 fvRVPOSu1 %1-(fv%CENTER*q0/100)u1 fvREXPT  fvRCMACfvREXEC 1fvREXPT ]1]0\ @:iY~ecs [x[y .uy ux 1< qx-A"E fv^RCMACfv^REXEC 0;' qx-B"E fv^RCMACfv^REXEC 0;' qx-C"E fv^RCMACfv^REXEC 0;' qx-D"E fv^RCMACfv^REXEC 0;' qx-P"E fv^RCMACfv^REXEC 0;' qx-Q"E fv^RCMACfv^REXEC 0;' qx-R"E mK 0;' 1qy@T @T 0; 0fv^REXEC> ]y]x ess~ fv^RCMACu0 fv^RCMAC,fv^RCMAC q0,fv^RCMAC C,fv^RCMAC D,fv^RCMAC G,fv^RCMAC ^^S,^^fv^RCMAC ^^T,fv^RCMAC ^^V,^^fv^RCMAC ^^W,23fv^RCMAC ^^X,24fv^RCMAC Y,fv^RCMAC ^^Z,26fv^RCMAC .,.x0 .,.x1 .,.x2 .,.x3 .,.x4 .,.x5 .,.x6 .,.x7 .,.x8 .,.x9 ›= ess