Etikett: mjukvaruhistoria

  • Emacs – textredigeraren som blev ett helt universum

    Emacs är en av datorvärldens mest långlivade och mytomspunna textredigerare. Född på 1970-talet i akademiska datorsalar har den vuxit från ett tekniskt hjälpmedel till ett helt ekosystem för skrivande, programmering och informationshantering. För vissa är Emacs bara ett verktyg – för andra är det en livslång arbetsmiljö, formad efter användarens egna idéer och behov.

    Om du någon gång har hört uttrycket att vissa textredigerare känns som “ett helt operativsystem”, så är chansen stor att det handlade om Emacs. Emacs är inte bara ett program för att skriva och redigera text – det är en hel familj av redigerare som förenas av en idé: att användaren ska kunna bygga om verktyget efter sin egen hjärna.

    Det kan låta överdrivet, men Emacs har i årtionden lockat programmerare, forskare, skribenter och teknikentusiaster just för att det inte nöjer sig med att vara “lagom”. Emacs vill vara formbart.

    Från 1970-talets terminaler till dagens datorer

    Emacs föddes i mitten av 1970-talet i en miljö som i efterhand nästan blivit mytisk: MIT AI Lab. Där arbetade man på stordatorer (som PDP-10) och använde en äldre textredigerare som hette TECO. TECO var inte som moderna redigerare där du bara skriver och ser texten direkt. I stället växlade man mellan olika lägen: ett för att skriva text och ett för att ge kommandon.

    Det var i denna värld som David A. Moon och Guy L. Steele Jr. 1976 skapade de första Emacs-varianterna – som en samling makron för TECO. Namnet EMACS kom från “Editor MACros” (eller “Editing MACroS”, beroende på vilken källa man följer). Idén var enkel men kraftfull: om du ändå sitter och hackar ihop makron hela tiden, varför inte göra en redigerare där det är normalt att bygga ut den?

    “Det extensibla” som blev identiteten

    Det som skiljer Emacs från många andra redigerare är att den inte bara låter dig ställa in färger och genvägar. Den låter dig lägga till helt nya funktioner som om de alltid hade funnits där.

    Därför brukar Emacs beskrivas som extensibel, anpassningsbar, självdokumenterande och en redigerare där ändringar syns direkt på skärmen när de görs.

    Lisp: hjärnan i Emacs

    Emacs är starkt kopplad till Lisp. I moderna Emacs-implementationer finns en Lisp-dialekt (i GNU Emacs heter den Emacs Lisp) som gör att användaren kan definiera nya kommandon, ändra befintliga och bygga små “appar” i redigeraren.

    Poängen är att Emacs inte bara har plugins som ett extra lager. Många av dess funktioner är skrivna i Lisp, vilket gör att gränsen mellan redigerare och programmeringsmiljö suddas ut.

    Kommandon, makron och muskelminne

    Emacs har tusentals kommandon, och användare kan dessutom spela in sina egna arbetsflöden som tangentbordsmakron: du gör något en gång, spelar in, och låter Emacs upprepa det.

    Det finns också ett särskilt sätt att “prata” om tangenttryckningar, där Ctrl och Meta (ofta Alt) skrivs som korta prefix. Det är därför Emacs-kulturen ibland låter som magiska formler.

    Fönster är inte fönster

    En klassisk Emacs-detalj är att den använder ord på ett annorlunda sätt än moderna gränssnitt. Det som många program kallar fönster kan Emacs kalla frames, och det som många kallar paneler/splitar kan Emacs kalla windows.

    Det är en rest av historien, men också ett tecken på hur Emacs alltid byggts på sina egna begrepp.

    Emacs som livsmiljö

    Många använder Emacs till långt mer än kod: filhantering, fjärrredigering över SSH, e-post, anteckningar och planering, Git, RSS – och även spel som Tetris.

    Det finns ett gammalt skämt: Emacs är ett bra operativsystem, men det saknar en bra textredigerare. Skämtet är orättvist, men fångar känslan av att Emacs kan bli en hel arbetsmiljö.

    Editor wars och “Kyrkan Emacs”

    Emacs är, tillsammans med vi, en av de två stora symbolerna i de klassiska “editor wars”. Konflikten är mest på skoj, men den har blivit en del av datorkulturen.

    Richard Stallman har också drivit med detta genom “Church of Emacs”, en parodireligion där man skojar om vi som “editorn av odjuret”. Mest humor – men också ett exempel på hur Emacs är mer än bara teknik.

    Varför lever Emacs fortfarande?

    Emacs är gammalt, men inte föråldrat. Det lever vidare eftersom grundidén fortfarande är modern: verktyget ska kunna växa med användaren.

    När många program idag är strömlinjeformade och stängda, är Emacs motsatsen: ett verktyg som säger “du bestämmer hur jag ska fungera”.

    Emacs är inte bara en textredigerare. Det är en redigerare som låter dig bygga din egen redigerare.

    Emacs sida på wiki.linux.se

    https://wiki.linux.se/index.php/Emacs

    Faktaruta: Emacs
    Typ
    Familj av textredigerare (med fokus på extensibilitet)
    Ursprung
    MIT AI Lab, mitten av 1970-talet
    Första Emacs
    TECO-makron (1976), av David A. Moon och Guy L. Steele Jr.
    Kändaste variant
    GNU Emacs
    Styrka
    Extensibel och anpassningsbar med Emacs Lisp
    Typiska användningsområden
    Programmering, textredigering, anteckningar (Org-mode), Git (Magit), fjärrredigering (TRAMP)
    Kuriosa
    Känd från “editor wars” (Emacs vs vi) och “Church of Emacs” som parodisk kulturreferens