Bruke Lisp i Emacs

Bruke Lisp i Emacs
Den raske progresjonen av teknologi har gjort det mulig for forskjellige programmeringsverktøy å bli fremtredende og komme i søkelyset. Tekstredaktører er inkludert i slike verktøy på grunn av massiv utvikling som skjer innen teknologibedriften. Deres lette natur, sammen med deres fleksibilitet til å redigere og bygge filer og sterke ytelser utenfor boksen, har gjort tekstredaktører ganske godt likt blant samfunnet. Fordelene gitt av tekstredaktører fører ofte til å favorisere disse verktøyene fremfor andre lignende verktøy, for eksempel IDE. Tekstredaktører sitter i forkant av arbeidet som er gjort av utviklere, så det er viktig å bruke en redaktør som gir en rekke funksjoner i henhold til dine behov.

Emacs er et slikt eksempel på en tekstredigerer som på grunn av dens allsidighet og tilpassbare natur har fått ganske navnet for seg selv blant utviklersamfunnet. Som en av de eldste tekstredaktørene der ute, er Emacs kjent for sin stabilitet og konsistens.

Det som gjør Emacs spesiell er at det ikke bare er en tekstredigerer, men snarere en fullverdig maskin. Emacs kan settes opp som et skall, en e -postklient, en arrangør og så mye mer. Kompleksiteten til Emacs oppstår fra LISP -tolken i kjernen, som igjen lar brukerne tilpasse den med enda flere funksjonaliteter ved å bruke LISP -språket.

Denne artikkelen dekker hvordan du bruker LISP gjennom forskjellige metoder for å konfigurere og tilpasse Emacs.

Grunnleggende om Lisp

Før du ser hvordan LISP kan brukes til å konfigurere Emacs, er det først viktig å se på noen av de grunnleggende om LISP -språket for å få en bedre forståelse av denne funksjonen.

I LISP består programmer av symbolske uttrykk, forkortet til S-Exps. Disse uttrykkene kan bare bestå av begge variabler, eller også inkludere andre funksjoner.

En funksjon noteres ved å pakke teksten inne i en parentes. For å kalle tilleggsfunksjonen brukes for eksempel følgende syntaks:

(+ 2 2)

Ovennevnte uttalelse sier “Legg til 2 til 2.”Nestede S-Exps vil se ut som dette:

(+ 2 (+ 1 1))

Du kan også lagre verdier inne i en variabel ved hjelp av SETQ -kommandoen:

(setq my-name "John")

Funksjoner kan defineres ved hjelp av defun nøkkelord. For eksempel er en funksjon som beregner kvadratet til et tall skrevet som følger:

(Defun Square (x)
(* x x))
(kvadrat 2)

Du kan evaluere funksjoner definert ved å bruke nøklene Ctrl + x etterfulgt av Ctrl + e. Dette vil gi en utgang inne i minibufferen. For eksempel vil kvadratfunksjonen ha følgende utgang:

Merk: Du må evaluere både defun -segmentet og det firkantede segmentet.

Som dekker det grunnleggende. Følgende seksjoner vil vise hvordan du konfigurerer Emacs ved hjelp av LISP.

Initialiseringsfil

Når EMACS starter, er den første behandlede filen initialiseringsfilen, eller init -filen, som inneholder kommandoer skrevet i LISP som lar brukere konfigurere EMACS. For å åpne initialiseringsfilen, trykk Ctrl + x, etterfulgt av Ctrl + f, Og deretter gå inn ~/.Emacs. Inne i dette uttrykket kan du sette inn ekstra kode for å tilpasse Emacs.

1) Legge til støtte for pakker

Lisp kan brukes til å legge til støtte i Emacs for pakker med forskjellige kilder. Melpa er en av kildene som brukere kan installere disse utvidelsene. For å legge til Melpa til Emacs, legg til følgende linjer i INIT -filen:

(krever 'pakke)
(add-to-list 'package-archives
'("Melpa" . "http: // melpa.org/pakker/") t)
(pakkeinitialiserer)
(Pakke-refresh-innhold)

Denne koden legger MELPA -arkivet til listen over pakkelagre, gir tillatelse til Emacs til å bruke disse pakkene, initialiserer disse pakkene og oppdaterer innholdet for at endringene skal finne sted. Hvis du åpner pakkelisten din ved å slå Alt + x og gå inn Pakkelistepakker, Du kan se de installerte pakkene i Melpa -arkivet.


-

2) Endring av tema for emacs

Til å begynne med, når du laster inn Emacs, vil du få en skjerm som ønsker deg velkommen til Emacs og gir deg forskjellige alternativer, for eksempel EMACS -opplæringen.

Denne siden ser imidlertid ikke så bra ut. LISP lar deg endre temaet for Emacs og oppstartssiden i henhold til dine preferanser. Brukere kan laste inn forskjellige typer temaer, endre skriftstørrelser og til og med legge til linjekuler.

Si for eksempel at du vil erstatte oppstartssiden til skrapebufferen, laste inn materialetemaet og legge til linjekuler. Dette kan gjøres ved å legge til følgende linjer i init -filen:

(SETQ Inhibit-Startup-Message T)
(Load-tema 'Materiale T)
(Global-Linum-Mode T)

Som definert ovenfor, gjør SETQ-syntaksen Inhibit-Startup-Message True, som fjerner den første startsiden. Lastetema laster inn materialetemaet. Global-Linum-Mode-syntaksen er ganske enkelt en funksjon som er satt til å være sann og utføres for å produsere linjetall. Slik skal Emacs se ut etter å ha lagt inn kommandoene ovenfor:

3) Bind snarveier til nøkkelbindinger

Lisp kan også brukes til å binde kommandoer eller snarveier til nøkler. Dette lar brukere tilpasse emacs i henhold til deres preferanser, samt kjøre tilpassede funksjoner gjort av brukeren med bare et klikk.

Anta at du har definert en funksjon som ganske enkelt produserer en tilbakeslagskarakter, og at du vil tilordne dette til nøklene Ctrl + x etterfulgt av Ctrl + O. Dette kan gjøres ved å legge til følgende linjer i initialiseringsfilen:

(Defun insert_backslash ()
(interaktiv)
(sett inn "\"))
(Global-Set-Key (KBD ""C-X C-O"")
'Insert_backslash)

Her er funksjonsinnsatsen_backslash definert, gjort interaktiv (dette gjør at funksjonen kan kalles interaktivt mening med nøkkelbindingen), og utgangen er en tilbakeslag. Deretter kan du binde funksjonen med nøklene gitt ovenfor ved hjelp av det globale sett-nøkkelordet.

Hvorfor bruke Lisp?

Lisp er en integrert del av Emacs, ettersom det lar Emacs ha mer kraft og funksjonalitet. Lisp gir en mulighet for brukere til å tilpasse Emacs og gjøre det til noe som samsvarer med deres interesser og behov. Lisp er det som gjør emacs virkelig kraftige og unike sammenlignet med andre tekstredaktører.

"