! pc teco startup file 05/06/93 21.35 ! ! invoke te -vf8erw [+nnn] [@file] [file] [file2] ! ! -v screen off (default on) ! ! -f formfeed ends page (default no) ! ! -8 tabs every 8 chars (default 4) ! ! -e erfile$ ewfile2$ if file2, else erfile$ ewfile$ ! ! -r erfile$ only ! ! -w ewfile$ only ! ! -m enable mouse ! ! +nnn use unix line convention, start at line nnn ! ! @file do eifile$, leave rest of line in qz for macro ! @ei// et&16384"n [Display is in graphics mode]  ' hk 70+128+256+16384+32768ez gz 0j 0ux 0uz 0,0xx 0,0xy <:s "u zj 0;' ::s-; ! scan option flags ! <.-z"e 0;' 0a-^^f"e 2,0ez | 0a-^^8"e 4,0ez | 0a-^^e"e qz&248+1uz | 0a-^^r"e qz&248+2uz | 0a-^^w"e qz&248+4uz | 0a-^^v"e qz#8uz | 0a-^^m"e qz#128uz | 0a-^^ "e 0; | @^A/Invalid option / 0a^T 13^T 10^T hkekex '''''''' 1c>> ::s+"s 0,32ez \ux ::s   qx"g -1%x'' ! if +nnn option spec'd save line count ! <.-z; ! scan file args ! ::s  ::s@"s .uy :s "s 1r | zj' qy,.x9 ::s  .,zxzhk 0; ! indir file ! | .uy :s "s 1r | zj' :qx"e qy,.xx 0,.k ! one file arg ! | :qy"e qy,.xy 0,.k ! two file args ! | @^A/Too many files specified/ 13^T 10^T hkekex''' ! more than 2 ! > hk qz&8"e :q9"e 5,7:w'' qz&128"e 1,1fm' :qx"e qz&7"n @^A/(No file specified)/ 13^T 10^T ' | qz&6"n ! -r or -w only one file allowed ! :qy"n @^A/Too many files specified/ 13^T 10^T hkekex | qz&2"n :erqx"u @^A/File not found: / :g* 13^T 10^T hkekex' y | ewqx '' ! -r or -w ! | :qy"n :erqx"u @^A/File not found: / :g* 13^T 10^T hkekex' ewqy y ! 2 files: ERfirst, EWsecond ! | qz&1"n :erqx "u @^A/File not found: / :g* 13^T 10^T hkekex'ewqx y ! 1 file: ER,EW if -e ! | :ebqx "u @^A/File not found: / :g* 13^T 10^T hkekex' y ' ' ' ' ! EB otherwise ! 0j qxl 0ux 0,0xx 0,0xy !define function keys! @^u`a## @:^u`a## 32+16u`a !F1 - ! @^u`b#q`b&7"e @s// | q`b&7-1"e -2@s// | q`b&7-2"e 0,4:w 2sq`1 '''# 16u`b !F2 - s$ or -2s$ or find moused text ! @^u`c#ewq*# 32+16u`c !F3 - open current file for write! @^u`d#c# 16u`d !F4 - ^Pc! !F12 - toggle seeall, Sh/F12 - toggle tab width, Ctl/F12 - toggle second window vert, Alt/F12 - toggle second window horiz! @^u`l# q`l&7"e 3:w"e 1,3:w | 0,3:w' | q`l&7-1"e ez&4"n 4,0ez | 0,4ez' | q`l&7-2"e 8:w"e 2:w-(7:w)/3,8:w 1ee | 12:w"e 4,12:w 2ee | 13:w"e 3,13:w 3ee | 0,8:w 0,12:w 0,13:w 0ee''' | q`l&7-4"e 8:w"e -(1:w)/2,8:w 1ee | 0,8:w 0,12:w 0,13:w 0ee ' ''''# 16u`l @^u`m#."g1r'# 16u`m !left arrow - back one char! @^u`n#.-z"l1c'# 16u`n !right arrow - ahead one char! @^u`o#q`o&7"e -1fl | q`o&7-1"e -1l !up arrow - up one line, alt/up - increase window! | q`o&7-4"e ee-1"e 8:w"n 8:w+1,8:w' | ee-2"e 12:w"n 12:w+1,12:w' | ee-3"e 13:w"n 13:w+1,13:w'''''''# 16u`o @^u`p#q`p&7"e 1fl | q`p&7-1"e 1l !down arrow - down one line, alt/dn - decrease window! | q`p&7-4"e ee-1"e 8:w"n 8:w-1,8:w' | ee-2"e 12:w"n 12:w-1,12:w' | ee-3"e 13:w"n 13:w-1,13:w'''''''# 16u`p @^u`s# q`s&7"e 0l' q`s&1"n 0ee' q`s&2"n 0j' q`s&4"n .u`2'# 16u`s !home - 0L, Sh/home - prim buff, Ctl/home - 0J, Alt/home - mark! @^u`t# q`t&7"e .-z"n 1l -2a-13"e -1a-10"e 2r'''' q`t&1"n 1ee' q`t&2"n zj' q`t&4"n q`2j'# 16u`t !end - eol, Sh/end - sec. buffer, Ctl/end - ZJ, Alt/end - go to mark! @^u`u#[0 ee"e 10:wu0 | 8:wu0' q0"l 10:wu0' q`u&7"e -(q0/2)l' -(q0/2)+1l ]0# 16u`u !page up - back display-area size lines! @^u`v#[0 ee"e 10:wu0 | 8:wu0' q0"l 10:wu0' q`u&7"e (q0/2)l' (q0/2)-1l ]0# 16u`v !page down - down display-area size lines! ! insert: insert mode macro ! ! INSERT toggles insert mode ! ! SHIFT/INSERT inserts a crlf ! ! ALT/INSERT toggles autoindent ! @^u`q~q`q&7"e [0 [1 [2 etu2 0,8et -129&q`qu`q 1fm#4,1fm [0 20:wu0 224,20:w 13 INSERT  q`q&256"n AUTOINDENT  |  ' q0,20:w ]0 <u0 q0-8"e ."n -1a-10"e -2a-13"e -2d | -1d' | -1d'' | q0-21"e 0k q`q&256"n -1l s  1r 0x0 1l g0' | q0-127"e 0k | q0-256"l q0i q0-10"e q`q&384-384"e -1l s  1r 0x0 1l g0'' q0-13"e 128#q`qu`q | -129&q`q u`q' | q0&511-338"e 0; | q0&511-418"e 256%`q 13 [0 20:wu0 224,20:w INSERT  q`q&256"n AUTOINDENT  |  ' q0,20:w ]0 | q0&256"n q0fqu1 ^u0q` q1:^u0 :^u0&(-16)#(q0/512&15)u` q1:^u0 ^u1m` q1:^u1 :^u0q` q1:^u0 :^u0&48-16"em1' m0 ' '''''' > q2et ]2 ]1 ]0 13   13 1fm&3,1fm | q`q&1"n 13i 10i | q`q&2"n i '' ' ~ 16u`q @^u`r# q`r&7"e z-."g1d'' q`r&1"n ."n-1d'' q`r&2"n [0.u01l -2a-13"e -1a-10"e 2r'' q0,.k]0'# 16u`r !delete - delete 1 char! @^u`w#q`w&7-4"e !shift/tab: +indent, ctrl/tab, -indent, alt/tab: show line number! [0[1[2 1u0 .u1 0l .u2 j <.-q2;1l1%0>  Line q0= ]2]1]0 | 4:w"n [0[1 4:w-."g .u0 4:w-1u1 | .u1 4:w-1u0' q0j 0l <.-q1; q`w&7-1"ei  1%1 | q`w&7-2"e ::s "s -d -1%1''' 1l> q0j q1+1,4:w ]1]0''# 16u`w ! mouse macros - uses Q`1 as temp storage ! ! left mouse button moves pointer to that position ! ! shift/left mouse button inserts stored text there (paste) ! ! alt/left mouse button, with screen split, repositions split ! ! right mouse button copies text from pointer to that position (copy) ! ! ctrl/right button saves text and deletes it (cut) ! ! alt/right with screen split vertically closes that window ! @^u`x#q`x&4"e 3fmu`1 3fmee 2fm+1,11:w 2fmj 0ee 0,4:w 1ee 0,4:w 2ee 0,4:w 3ee 0,4:w 3fmee q`x&1"n g`1 .+1,11:w' | 8:w"g [0 4fmu0 q0-4"l 4u0' 2:w-(7:w)-q0,8:w ]0 | 8:w"l [0 5fmu0 q0-10"l 10u0 | 1:w-q0-12"l 1:w-12u0' -q0,8:w ]0' '''# @^u`y#q`y&7-4"e 8:w+1"g 3fm-3"e 0,13:w | 3fm-2"e 0,12:w | 3fm-1"e 0,8:w'''' 0ee | 3fm - q`1"e 2fm+1,4:w 2fm,(11:w-1)x`1 q`y&3-2"e 2fm,(11:w-1)k 0,4:w'''# 16u`x 16u`y 0uz ! if @file spec'd do it (push filespec buffer) ! :q9"n [* :@ei/q9/"u :@ei/q9.tec/"u @^A/file not found: / :g9 13^T 10^T hkekex'' 0,0x9 ^C ' 0,0xz