Emacs
Jeg har længe haft lyst til at skrive lidt mere om mit absolutte yndlings-computerprogram. Så derfor kommer der her et lille Emacs-essay.
DISCLAIMER:
Jeg havde ikke den store erfaring med text-editors før jeg fandt GNU Emacs. Jeg har prøvet forskellige siden: Brackets, Vim, VSCode, Notepad og Atom - men ingen af dem har talt til mig helt på samme måde som Emacs gør. Der er helt sikkert noget First Cut-bias på spil her. Det kan jeg faktisk ikke forestille mig, der ikke er. Men sådan er det.
Hvis du kender eller bruger en anden editor og er glad for den, så er jeg egentlig bare glad på dine vegne. Denne tekst er ikke sat i verden for at overbevise nogen, men for at fejre og dokumentere den editor jeg personligt holder aller mest af.
Emacs er et ret godt operativsystem. - Det eneste, det mangler, er en ordentlig text-editor.
klassisk Emacs-joke fra Vim-brugere
Hvad er Emacs?
Emacs er en text-editor, altså et program til behandling af plain-tekst. Det betyder at Emacs, modsat en Word-processor som LibreOffice Writer eller MS Word, ikke i udgangspunktet formatterer din tekst, men i stedet giver dig plads til at fokusere på det, du er ved at skrive.
Tekstredigering på denne måde, hvor man kan regne med at det vil rendere med ens formattering uanset hvilken maskine, man åbner det i, er særligt populært til programmering, for her kan det være meget vigtigt at f.eks. et mellemrum gengives med den præcis samme afstand på alle platforme.
Men selv om det i dag typisk er programmører der benytter tekst-editors, er de også meget brugbare for almindelige skribenter. Det kan give en uforlignelig ro til at komme i "flow", at man ikke skal forholde sig til hvordan det skrevne ord tager sig ud på tryk f.eks.
Det har Jay Penner skrevet en del om på sin blog.
Emacs er styret af taste-kombinationer, ligesom man kan bruge kombinationen [kontrol + s] "Ctrl + s" på sit tastatur i en almindelig word-processor, for at gemme noget, kan man styre alt i Emacs med lignende kommandoer og hurtigt komme til at flyve rundt i sine dokumenter, uden at fingrene behøver forlade tastaturet een eneste gang.
Min Emacs-historie
"Hvad i alverden er Emacs" var også et af de spørsgmål jeg stillede mig selv aller oftest, efter at jeg havde fundet GNU/Linux operativsystemet og var begyndt at nørde ned i filosofien bag GNU-projektet. Flere steder hvor jeg læste om det, stod der noget om GNU Emacs, eller bare Emacs. Flere mennesker udtalte, at de nærmest "levede" i Emacs og brugte Emacs til alt.
Jeg forstod ingen ting…
Men så besøgte Richard Stallman, der er GNU-projektets ophav og forfatteren til GNU-Emacs, Danmark i 2019, og jeg kørte til Aalborg for at høre ham. I den forbindelse kontaktede jeg min gode ven Mark Faldborg, som takkede "ja" til at komme med for, som han sagde, "jeg bruger Emacs hver dag, så det kunne være sjovt (at opleve ophavsmanden "live", red.). Efter oplæget fra Stallman tog vi hjem til Mark. Jeg havde sendt en masse emacs-spørgsmål til ham inden da, fordi jeg forstod at han var "en af dem".
Han gav mig en rundvisning i sin Emacs, customisering, kommandoer, smarte udvidelser og pakker. Jeg fattede stort set ikke andet end at det her program var som en Schweitzer-kniv. Det var noget helt andet end det, jeg havde fået op på skærmen da jeg prøvede at hente Emacs ned selv.
Mark hjalp mig med at sætte det op, og jeg begyndte min fumlende færd op ad Emacs-læringskurven, som en eller anden på nettet1 har illustreret meget rammende således:
Emacs for writers
Kort tid efter turen til Aalborg, så jeg denne video, hvor en journalist ved navn Jay Dixit demonstrerer "Emacs for writers" (undskyld for Youtube-linket, jeg har ikke kunnet finde andre):
Jeg er tekst-menneske.2 Jeg underviser bl.a. i kreativ skrivning i forbindelse med min stilling ved biblioteket i Thy, så da jeg så emnet for videoen herover, blev jeg naturligt nysgerrig. Den gang kendte jeg ikke til "prose-as-code", men tanken om at kunne bruge kræfterne i Emacs uden at være programmør lød spændende.
I videoen taler Dixit om sin egen vej til Emacs (han var på jagt efter et værktøj der kunne visse ting fra wordstar og visse ting fra andre programmer, uden at stå i vejen for hans kreative og organisatoriske arbejde - og nogen viste ham Emacs med org-mode), og viser forskellige af de smarte features, han benytter dagligt, frem. Bl.a. den opdelte skærm, hvor oversigten over teksten er på den ene side, og de udfoldede punkter er på den anden:
Jeg forstod cirka halvdelen af hvad han sagde, men fik lyst til at prøve nogle af de forskellige ting, han demonstrerede. Så jeg endte med at få installeret en skov af pakker, jeg ikke selv forstod. Det hele føltes stadig en smule "black box"-agtigt, som om der foregik ting, jeg ikke kendte til, når Emacs kørte.
Emacs for me
På et tidspunkt - et par år inde i min kaotiske brug af emacs, fik jeg nok af underlige fejlmeddelelser som jeg ikke forstod og bestemte mig for at begynde på en frisk.
Jeg gemte min orgmode-dagbog, men ellers ryddede jeg hele min init.el-fil og begyndte på en frisk, med afsæt i System-crafters videoen Emacs From Scratch:
Og bogen Mastering Emacs, af Mickey Petersen:
som jeg klat-læser i løbende og lærer nyt af hver gang.
Sammen med Emacs' indbyggede tutorial som jeg slet ikke kan anbefale nok, har de ressourcer åbnet Emacs for mig på en helt ny måde.
Nu kører min Emacs session i flere uger ad gangen og jeg versions-kontrollerer min .init-fil3 hvor alle mine konfigurationer bor, med github igennem Magit-pakken i Emacs.
Jeg håndterer mine nyheder, mails, chats og tekster med Emacs i forskellige major-modes - nåhjo: og så blogger jeg med det 😅
Man kunne næsten sige at jeg bor i Emacs når jeg åbner min PC i dag…
Jeg elsker oplevelsen af at kunne blive i det samme mentale rum, når jeg arbejder - hurtigt åbne en buffer (emacs-terminologi for et vindue i vinduet) og søge på nettet i den, uden at skulle åbne en browser og lukke alle mulige forstyrrende elementer ind. Og så er jeg begyndt at udvide og tilpasse mine værktøjer med elisp. Det har givet mig en helt anden tilgang til min computer. Jeg stopper ikke længere ved "Nå, sådan er det vel bare…" for nu er der blevet åbnet et rum hvor jeg kan lave det om, så det passer til mig. Værktøjets bruger og ejer.
Det er på mange måder en spejling af min rejse med GNU/Linux, som jeg nok vil skrive om i et senere indlæg.
Footnotes
#Emacs, #GNU, #Linux, #FOSS, #Programmering, #Skrivekunst, #Fountain-Mode, #Org-Mode