Emacs

Bruke Lisp i Emacs

Bruke Lisp i Emacs
Den raske utviklingen av teknologi har gjort det mulig for ulike programmeringsverktøy å bli fremtredende og komme i søkelyset. Tekstredigerere er inkludert i slike verktøy på grunn av massiv utvikling innen teknologibransjen. Deres lette natur, sammen med fleksibiliteten til å redigere og bygge filer og sterk ytelse utenom boksen, har gjort tekstredigerere ganske godt likt blant samfunnet. Fordelene som tilbys av tekstredigerere får ofte utviklere til å favorisere disse verktøyene fremfor andre lignende verktøy, for eksempel IDE. Tekstredigerere sitter i forkant av arbeidet som gjøres 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 sin allsidighet og tilpassbare natur har skaffet seg ganske stort navn blant utviklerfellesskapet. Som en av de eldste tekstredigererne 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 heller en fullverdig maskin. Emacs kan settes opp som et skall, en e-postklient, en arrangør og så mye mer. Kompleksiteten til Emacs kommer fra Lisp-tolken i sin kjerne, som igjen lar brukerne tilpasse den med enda flere funksjoner ved hjelp av 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 det grunnleggende i Lisp-språket for å få en bedre forståelse av denne funksjonen.

I Lisp består programmene av symbolske uttrykk, forkortet til s-exps. Disse uttrykkene kan bare bestå av enten variabler, eller også omfatte andre funksjoner.

En funksjon blir notert ved å pakke inn teksten i en parentes. For eksempel, for å ringe til tilleggsfunksjonen, brukes følgende syntaks:

(+ 2 2)

Ovennevnte uttalelse sier “legg til 2 til 2.”Nestede s-exps vil se ut slik:

(+ 2 (+ 1 1))

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

(setq mitt navn "John")

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

(defun firkant (x)
(* x x))
(firkant 2)

Du kan evaluere funksjoner som er definert ved hjelp av tastene Ctrl + x etterfulgt av Ctrl + e. Dette vil gi en utgang inne i mini-bufferen. For eksempel vil kvadratfunksjonen ha følgende utgang:

Merk: du må evaluere både det nedlagte segmentet og det firkantede segmentet.

Det dekker det grunnleggende. De følgende avsnittene viser 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 brukerne konfigurere Emacs. Trykk på for å åpne initialiseringsfilen Ctrl + x, etterfulgt av Ctrl + f, og deretter 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 brukerne kan installere disse utvidelsene fra. For å legge til Melpa i Emacs, legg til følgende linjer i init-filen:

(krever 'pakke)
(add-to-list 'pakke-arkiver
'("melpa" . "http: // melpa.org / pakker / ") t)
(initialisering av pakke)
(pakke-oppdater-innhold)

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


-

2) Endring av tema for Emacs

Først når du laster inn Emacs, får du en skjerm som ønsker deg velkommen til Emacs og gir deg forskjellige alternativer, for eksempel Emacs Tutorial.

Imidlertid ser denne siden ikke så bra ut. Lisp lar deg endre temaet til 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 Material-temaet og legge til linjekuler. Dette kan gjøres ved å legge til følgende linjer i init-filen:

(setq inhibit-startup-message t)
(last-tema 'materiale t)
(global-linum-modus t)

Som definert ovenfor gjør setq-syntaksen hemmelig-oppstart-meldingen sann, som fjerner den første startsiden. Lastetemaet laster inn materialtemaet. Global-linum-modus-syntaksen er ganske enkelt en funksjon som er satt til å være sant og utføres for å produsere linjenumre. Slik skal Emacs se ut etter å ha skrevet inn kommandoene ovenfor:

3) Bind snarveier til tastebindinger

Lisp kan også brukes til å binde kommandoer eller snarveier til taster. Dette lar brukerne tilpasse Emacs i henhold til deres preferanser, samt kjøre tilpassede funksjoner laget av brukeren med bare et klikk.

Anta at du har definert en funksjon som ganske enkelt produserer et tilbakeslagstegn, og at du vil tilordne dette til tastene 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 funksjonen insert_backslash definert, gjort interaktiv (dette gjør at funksjonen kan kalles interaktivt med betydning med tastebindingen), og utgangen er en tilbakeslag. Deretter kan du binde funksjonen med tastene gitt ovenfor ved å bruke søkeordet global set-key.

Hvorfor bruke Lisp?

Lisp er en integrert del av Emacs, da det gjør at Emacs kan ha mer kraft og funksjonalitet. Lisp gir brukere muligheten til å tilpasse Emacs og gjøre det til noe som samsvarer med deres interesser og behov. Lisp er det som gjør Emacs virkelig kraftig og unik sammenlignet med andre tekstredigerere.

"
HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...
Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...
Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...