Emacs

familio de multkapablaj etendeblaj tekstoredaktiloj

Emacs, ofte Esperantigita Emakso, estas tekstoredaktilo kiu abundas je iloj kaj estas populara ĉe programistoj. Ĝi estis komence kreita de Richard Stallman en 1976 kiel aro de makrooj por la redaktilo TECO (la nomo venas de la angla Emacs, kiu estas mallongigo de "Editor MACroS").

Emacs

Programisto Richard Stallman
Lasta stabila versio 26.3
(28-a de aŭgusto 2019)
Operaciumo Plursistema
Programlingvo C, LISP
Programtipo Tekstoprilaborilo
Permesilo GNU GPLv3
Retejo www.gnu.org/software/emacs
vdr

Post la unua formo, Emacs jam estis reimplementita multfoje. Nuntempe, la du plej popularaj versoj estas GNU Emacs (ankaŭ verkita de Stallman) kaj proksima parenco XEmacs. Parole, "Emakso" ofte temas pri specife GNU Emacs.

Priskribo de GNU Emacs redakti

La GNU Emacs lernolibro ĝin nomas "la etendebla, proprigebla, sindokumentumanta, realtempa ekrana redaktilo (real-time display editor)."

Interfaco redakti

Emacs retenas tekston en objektoj nomitaj "bufroj". La uzanto povas krei novajn bufrojn kaj forigi nedeziratajn, kaj kelkaj bufroj povas samtempe ekzisti. La plejparto da bufroj enhavas tekston el tekstaj dosieroj, redaktotan de la uzanto. Tamen, malplenaj bufroj povas esti uzata por aliaj celoj, ekz. la uzanto povas krei malplenan bufron por momente reteni tekston.

Ĉiu emaksa ekrano (kiu estas unuopa fenestro en fenestra sistemo, aŭ la tuta ekrano de terminalo) povas montri samtempe unu aŭ pli da bufroj. Se pli ol unu bufro estas montrita, la montra regiono estas disigita en pluraj sekcioj. Ĉe fenestra sistemo, pluraj ekranoj de Emakso povas esti kreitaj.

La uzanto donas redaktajn ordonojn per klavumoj. Aldone al la kutimaj ordonoj por enmeti kaj forigi tekston, Emacs donas multe da pli ekzotaj ordonoj, ekz. movi la redaktan punkton al la sekva frazo, malfermi ĉiujn dosierojn en dosierujo, kaj serĉi-kaj-anstataŭigi. La plejparto de ĉi tiuj ordonoj povas esti plenumitaj per aro de klavumoj. Lastatempaj versioj de Emacs ankaŭ donas grafikajn menuojn por la plej kutimaj ordonoj. (La plejparto de ordonoj, estas simplaj kiel a por enmeti la signon a, estas fakte vokoj al Emacs Lisp funkcioj, priskribitaj ĉi-sube.)

Emacs subtenas multajn signokodojn, inkluzive de UTF-8. Versio kun plena subteno de Unikodo estas prilaborata.

Distribuado redakti

Emakso estas libera programaro, distribuebla laŭ la postuloj de la GNU GPL.

La fontkodo kaj kompilitaĵoj estas akireblaj per FTP de la retpaĝaro de la projekto GNU. Ili estas ankaŭ akireblaj de aliaj lokoj en Interreto. Vendistoj de Uniksoj, kaj liberaj kaj propraj operaciumoj, ofte provizas Emakson kun la operaciumon.

Emakso funkcias ĉe granda kvanto de operaciumoj, inkluzive de Linukso kaj la plejparto de Uniksoj, Mac OS, kaj Vindozo.

Prilaboro redakti

Emakso estas parto de la projekto GNU, kaj estas aktive prilaborata. Kelkaj, sed ne ĉiuj, prilaborantoj estas ligita al la Free Software Foundation (FSF).

Ĝis la eldono de GNU Emacs 21.1, prilaboro de Emakso estis relative fermita. La projekto poste adoptis publikan retpoŝtliston kaj anoniman aliron al CVS. Tamen, restas la oficiala agado de Emakso akcepti signifajn kontribuojn nur se la kontribuanta programisto donas la kopirajton de la kodo al la FSF. (Ĉi tio ne aplikiĝas al raportoj pri cimoj aŭ etaj kontribuoj). Ĉi tiu agado ekzistas por plifaciligi jurprocezon pri libera programaro.

La plejlasta versio de GNU Emacs estas versio 21.2. Prilaboro okazas en ununura branĉo de CVS, kiu estas ĉe versio 21.3.50. La nuna prizorganto estas Richard Stallman.

Historio redakti

Emacs estis kreita ĉe la Laboratorio pri Artefarita Inteligenteco (MIT AI Lab) ĉe la usona universitato MIT. Antaŭ ĝia ekesto, TECO estis la defaŭlta tekstoredaktilo en la operaciumo de la PDP-6 PDP-10 komputiloj tie. Malkiel modernaj tekstoredaktiloj, TECO abstraktigis tajpadon de redaktado, tiel ke modifi dokumenton postulis verki sinsekvon de ordonoj en la TECO komandlingvo. Ĉi tia agado estas simila al la programo ed, kiu estas ankoraŭ uzata.

Carl Mikkelsen, unu el la komputilemuloj ĉe la MIT AI Laboratorio, aldonis ilon al TECO kiu aktualigis la ekranon je ĉiu premo de klavo. Ĉi tiu pli facila uzebleco, kiun uzas la plejparto de modernaj redaktiloj, troviĝis unue en la "E" redaktilo verkita ĉe la universitato Stanford. En 1974, Richard Stallman, alia komputilemulo, aldonis subtenon por makrooj al TECO. Ĉi tio ebligis al la uzanto difini klavumojn por aktivigi TECO-programojn por fari diversajn redaktajn taskojn, ekz. legi aŭ skribi dosierojn.

La uzantoj de la AI Lab baldaŭ amasigis grandan kolekton de specialaj makrooj. En 1976, Guy Steele komencis projekton unuigi la diversajn makroarojn. La projekton finis Stallman, kiu ankaŭ verkis ilojn por etendo kaj sindokumentumado. La rezulta programo nomiĝis EMACS. Kvankam konstruita sur TECO, ĝia agado estis sufiĉe malsama por esti konsiderata propra tekstoredaktilo.

"EMACS" signifis "Editor MACroS" ("redaktilaj makrooj"). Laŭ Stallman, li elektis la nomon Emacs ĉar <E> ne estis uzata tiutempe kiel mallongigo ĉe ITS. Oni jam evidentigis ke "Emack and Bolio's" estis la nomo de populara vendejo de glaciaĵo en Bostono, ene de promendistanco de MIT. La tekstoformatada programo uzata ĉe ITS nomiĝis BOLIO.

Emacs baldaŭ fariĝis la norma redaktilo ĉe ITS. Ĝi estis ankaŭ transprogramita de ITS al la Tenex kaj TOPS-20 operaciumoj fare de Stallman kaj Michael Mcmahon.

Kelkaj Emaksecaj redaktiloj estis verkitaj en la sevkvaj jaroj, i.a. EINE (EINE Is Not EMACS, "EINE ne estas Emakso") kaj ZWEI (ZWEI Was EINE Initially, "ZWEI estis unue EINE") de Michael MCMAHON kaj Daniel Weinreb. En 1978, Bernard Greenberg verkis Multics Emacs. Ĉi tiu redaktilo estis verkita en MacLisp, dialekto de la Lisp komputillingvo. Etendigoj verkitaj de uzantoj estis ankaŭ en Lisp. La elekto de Lisp donis pli etendeblecon ol iam antaŭe, kaj ĉi tion imitis sekvaj emaksoj.

Gosling Emacs, la unua Emakseca redaktilo funkcianta ĉe Unikso, estis verkita de James Gosling en 1981. Estis verkita en C kaj uzis Mocklisp, limigitan version de Lisp, kiel etendan lingvon.

En 1984, Stallman komencis verki novan implementon de Emacs, GNU Emacs, kiu poste fariĝis la unua programo en la nove naskita projekto GNU. GNU Emacs estis verkita en C kaj uzis propran dialekton de Lisp por etendado. La unua vaste distribuita versio de GNU Emacs estis 15.34, kiu aperis en 1985. Kiel Gosling Emacs, GNU Emacs funkciis ĉe Unikso; tamen, GNU Emacs havis pli da iloj, aparte plena versio de Lisp kiel etenda lingvo. Rezulte, ĝi baldaŭ superis Gosling Emacs kiel la norma Emakso ĉe Unikso.

Komence en 1991, Lucid Emacs estis verkita de Jamie Zawinski kaj aliaj homoj ĉe la firmao Lucid Inc., kaj estis bazita sur frua prova versio de GNU Emacs 19. La kodobazoj baldaŭ disiĝis, kaj la disaj prilaboraj teamoj baldaŭ rezignis provi rekunmeti ilin. Ĉi tiu estis unu el la plej famaj fruaj forkigoj en libera programaro. Lucid Emacs poste renomiĝis XEmacs; ĝi kaj GNU Emacs restas la du plej popularaj emaksoj hodiaŭ uzataj.

Eksteraj ligiloj redakti