Emacs

Brug af Lisp i Emacs

Brug af Lisp i Emacs
Den hurtige teknologiske udvikling har gjort det muligt for forskellige programmeringsværktøjer at blive fremtrædende og komme i rampelyset. Teksteditorer er inkluderet i sådanne værktøjer på grund af massiv udvikling inden for teknologivirksomheden. Deres lette karakter sammen med deres fleksibilitet til at redigere og oprette filer og stærk out-of-the-box-ydeevne har gjort teksteditorer ret vellidt blandt samfundet. Fordelene fra teksteditorer får ofte udviklere til at foretrække disse værktøjer frem for andre lignende værktøjer, såsom IDE. Teksteditorer sidder i spidsen for det arbejde, der er udført af udviklere, så det er vigtigt at bruge en editor, der leverer en række funktioner alt efter dine behov.

Emacs er et sådant eksempel på en teksteditor, der på grund af sin alsidighed og brugerdefinerede natur har fået helt navnet for sig selv blandt udviklerfællesskabet. Som en af ​​de ældste tekstredaktører derude er Emacs kendt for sin stabilitet og konsistens.

Hvad der gør Emacs speciel er, at det ikke kun er en teksteditor, men snarere en fuldt udviklet maskine. Emacs kan konfigureres som en shell, en e-mail-klient, en arrangør og så meget mere. Kompleksiteten af ​​Emacs stammer fra Lisp-tolkens kerne, hvilket igen giver brugerne mulighed for at tilpasse det med endnu flere funktioner ved hjælp af Lisp-sproget.

Denne artikel dækker, hvordan du bruger Lisp gennem forskellige metoder til at konfigurere og tilpasse Emacs.

Grundlæggende om Lisp

Før du ser, hvordan Lisp kan bruges til at konfigurere Emacs, er det først vigtigt at se på nogle af de grundlæggende i Lisp-sproget for at få en bedre forståelse af denne funktion.

I Lisp består programmerne af symbolske udtryk, forkortet til s-exps. Disse udtryk kan kun bestå af enten variabler eller omfatte andre funktioner.

En funktion noteres ved at indpakke teksten inden for en parentes. For eksempel til at kalde tilføjelsesfunktionen anvendes følgende syntaks:

(+ 2 2)

Ovenstående udsagn siger “tilføj 2 til 2.”Indlejrede s-exps vil se sådan ud:

(+ 2 (+ 1 1))

Du kan også gemme værdier inde i en variabel ved hjælp af setq-kommandoen:

(setq mit navn "John")

Funktioner kan defineres ved hjælp af afskediget nøgleord. For eksempel skrives en funktion, der beregner kvadratet af et tal, som følger:

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

Du kan evaluere funktioner defineret ved hjælp af tasterne Ctrl + x efterfulgt af Ctrl + e. Dette vil producere et output inde i mini-bufferen. For eksempel vil kvadratfunktionen have følgende output:

Bemærk: Du skal evaluere både det defunne segment og det firkantede segment.

Det dækker det grundlæggende. De følgende afsnit viser, hvordan du konfigurerer Emacs ved hjælp af Lisp.

Initialiseringsfil

Når Emacs starter, er den første behandlede fil initialiseringsfilen eller init-filen, der indeholder kommandoer skrevet i Lisp, der giver brugerne mulighed for at konfigurere Emacs. For at åbne initialiseringsfilen skal du trykke på Ctrl + x, efterfulgt af Ctrl + f, og indtast derefter ~ /.emacs. Inde i dette udtryk kan du indsætte yderligere kode for at tilpasse Emacs.

1) Tilføjelse af support til pakker

Lisp kan bruges til at tilføje support i Emacs til pakker fra forskellige kilder. Melpa er en af ​​de kilder, hvorfra brugere kan installere disse udvidelser. For at tilføje Melpa til Emacs skal du tilføje følgende linjer til init-filen:

(kræv 'pakke)
(tilføj til liste 'pakke-arkiver
'("melpa" . "http: // melpa.org / pakker / ") t)
(pakke-initialisering)
(pakke-opdateringsindhold)

Denne kode føjer Melpa-arkivet til listen over pakkeopbevaringssteder, giver Emacs tilladelse til at bruge disse pakker, initialiserer disse pakker og opdaterer indholdet for at ændringerne skal finde sted. Hvis du åbner din pakkeliste ved at trykke Alt + x og indtast pakke-liste-pakker, du kan se de installerede pakker i Melpa-arkivet.


-

2) Ændring af emacs-tema

Oprindeligt, når du indlæser Emacs, får du en skærm, der byder dig velkommen til Emacs og giver dig forskellige muligheder, såsom Emacs Tutorial.

Denne side ser dog ikke så godt ud. Lisp giver dig mulighed for at ændre temaet for Emacs og startsiden i henhold til dine præferencer. Brugere kan indlæse forskellige typer temaer, ændre skriftstørrelser og endda tilføje linjekugler.

Sig for eksempel, at du vil erstatte startsiden til scratch-bufferen, indlæse Materiale-temaet og tilføje stregkugler. Dette kan gøres ved at tilføje følgende linjer til init-filen:

(setq inhibit-startup-meddelelse t)
(load-tema 'materiale t)
(global-linum-mode t)

Som defineret ovenfor gør setq-syntaksen hæmning-start-meddelelsen sand, hvilket fjerner den indledende startside. Load-temaet indlæser materialet. Den globale-linum-mode syntaks er simpelthen en funktion, der er indstillet til at være sand og udføres for at producere linjenumre. Sådan ser Emacs ud efter at have indtastet ovenstående kommandoer:

3) Bind genveje til tastebindinger

Lisp kan også bruges til at binde kommandoer eller genveje til taster. Dette giver brugerne mulighed for at tilpasse Emacs efter deres præferencer samt køre brugerdefinerede funktioner lavet af brugeren med et enkelt klik.

Antag at du har defineret en funktion, der simpelthen producerer et tilbageslagstegn, og du vil tildele dette til tasterne Ctrl + x efterfulgt af Ctrl + o. Dette kan gøres ved at tilføje følgende linjer til initialiseringsfilen:

(defun insert_backslash ()
(interaktiv)
(indsæt "\"))
(global-sæt-nøgle (kbd ""C-x C-o"")
'insert_backslash)

Her er funktionen insert_backslash defineret, lavet interaktiv (dette gør det muligt at kalde funktionen interaktivt, hvilket betyder med nøglebinding), og output er en backslash. Derefter kan du binde funktionen med de taster, der er angivet ovenfor ved hjælp af nøgleordet global-set-key.

Hvorfor bruge Lisp?

Lisp er en integreret del af Emacs, da det giver Emacs mulighed for at have mere magt og funktionalitet. Lisp giver brugerne en mulighed for at tilpasse Emacs og gøre det til noget, der matcher deres interesser og behov. Lisp er det, der gør Emacs virkelig kraftfuld og unik i forhold til andre tekstredaktører.

"
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...