---------------------------------------- BSD-DK / SSLUG / DKUUG Editor Celebrity Deathmatch ed(1) Poul-Henning Kamp 2004-12-16 ---------------------------------------- Systemkrav (hardware): CPU: Minimum PDP11/20. Lager: Minimum 56 kilobyte. Terminal: ASR33 eller nyere. Luxus: Diskdrev. Video Display Terminal ---------------------------------------- Systemkrav (software): Second Edition UNIX (eller nyere) ed(1) er skrevet i det ultraportable 'C' sprog. Kan porteres til alle systemer der har en C-compiler (evt. krydskompilering). ---------------------------------------- ed(1) - De forskellige varianter 1. Original AT&T UNIX ed(1). (Primært for fantiske purister.) 2. BSD (Open Source) ed(1). (100% kompatibel.) NB: Vogt dem for efterligninger! ---------------------------------------- ed(1) - Download & Installation % time which ed /bin/ed 0.01 real 0.00 user 0.00 sys % ---------------------------------------- Brugerinterface * Brugere lærer hurtigt det moderne, systematiske, konsistente og intuitive brugerinterface. * Brugeren har fuld kontrol over alle grafiske elementer. * Fuld support for "accessibility" (braille, voice synthesis, voice recognition). * ed(1) giver ikke museskader. ---------------------------------------- Brugerinterface addresse[,addresse]kommando[argumenter] ---------------------------------------- Addresser /reg.xp/ -- fremad regexp // -- gentag sidste regexp ?reg.xp? -- bagud regexp 23 -- linienummer . -- nuværende linie -3 -- relativt linienummer. +3 -- ... den anden vej. - -- forrige linie (= -1) + -- forrige linie (= +1) $ -- sidste linie ---------------------------------------- Overordnede kommandoer e [] -- edit E [] -- edit! f [] -- filename h -- last error H -- all errors P -- prompt q -- quit q -- quit Q -- quit! r [] -- read w [] -- write ---------------------------------------- Rettekommandoer a -- append c -- change d -- delete g// -- "global" i -- insert j -- join l -- list m
-- move n -- numbers p -- print s/// -- substitute z[] -- "Zcroll" ---------------------------------------- Et simpelt eksempel: # ed /etc/rc.conf 819 $i sshd_enable=YES ifconfig_fxp0=DHCP . w 854 q # reboot ---------------------------------------- Substitution # env EDITOR=ed vipw 1633 /root/s/:[^:]*:/::/p root::0:0::0:0:Charlie &:/root:/bin/csh w 1620 q # ---------------------------------------- Reg(ular) Exp(ressions) ^ -- start af linie $ -- slut af linie . -- vilkårligt tegn [chars] -- klasse af tegn [^chars] -- negativ klasse af tegn * -- gentag forrige 0..X \c -- fjern magi fra tegn c c -- tegn c /:[^:]*:/ -- ':' + et antal tegn -- forskellige fra ':' -- og endelig et ':'. /P[ao][uv]l.*/ ---------------------------------------- ed(1)... Findes på alle UNIX systemer. Virker i single-user mode. Uafhængig af: terminalemulering filindhold/format hjælpefiler flowcontrol hastighed keyboard Hvergang Perikles, hvergang... ---------------------------------------- Software kvalitet # for i in /usr/src/bin/ed/ \ > /usr/src/contrib/nvi/ \ > /usr/ports/editors/emacs20 > do > cd $i > printf "%-28s " $i > find . -type f -name '*.[ch]' | > xargs cat | wc -l > done /usr/src/bin/ed/ 3493 /usr/src/contrib/nvi/ 54751 /usr/ports/editors/emacs20 259429 ----------------------------------------