Emacs

Utilizarea Lisp în Emacs

Utilizarea Lisp în Emacs
Progresia rapidă a tehnologiei a permis diverselor instrumente de programare să devină proeminente și să intre în centrul atenției. Editorii de text sunt incluși în astfel de instrumente datorită dezvoltării masive care se întâmplă în cadrul tehnologiei. Natura lor ușoară, împreună cu flexibilitatea lor de a edita și construi fișiere și performanțe puternice out-of-the-box, au făcut editorii de text destul de apreciați în rândul comunității. Avantajele oferite de editorii de text îi determină adesea pe dezvoltatori să favorizeze aceste instrumente față de alte instrumente similare, cum ar fi IDE. Editorii de text stau în fruntea muncii realizate de dezvoltatori, deci este important să folosiți un editor care să ofere o varietate de caracteristici în funcție de nevoile dvs.

Emacs este un astfel de exemplu de editor de text care, datorită versatilității și naturii sale personalizabile, și-a adunat destul numele în comunitatea dezvoltatorilor. Fiind unul dintre cei mai vechi editori de text, Emacs este cunoscut pentru stabilitate și consistență.

Ceea ce face Emacs special este că nu este doar un editor de text, ci mai degrabă o mașină completă. Emacs poate fi configurat ca un shell, un client de e-mail, un organizator și multe altele. Complexitatea Emacs apare din interpretul Lisp de bază, care la rândul său permite utilizatorilor să îl personalizeze cu chiar mai multe funcționalități folosind limbajul Lisp.

Acest articol prezintă modul de utilizare a Lisp prin diferite metode pentru a configura și personaliza Emacs.

Bazele Lisp

Înainte de a vedea cum Lisp poate fi folosit pentru a configura Emacs, este important să ne uităm la câteva dintre elementele de bază ale limbajului Lisp pentru a înțelege mai bine această caracteristică.

În Lisp, programele sunt alcătuite din expresii simbolice, scurtate la s-exps. Aceste expresii pot consta numai din variabile sau pot include și alte funcții.

O funcție este notată prin înfășurarea textului într-o paranteză. De exemplu, pentru apelarea funcției de adăugare, se folosește următoarea sintaxă:

(+ 2 2)

Afirmația de mai sus spune „adăugați 2 la 2.”S-exp. Imbricate vor arăta cam așa:

(+ 2 (+ 1 1))

De asemenea, puteți stoca valori în interiorul unei variabile utilizând comanda setq:

(setq numele meu „John”)

Funcțiile pot fi definite folosind defun cuvânt cheie. De exemplu, o funcție care calculează pătratul unui număr este scrisă după cum urmează:

(defun pătrat (x)
(* x x))
(pătrat 2)

Puteți evalua funcțiile definite folosind tastele Ctrl + x urmată de Ctrl + e. Aceasta va produce o ieșire în interiorul mini-tamponului. De exemplu, funcția pătrat va avea următoarea ieșire:

Notă: trebuie să evaluați atât segmentul defun cât și segmentul pătrat.

Aceasta acoperă elementele de bază. Următoarele secțiuni vor arăta cum să configurați Emacs utilizând Lisp.

Fișier de inițializare

Când începe Emacs, primul fișier procesat este fișierul de inițializare sau fișierul init, care conține comenzi scrise în Lisp care permit utilizatorilor să configureze Emacs. Pentru a deschide fișierul de inițializare, apăsați Ctrl + x, urmată de Ctrl + f, și apoi intrați ~ /.emacs. În interiorul acestei expresii, puteți insera cod suplimentar pentru a personaliza Emacs.

1) Adăugarea suportului pentru pachete

Lisp poate fi utilizat pentru a adăuga suport în Emacs pentru pachete de surse diferite. Melpa este una dintre sursele din care utilizatorii pot instala aceste extensii. Pentru a adăuga Melpa la Emacs, adăugați următoarele linii în fișierul inițial:

(solicitați pachet)
(add-to-list 'pachet-arhive
'("melpa" . „http: // melpa.org / pachete / ") t)
(pachet-inițializare)
(package-refresh-contents)

Acest cod adaugă arhiva Melpa la lista de depozite de pachete, acordă permisiunea Emacs de a utiliza aceste pachete, inițializează aceste pachete și reîmprospătează conținutul pentru ca modificările să aibă loc. Dacă vă deschideți lista de pachete apăsând Alt + x si intra pachete-lista-pachete, puteți vedea pachetele instalate în arhiva Melpa.


-

2) Tema schimbătoare a Emacs

Inițial, când încărcați Emacs, veți primi un ecran care vă întâmpină în Emacs și vă oferă diverse opțiuni, cum ar fi Tutorialul Emacs.

Cu toate acestea, această pagină nu arată atât de grozav. Lisp vă permite să schimbați tema Emacs și pagina de pornire în funcție de preferințele dvs. Utilizatorii pot încărca diferite tipuri de teme, pot modifica dimensiunile fontului și chiar pot adăuga marcatori.

De exemplu, să presupunem că doriți să înlocuiți pagina de pornire în tamponul de zgârieturi, să încărcați tema Material și să adăugați marcatori de linie. Acest lucru se poate face prin adăugarea următoarelor linii în fișierul inițial:

(setq inhibit-startup-message t)
(încărcare-temă „material t)
(global-linum-mode t)

Așa cum s-a definit mai sus, sintaxa setq face ca mesajul inhibit-startup să fie adevărat, ceea ce elimină pagina inițială de pornire. Tema de încărcare încarcă tema materială. Sintaxa global-linum-mode este pur și simplu o funcție care este setată să fie adevărată și este executată pentru a produce numere de linie. Așa ar trebui să arate Emacs după introducerea comenzilor de mai sus:

3) Legați comenzile rapide la legăturile de taste

Lisp poate fi, de asemenea, utilizat pentru a lega comenzi sau comenzi rapide la taste. Acest lucru permite utilizatorilor să personalizeze Emacs în funcție de preferințele lor, precum și să ruleze funcții personalizate realizate de utilizator cu doar un clic.

Să presupunem că ați definit o funcție care produce pur și simplu un caracter invers și doriți să atribuiți aceste taste Ctrl + x urmată de Ctrl + o. Acest lucru se poate face prin adăugarea următoarelor linii în fișierul de inițializare:

(defun insert_backslash ()
(interactiv)
(inserați „\"))
(global-set-key (kbd ""C-x C-o"")
'insert_backslash)

Aici, funcția insert_backslash este definită, făcută interactivă (aceasta permite ca funcția să fie numită interactiv semnificând cu legarea tastei), iar ieșirea este o bară inversă. Apoi, puteți lega funcția cu tastele date mai sus folosind cuvântul cheie global-set-key.

De ce să folosești Lisp?

Lisp este o parte integrantă a Emacs, deoarece permite Emacs să aibă mai multă putere și funcționalitate. Lisp oferă utilizatorilor o oportunitate de a personaliza Emacs și de a-l transforma în ceva care se potrivește cu interesele și nevoile lor. Lisp este ceea ce face Emacs cu adevărat puternic și unic în comparație cu alți editori de text.

"
Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...
Tutorial Shadow of the Tomb Raider pentru Linux
Shadow of the Tomb Raider este a douăsprezecea completare a seriei Tomb Raider - o franciză de jocuri de acțiune-aventură creată de Eidos Montreal. Jo...
Cum se mărește FPS în Linux?
FPS înseamnă Cadre pe secundă. Sarcina FPS este de a măsura rata de cadre în redările video sau în performanțele jocului. În cuvinte simple, numărul d...