chr( 5 * ( 5 * l(\$char1) +l(\$char2) ) + l(\$char3) + 2 ) ##```## int ( ord(\$char) - 42) / 16 ##``````## [::j] chr(2+5*(5*l(:)+l(:))+l(j)) = chr(5*(5*1+1)+4+2) = \$ [jJj] chr(2+5*(5*l(j)+l(J))+l(j)) = chr(5*(5*4+2)+4+2) = t [J:r] chr(2+5*(5*l(J)+l(:))+l(r)) = chr(5*(5*2+1)+4+2) = = [BBR] chr(2+5*(5*l(B)+l(B))+l(R)) = chr(5*(5*1+1)+2+2) = " [scC] chr(2+5*(5*l(s)+l(c))+l(C)) = chr(5*(5*4+3)+1+2) = v [C[k] chr(2+5*(5*l(C)+l([))+l(k)) = chr(5*(5*1+3)+4+2) = . [kKj] chr(2+5*(5*l(k)+l(K))+l(j)) = chr(5*(5*4+2)+4+2) = t [j:J] chr(2+5*(5*l(j)+l(:))+l(J)) = chr(5*(5*4+1)+2+2) = m [jJ*] chr(2+5*(5*l(j)+l(J))+l(*)) = chr(5*(5*4+2)+0+2) = p [>>N] chr(2+5*(5*l(>)+l(>))+l(N)) = chr(5*(5*1+1)+2+2) = " [N>N] chr(2+5*(5*l(N)+l(>))+l(N)) = chr(5*(5*2+1)+2+2) = ; ##``````## \$t = "v.tmp"; ##``````## \$t="v.tmp";open(\$f,">\$t"); print \$f " let L=[\"[][+/13579;=?_acegikmoqsuwy-]\",\"[],014589<=@%`adehilmpqtuxy-]\",\"[/.016-9>?@^_`af-in-qv-y]\",\"[2-9b-ir-y]\",\"John C. Norton 'liverpole'\"] let v=8 let C=255 let W=C let x=3 se hls ic wh 1 let C+=v if C>254 let v=-v let C=255 let x=(x+1)%4 let y=L[x] let f=1 elsei C<1 let C=0 let v=-v en go 1 let R=x%2?W :C let G=x==2?W :C let B=C if !x || x>2 let B=W en exe printf(\"hi Search guibg=#%02x%02x%02x\",R,G,B) exe \"/\".y redr if f sl let f=0 en sl 100m endw ";close\$f; system("gvim -c \"so \$t\" \"\$0\"") #jcn ##``````## let search_patterns=["[][+/13579;=?_acegikmoqsuwy-]","[],014589<=@%`adehilmpqtuxy-]","[/.016-9>?@^_`af-in-qv-y]","[2-9b-ir-y]","John C. Norton 'liverpole'"] let vector=8 let C=255 let n_pattern=3 set hlsearch ignorecase while 1 let C+=vector if C > 254 let vector = -vector let C=255 let n_pattern=(n_pattern+1)%4 let pattern = search_patterns[n_pattern] exe "/".pattern let f=1 elsei C<1 let C=0 let vector=-vector end goto 1 let red = n_pattern % 2 ? 255 : C let green = n_pattern == 2 ? 255 : C let blue = C if !n_pattern || n_pattern > 2 let blue = 255 end exe printf("hi Search guibg=#%02x%02x%02x",red,green,blue) redraw if f sleep let f=0 end sleep 100m endwhile ```