Úvodní stránka | Tato stránka v originále

Emacs

Emacs je extrémně všestranný textový editor to je oblíbené u programátorů. To bylo původně napsáno Richardem Stallmanem v 1976, jako soubor Editor MacroS pro TECO editora.

Od jeho inkarnace originálu, Emacs byl re-realizoval rozmanité časy. Nowadays, dvě nejvíce populární verze jsou GNU Emacs (také napsaný Stallmanem) a jeho blízký příbuzný XEmacs. Slovo malého písma emacs (množný emacsen) moci být vzat znamenat třídu editorů s chováním podobným originálu Emacs. Kapitalizované slovo Emacs je často používán synonymously s GNU Emacs.

Emacs historie

Emacs začal u laboratoře umělé inteligence u MIT. Prior k jeho úvodu, TECO byl standardní textový editor v Jeho, operační systém na AI laboratoř je PDP-6 a PDP-10 počítače.

Unlike moderní textové editory, TECO oddělil úlohu psaní od editace, tak to modifikovat požadovaný dokument psát sérii poučení v TECO příkazovém jazyce. Toto chování je podobné programu ed, který je ještě v použití.

Carl Mikkelsen, jeden z hackerů u MIT laboratoř AI, dodal displej-editační režim k TECO, který poskytl obrazovce displej být aktualizoval každý čas uživatel zadal stisk klávesy. Toto více-intuitivní chování, který je používán nejmodernějšími textovými editory, byl propagován “E” editor psaný u Stanford AI laboratoř. V 1974, Richard Stallman, další hacker, přidal makro rys k TECO displeji-editační režim. Toto dovolilo uživateli definovat stisky klávesy pro spuštění TECO programy provádět různé editační úkoly, takový jako četba nebo soubory psaní.

Uživatelé u laboratoře AI brzy hromadili velkou sbírku zakázkových maker. V 1976, Guy Steele začal úsilí sjednotit mnoho odlišných makro souborů. Projekt byl dokončen do Stallmana, kdo také psal talenty na rozšíření a self-dokumentace. Výsledný program byl nazýván EMACS. Ačkoli stavěl na TECO, jeho chování bylo různé dost být považován za textový editor v jeho vlastní pravý.

“EMACS” kandidoval na “makra editora”. Shodovat se k Stallmanovi, on vybral jméno Emacs “protože byl ne v použití jako zkratka na jeho v době.” to také bylo poukázal na to”Emack a Bolio je” bylo jméno populární ledový krémový obchod v Bostonu, uvnitř pohodlné vzdálenosti MIT. Text-program formátování používal na jeho byl nazýván BOLIO.

EMACS brzy se stal standardním editorem na jeho. To bylo také ported od jeho k Tenex a Vrcholy-20 operační systémy Stallman a Michael Mcmahon.

Několik Emacs-jako editoři byl zapsán následující roky, včetně EINE (EINE není EMACS) a ZWEI (ZWEI byl EINE zpočátku) Michael Mcmahon a Daniel Weinreb. V 1978, Bernard Greenberg psal Multics Emacs u Honeywell Cambridge informačních systémů laboratoř. Tento editor byl psán v MacLisp, dialekt Lisp programovacího jazyka. Uživatel-dodávaná rozšíření byla také psána v Lisp. Volba Lisp poskytovala více roztažnosti než někdy dříve, a byl následovaný většinou následujícím emacsen.

Gosling Emacs, první Emacs-jako editor k útoku na Unix, byl psán James Gosling v 1981. To bylo zapsáno C a použitý se svlékl-dole verze Lisp, známý jako Mocklisp, jako jazyk rozšíření.

V 1984, Stallman začal psát novou emacs implementaci, GNU Emacs, který se stal prvním programem v vznikající GNU projekt. GNU Emacs byl psán v C a používal Emacs Lisp pro rozšíření. První široce distribuovaná verze GNU Emacs byla 15.34, který objevil se v 1985. Jako Gosling Emacs, GNU Emacs běžel na unix; nicméně, GNU Emacs měl více rysů, zvláště full-featured Lisp jako jazyk rozšíření. Jako výsledek, to brzy nahradilo Gosling Emacs jako de facto Emacs editor na unixu.

Začínat v 1991, jasný Emacs byl vyvinut Jamie Zawinski a jiní u jasný Inc., založený na časné alfě verze GNU Emacs 19. Codebases brzy se rozcházely a oddělené rozvojové týmy se vzdaly snažit se sloučit je zpět do jediného programu. Toto bylo jedno nejslavnější brzy se rozvětvuje volného softwarového programu. Jasný Emacs má protože been přejmenoval XEmacs; to a GNU Emacs zůstane dvěma nejvíce populárními emacsen v použití dnes.

Druh GNU Emacs

GNU Emacs manuál popisuje to jak “rozšiřitelný, přizpůsobitelný, self-dokumentovat, real-time editor displeje.”

Uživatelské rozhraní

Emacs text obchodů v objektech volal vyrovnávací paměti. Uživatel může vytvořit nové vyrovnávací paměti a skončit nechtěné a několik vyrovnávacích pamětí může existovat současně. Nejvíce vyrovnávací paměti obsahují text načtený od textových souborů, být sestaven uživatelem. Nicméně, vyrovnávací paměti mohou také být používány pro jiné účely; například, uživatel může vytvořit prázdnou vyrovnávací paměť k textu obchodu dočasně.

Každá Emacs obrazovka (který je jednoduché okno na systému windowingnebo celá obrazovka na textovém terminálu) moci zobrazovat jednoho nebo více vyrovnávacích pamětí v době. Jestliže víc než jedna vyrovnávací paměť je zobrazována, výstavní plocha je rozdělena do rozmanitých sekcí (který Emacs odkazuje se na, matouce, jako okna.) na systému windowing, rozmanité obrazovky Emacs mohou také být vytvořeny (který Emacs odkazuje se na jako rámce.)

Uživatel dá editační rozkazy stisky klávesy vnikání. Kromě obvyklých příkazů pro vkládat a vymazávat text, Emacs poskytuje hostitele více exotických příkazů, takový jak dojemný editační důvod k příští větě, otevření všech souborů v seznamu a předvádění hledání-a-nahradit operaci. Většina z těchto příkazů může být aktivována s kombinací stisků klávesy. Nedávné verze Emacs také poskytují grafické nabídky pro nejvíce obyčejné příkazy. (většina příkazů, vyrovnat jednoduché takový jak a pro vkládat charakter , být vlastně telefony do Emacs Lisp funkcí, popsal dole.)

Emacs podpory mnoho kódovat systémy, včetně UTF-8. Verze s plný Unikódová podpora je vyvinuta.

Pro zrakově postižený a oslepit uživatele tam je podsystém volal Emacspeak který může být načten. To dovolí editoru být používán přes odezvu zvuku jen.

Úprava

Low-level zdrojový kód Emacs je zapsán C programovací jazyk. Toto zahrnuje motor displeje, stejně jako tlumočník pro Emacs Lisp (dialekt Lisp programovacího jazyka.) většina kódu editace je psána v Emacs Lisp. U provozní, interpret načte a zhodnotí (vykoná) tento Lisp kód.

Uživatel může se prodlužovat a přizpůsobovat Lisp kód od uvnitř Emacs sám. Emacs poskytuje rozsáhlé schopnosti podporovat toto, včetně příkazů pro vyhledávat dokumentaci naložených funkcí a proměnné (toto je znáno jak self-dokumentace.) re-hodnotit uživatele-dodával Lisp kód, chování Emacs může být upraveno “bezmyšlenkovitě”, bez muset recompile nebo dokonce restartovat editora. Lisp je dobrá volba jazyka pro tento účel, protože to dovolí funkcím být zpracovaný jako data.

Jako výsledek, to jde velmi snadno přidat zakázkovou funkčnost k Emacs. Emacs zahrnuje mnoho rozšíření standardu, takový jak Emacs/W3, internetový prohlížeč; Gnus, nástroj pro čtení e-mail a Usenet diskuze; realizace hry Tetris; a doktor, realizace Elizy to hraje základní Rogerian psychoterapie. Navíc, Emacs může sloužit jako Ide, dovolovat programátory k redigování, kompilovat, a ladit jejich kód od uvnitř jediného rozhraní.

Stinná stránka k Emacs designu je výkon horní od nakládání a tlumočení Lisp kód. Dvě vtipné zkratky pro EMACS jsou Osm megabajtů a stále vyměňovat, a Emacs nutí počítač se zpomalit. Moderní počítače obecně mají dost paměti a procesorová síla, se vyrovnal systémům na kterém Emacs byl nejprve realizován, že tato záležitost je velmi diskutabilní. Přesto, toto je častý bod zvýšený Emacs kritiky během válek editora.

Tam jsou dvě jiné metody pro přizpůsobení Emacs, ačkoli žádný je jak ohebný jak psát Emacs Lisp kód. Firstly, Emacs poskytuje příkazy nahrávkovým klávesnicovým makrům, který jsou příkazy, které kandidují na sled stisků klávesy. Secondly, “přizpůsobit” balíček, zahrnutý v nedávných verzích Emacs, dovolí uživatelům stát se obyčejný proměnné úpravy používat grafické rozhraní.

Internals

Obsahy vyrovnávacích pamětí jsou uloženy jako sousedící sled charakterů dělených mezerou, známý jako mezera vyrovnávací paměti, kde bod editace pobývá. Změny jsou dělány k vyrovnávací paměti tím, že pohybuje mezerou a/nebo pozměnění charakterů vedle mezery. Tento design dovolí většinu operací editace být velmi výkonný, jak ne hodně paměť musí být upraven. Soupeřící forma uskladnění pro dokumenty má uložit každou řadu dokumentu v malé vyrovnávací paměti.

Viďte Emacs Lisp pro popis Emacs Lisp interpreta.

Distribuce

Emacs je bezplatný software, distribuovaný pod požadavky GNU GPL.

Zdrojový kód a binaries jsou dostupní přes FTP od GNU projektových internetových stránek (dole.) oni jsou také široce dostupní od jiných míst na Internetu. Prodavači Unices (oba volný a vlastnický) často poskytovat Emacs nacpal operační systém.

Emacs útoky na velké množství platforem, včetně GNU/linux a nejvíce Unices, Mac OS, a Microsoft Windows.

Vývoj

Emacs je část GNU projektu, a je pod aktivním vývojem. Několik, ale ne všichni, vývojářů být přidružený k Nadaci bezplatného softwaru (FSF).

Až do vydání Emacs 21.1, Emacs vývoj byl relativně uzavřený. Projekt má protože přijal veřejný rozvojový adresář a anomymní CVS přístup. Nicméně, to zůstane Emacs politikou přijmout významné kódové příspěvky jen jestliže přispívající autor přiřadí autorské právo pro kód k FSF. (toto neplatí o zprávách chyby nebo menších kódových příspěvkách.) tato politika je zamýšlel usnadnit copyleft vynucení.

Nejnovější vydání GNU Emacs je verze 21.3. Vývoj se koná v jediném CVS kmenu, který je u verze 21.3.50. Aktuální maintainer je Richard Stallman.

Externí odkazy