Emacs

Använda Lisp i Emacs

Använda Lisp i Emacs
Den snabba utvecklingen av teknik har gjort det möjligt för olika programmeringsverktyg att bli framträdande och komma i rampljuset. Textredigerare ingår i sådana verktyg på grund av massiv utveckling inom teknikbranschen. Deras lätta karaktär, tillsammans med deras flexibilitet att redigera och bygga filer och starka out-of-the-box-prestanda, har gjort textredigerare ganska omtyckta bland samhället. Fördelarna med textredigerare får ofta utvecklare att gynna dessa verktyg framför andra liknande verktyg, som IDE. Textredigerare ligger i framkant av utvecklarnas arbete, så det är viktigt att använda en redigerare som erbjuder en mängd olika funktioner efter dina behov.

Emacs är ett sådant exempel på en textredigerare som på grund av sin mångsidighet och anpassningsbara karaktär har fått ett riktigt namn bland utvecklargruppen. Som en av de äldsta textredigerarna där ute är Emacs känt för sin stabilitet och konsistens.

Det som gör Emacs speciellt är att det inte bara är en textredigerare utan snarare en fullfjädrad maskin. Emacs kan ställas in som ett skal, en e-postklient, en arrangör och så mycket mer. Emacs komplexitet uppstår från Lisp-tolk i sin kärna, vilket i sin tur gör det möjligt för användare att anpassa den med ännu fler funktioner med hjälp av Lisp-språket.

Den här artikeln beskriver hur man använder Lisp genom olika metoder för att konfigurera och anpassa Emacs.

Grunderna i Lisp

Innan du ser hur Lisp kan användas för att konfigurera Emacs är det först viktigt att titta på några av grunderna i Lisp-språket för att få en bättre förståelse för denna funktion.

I Lisp består program av symboliska uttryck, förkortade till s-exps. Dessa uttryck kan bara bestå av antingen variabler eller inkludera andra funktioner.

En funktion noteras genom att slå in texten inom en parentes. För att anropa tilläggsfunktionen används till exempel följande syntax:

(+ 2 2)

Ovanstående uttalande säger "lägg till 2 till 2.”Kapslade s-exp kommer att se ut så här:

(+ 2 (+ 1 1))

Du kan också lagra värden inuti en variabel med kommandot setq:

(setq mitt namn "John")

Funktioner kan definieras med avskräckt nyckelord. Till exempel skrivs en funktion som beräknar kvadraten för ett tal enligt följande:

(defun kvadrat (x)
(* x x))
(kvadrat 2)

Du kan utvärdera funktioner som definierats med hjälp av knapparna Ctrl + x följd av Ctrl + e. Detta ger en utdata inuti mini-bufferten. Till exempel kommer kvadratfunktionen att ha följande utdata:

Obs! Du måste utvärdera både det nedlagda segmentet och det fyrkantiga segmentet.

Det täcker grunderna. Följande avsnitt visar hur du konfigurerar Emacs med Lisp.

Initieringsfil

När Emacs startar är den första bearbetade filen initialiseringsfilen, eller init-filen, som innehåller kommandon skrivna i Lisp som tillåter användare att konfigurera Emacs. För att öppna initialiseringsfilen, tryck på Ctrl + x, följd av Ctrl + f, och ange sedan ~ /.emacs. Inuti detta uttryck kan du infoga ytterligare kod för att anpassa Emacs.

1) Lägga till support för paket

Lisp kan användas för att lägga till stöd i Emacs för paket med olika källor. Melpa är en av källorna från vilka användare kan installera dessa tillägg. För att lägga till Melpa till Emacs, lägg till följande rader i init-filen:

(kräver paket)
(add-to-list 'package-archives
'("melpa" . "http: // melpa.org / paket / ") t)
(initiera paket)
(paket-uppdateringsinnehåll)

Den här koden lägger till Melpa-arkivet i listan över paketförvar, ger Emacs tillstånd att använda dessa paket, initialiserar dessa paket och uppdaterar innehållet för att ändringarna ska kunna ske. Om du öppnar din paketlista genom att trycka på Alt + x och gå in paketlista-paket, du kan se de installerade paketen i Melpa-arkivet.


-

2) Ändra tema för Emacs

Inledningsvis, när du laddar Emacs, får du en skärm som välkomnar dig till Emacs och ger dig olika alternativ, till exempel Emacs Tutorial.

Den här sidan ser dock inte så bra ut. Med Lisp kan du ändra temat för Emacs och startsidan enligt dina preferenser. Användare kan ladda olika typer av teman, ändra teckenstorlekar och till och med lägga till radkulor.

Anta till exempel att du vill ersätta startsidan till skrapbufferten, ladda materialtemat och lägga till radkulor. Detta kan göras genom att lägga till följande rader i init-filen:

(setq inhibit-startup-meddelande t)
(lasttema 'material t)
(global-linum-mode t)

Som definierats ovan gör setq-syntaxen hämma-start-meddelandet sant, vilket tar bort den första startsidan. Lasttemat laddar materialtemat. Global-linum-mode-syntaxen är helt enkelt en funktion som är inställd på att vara sant och körs för att producera radnummer. Så här ska Emacs se ut efter att ha skrivit in kommandona ovan:

3) Binda genvägar till tangentbindningar

Lisp kan också användas för att binda kommandon eller genvägar till tangenter. Detta gör det möjligt för användare att anpassa Emacs enligt deras preferenser, samt köra anpassade funktioner som användaren har gjort med bara ett klick.

Antag att du har definierat en funktion som helt enkelt skapar ett bakåtvänd snedstreck och att du vill tilldela detta till tangenterna Ctrl + x följd av Ctrl + o. Detta kan göras genom att lägga till följande rader i initialiseringsfilen:

(avstänga insert_backslash ()
(interaktiv)
(Föra in "\"))
(global set-key (kbd ""C-x C-o"")
'insert_backslash)

Här definieras funktionen insert_backslash, görs interaktiv (detta gör att funktionen kan kallas interaktivt menande med tangentbindningen), och utgången är en backslash. Sedan kan du binda funktionen med tangenterna ovan med hjälp av nyckelordet global set-key.

Varför använda Lisp?

Lisp är en integrerad del av Emacs, eftersom det gör att Emacs kan ha mer kraft och funktionalitet. Lisp ger användare möjlighet att anpassa Emacs och göra det till något som matchar deras intressen och behov. Lisp är det som gör Emacs riktigt kraftfullt och unikt jämfört med andra textredigerare.

"
Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...
Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...
HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...