Agordi Skimprogramadon en Emakso

Esperanto | English
Laste ĝisdatigita: la 24-an de marto 2022

Ĉiom da bonaj ideoj ne kuŝas sub unu ĉapelo.
—Dale TURNER

dimitar-belchev-fRBpWLAcWIY-unsplash

Enhavotabelo

Enkonduko

En ĉi tiu afiŝo, mi priparolos la plej facilan metodon, kiun mi uzis por agordi skiman programadan medion emakse. Notu, ke ĉi tiu ne estas la sola aliro—iuj traktis ĝin en aserteble pli bonaj manieroj. En ĉi tiu afiŝo, mi provos klarigi la malpli longan vojon, kiun mi vojaĝigis.

Redakti skimkodon emakse estis tradicie farita per rudimentaj reĝimoj, kiuj malhavis flekson. Ili estis kapablaj por taksi aktualajn difinojn, lastajn difinojn, kaj tutajn bufrojn, ĉefparte. Bedaŭrinde, tio ne sufiĉis pri la maniero, en kiu skimo traktadis la aferojn. Pli inteligenta maniero por trakti kodon estis bezonita.

Bonŝance, ekzistas Geiser. Estas aliaj reĝimoj, kiuj provas fari tiujn, kiujn Geiser faras, tamen mi fariĝas pli bonfarta al tiuj, kiujn Geiser ofertis. Kelkaj similaj bibliotekoj ankaŭ povas kunekzisti kun Geiser. Mi ankaŭ provis tiujn, bedaŭrinde, ili fariĝis tro malsimplaj al mi. Mi finvenis uzi nur Geiser. Kaj kiel parte rilata noto, mi uzas emakson por redakti skimkodon tial, ke mi ne konas ian ajn redaktilon kiu tiel bonfartas.

Instalo

Per ELPA, instali Geiser facilas. Simple rulu la jenan komandon

M-x package-install EN geiser EN

tiam post malmultajn sekundojn, oni havos Geiser, instalita en via emaksa profilo. Sekve, oni metos la efektivan kodon, kiu envokas kaj agordas Geiser:

(require 'geiser)

(setq geiser-active-implementations '(mit))

(defun geiser-save ()
  (interactive)
  (geiser-repl--write-input-ring))

La unuesprimo ŝargas Geiser mem. La duesprimo precizigas, ke ĝi ne invitos la uzanton por la aliaj realigoj, se ĝi trovas ilin. La lastesprimo malnepras—ebligas onin por ruli

M-x geiser-save EN

en la REPL-bufro, por devigi la konservadon de la historio al la diskdosiero, kiu implicite troveblas en ~/.geiser_history.mit Estas utile se oni tuj volas konservi la REPL-historion. Ne ekzistas pli terura afero ol perdi gravajn esprimojn. Por certigi, ke ĉiomaj emaksaj kodoj supre efektiviĝos, oni nun povas taksi ilin per la membroj de la EVAL-trupo—eval-defun, eval-last-sexp, eval-region—aŭ oni ankoraŭ elektas naski novan emaksan procezon.

Uzado

Por rikolti tiujn, kiujn oni semis, kreu aŭ malfermu .scm-dosieron, kun malpleje ĝusta modula deklaro. Tiam, premu:

M-x run-geiser EN

Kaj, hura! Aperas nova emaksa fenestro enhavante la * MIT REPL *-bufron. Kio ajn oni povas fari per la REPL-bufro—vokita per la vanila komandlinia mit-scheme-programo—oni ankaŭ povas fari, per ĉi tiu kaj pli. Ĉi tiu ĉefreĝimo fakte estas la Comint-reĝimo sub la kovrilo, kun kroĉiloj al skima procezo. Al tiuj, kiuj ne konas la Comint-reĝimon, ĝi estas la sama reĝimo kiu traktas `M-x shell EN`.

Do, kion oni povas fari per tio? Dum redakti .rkt-dosieron, jen kelkaj kutimaj klavkombinoj, kiujn mi uzas. La plena listo haveblas ĉi tie. Notu, ke la priskribo de la klavoj, kiujn mi uzas malsupre, estas por mi mem komence, por helpi min kompreni tion, kion ĝi faras. Eble ili malsimilas al la oficiala priskribo, listigita ĉe la antaŭmenciita ligilo.

Skima bufro

KlavkombinojKion ĝi faras
C-c C-zIri al la REPL-bufro
C-c C-aTaksi la aktualan bufron, tiam iri al la REPL-bufro
C-M-xTaksi la aktualan esprimon
C-x C-eTaksi la lastan esprimon
C-c C-rTaksi la regionon
C-c C-\Enmeti lambdsimbolon (λ)

REPL-bufro

KlavkombinojKion ĝi faras
C-c C-zIri al la skima bufro
M-pMontri la antaŭan historieron
M-nMontri la sekvan historieron
C-c M-pSalti al la antaŭinvito
C-c M-nSalti al la sekvinvito
C-c C-qEliri de la REPL

Finrimarkoj

Mi laŭcele preterpasis multan temon de la oficialdokumento tial, ke ĝi fariĝas malĉarma al multaj homoj, kiuj malinklinas legi longajn blokojn da teksto. Ironie, ĉi tiu artikolo povas kvalifi kiel tio! La priskribitaj metodoj supre ne reprezentiĝas de kiel la ĝenerala komunumo faras ilin. Do, ĝis!