Emacs

Lisp gebruiken in Emacs

Lisp gebruiken in Emacs
Door de snelle vooruitgang van de technologie zijn verschillende programmeertools prominent geworden en in de schijnwerpers komen te staan. Teksteditors zijn opgenomen in dergelijke tools vanwege de enorme ontwikkeling die plaatsvindt binnen de technologiebusiness. Hun lichtgewicht karakter, samen met hun flexibiliteit om bestanden te bewerken en op te bouwen en sterke out-of-the-box prestaties, hebben ervoor gezorgd dat teksteditors erg geliefd zijn in de gemeenschap. De voordelen van teksteditors leiden er vaak toe dat ontwikkelaars deze tools verkiezen boven andere vergelijkbare tools, zoals IDE. Teksteditors lopen voorop bij het werk dat door ontwikkelaars wordt gedaan, dus het is belangrijk om een ​​editor te gebruiken die een verscheidenheid aan functies biedt, afhankelijk van uw behoeften.

Emacs is zo'n voorbeeld van een teksteditor die, vanwege zijn veelzijdigheid en aanpasbare aard, behoorlijk naam heeft vergaard onder de ontwikkelaarsgemeenschap. Als een van de oudste teksteditors die er zijn, staat Emacs bekend om zijn stabiliteit en consistentie.

Wat Emacs speciaal maakt, is dat het niet alleen een teksteditor is, maar eerder een volwaardige machine. Emacs kan worden ingesteld als een shell, een e-mailclient, een organisator en nog veel meer. De complexiteit van Emacs komt voort uit de Lisp-interpreter in de kern, waardoor gebruikers het op zijn beurt kunnen aanpassen met nog meer functionaliteiten met behulp van de Lisp-taal.

In dit artikel wordt beschreven hoe u Lisp op verschillende manieren kunt gebruiken om Emacs te configureren en aan te passen.

Basisprincipes van Lisp

Voordat u ziet hoe Lisp kan worden gebruikt om Emacs te configureren, is het eerst belangrijk om enkele basisprincipes van de Lisp-taal te bekijken om een ​​beter begrip van deze functie te krijgen.

In Lisp bestaan ​​programma's uit symbolische uitdrukkingen, afgekort tot s-exps. Deze expressies kunnen alleen uit variabelen bestaan ​​of ook andere functies bevatten.

Een functie wordt genoteerd door de tekst tussen haakjes te plaatsen. Voor het aanroepen van de optelfunctie wordt bijvoorbeeld de volgende syntaxis gebruikt:

(+ 2 2)

De bovenstaande verklaring zegt "voeg 2 toe aan 2".” Geneste s-exps zien er ongeveer zo uit:

(+ 2 (+ 1 1))

U kunt ook waarden binnen een variabele opslaan met behulp van de opdracht setq:

(setq mijn naam "John")

Functies kunnen worden gedefinieerd met behulp van de ontkrachten trefwoord. Een functie die het kwadraat van een getal berekent, wordt bijvoorbeeld als volgt geschreven:

(defun vierkant (x)
(*xx))
(vierkant 2)

U kunt functies evalueren die zijn gedefinieerd met behulp van de toetsen Ctrl + x gevolgd door Ctrl + e. Dit zal een output produceren binnen de mini-buffer. De vierkante functie heeft bijvoorbeeld de volgende uitvoer:

Opmerking: u moet zowel het defun-segment als het vierkante segment evalueren.

Dat dekt de basis. De volgende secties laten zien hoe u Emacs kunt configureren met Lisp.

Initialisatiebestand

Wanneer Emacs start, is het eerste verwerkte bestand het initialisatiebestand, of init-bestand, dat opdrachten bevat die in Lisp zijn geschreven en waarmee gebruikers Emacs kunnen configureren. Om het initialisatiebestand te openen, drukt u op Ctrl + x, gevolgd door Ctrl + f, en voer dan in ~/.emacs. Binnen deze uitdrukking kun je extra code invoegen om Emacs aan te passen.

1) Ondersteuning voor pakketten toevoegen

Lisp kan worden gebruikt om ondersteuning in Emacs toe te voegen voor pakketten van verschillende bronnen. Melpa is een van de bronnen van waaruit gebruikers deze extensies kunnen installeren. Om Melpa aan Emacs toe te voegen, voegt u de volgende regels toe aan het init-bestand:

(vereisen 'pakket)
(toevoegen aan lijst 'pakketarchieven'
'("melpa" . "http://melpa.org/pakketten/") t)
(pakket-initialiseren)
(pakket-vernieuwen-inhoud)

Deze code voegt het Melpa-archief toe aan de lijst met pakketrepository's, geeft Emacs toestemming om deze pakketten te gebruiken, initialiseert deze pakketten en ververst de inhoud zodat de wijzigingen kunnen plaatsvinden. Als u uw pakketlijst opent door op te drukken Alt + x en ga naar binnen pakket-lijst-pakketten, je kunt de geïnstalleerde pakketten zien in het Melpa-archief.


-

2) Thema van Emacs wijzigen

In eerste instantie, wanneer je Emacs laadt, krijg je een scherm dat je verwelkomt bij Emacs en je verschillende opties geeft, zoals de Emacs-zelfstudie.

Deze pagina ziet er echter niet zo geweldig uit. Met Lisp kun je het thema van Emacs en de opstartpagina aanpassen aan je voorkeuren. Gebruikers kunnen verschillende soorten thema's laden, lettergroottes wijzigen en zelfs regelopsommingstekens toevoegen.

Stel bijvoorbeeld dat u de opstartpagina wilt vervangen door de krasbuffer, het thema Materiaal wilt laden en regelopsommingstekens wilt toevoegen. Dit kan door de volgende regels aan het init-bestand toe te voegen:

(setq inhibit-startup-bericht t)
(laad-thema 'materiaal t)
(global-linum-mode t)

Zoals hierboven gedefinieerd, maakt de setq-syntaxis het inhibit-startup-bericht waar, waardoor de initiële startpagina wordt verwijderd. Het laadthema laadt het materiële thema. De syntaxis van global-linum-modus is gewoon een functie die is ingesteld om waar te zijn en wordt uitgevoerd om regelnummers te produceren. Dit is hoe Emacs eruit zou moeten zien na het invoeren van de bovenstaande commando's:

3) Bind snelkoppelingen naar toetsbindingen

Lisp kan ook worden gebruikt om opdrachten of snelkoppelingen aan toetsen te binden. Hierdoor kunnen gebruikers Emacs aanpassen aan hun voorkeuren, evenals aangepaste functies uitvoeren die door de gebruiker zijn gemaakt met slechts een klik.

Stel dat u een functie hebt gedefinieerd die eenvoudig een backslash-teken produceert en u wilt dit toewijzen aan de toetsen Ctrl + x gevolgd door Ctrl + uit. Dit kan door de volgende regels aan het initialisatiebestand toe te voegen:

(defun insert_backslash ()
(interactief)
(vul "\"))
(global-set-key (kbd ""C-x C-o"")
'insert_backslash)

Hier wordt de functie insert_backslash gedefinieerd, interactief gemaakt (hierdoor kan de functie interactief worden aangeroepen, wat betekent met de toetsbinding), en de uitvoer is een backslash. Vervolgens kunt u de functie binden met de hierboven gegeven sleutels met behulp van het sleutelwoord global-set-key.

Waarom Lisp . gebruiken?

Lisp is een integraal onderdeel van Emacs, omdat het Emacs meer kracht en functionaliteit geeft and. Lisp biedt gebruikers de mogelijkheid om Emacs aan te passen en er iets van te maken dat aansluit bij hun interesses en behoeften. Lisp is wat Emacs echt krachtig en uniek maakt in vergelijking met andere teksteditors.

"
Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...
Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...
Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...