GNU Emacs - GNU Emacs
![]() | |
![]() GNU Emacs 26.2 běží dále GNOME 3 | |
Původní autoři | Richard Stallman |
---|---|
Vývojáři | Projekt GNU |
První vydání | 20. března 1985 |
Stabilní uvolnění | 27.1[1] / 10. srpna 2020 |
Náhled verze | 27.0.91 / 19. dubna 2020 |
Úložiště | ![]() |
Napsáno | Emacs Lisp, C[2] |
Operační systém | Unixový (GNU, Linux, Operační Systém Mac, BSD, Solaris ), Okna, MS-DOS[3] |
Plošina | Cross-platform |
K dispozici v | Angličtina |
Typ | Textový editor |
Licence | GPLv3 + |
webová stránka | www |
GNU Emacs je svobodný software textový editor. Vytvořil Projekt GNU zakladatel Richard Stallman. Stejně jako u jiných odrůd Emacs, GNU Emacs je rozšiřitelný pomocí a Turing dokončen programovací jazyk. GNU Emacs byl nazýván „nejvýkonnějším textovým editorem, jaký je dnes k dispozici“.[4] Se správnou podporou základního systému je GNU Emacs schopen zobrazovat soubory ve více znakových sadách a od nejméně roku 1999 dokáže současně zobrazovat většinu lidských jazyků.[5] Během své historie byl GNU Emacs ústřední součástí systému GNU projektu a vlajkové lodi svobodný software hnutí.[6][7] GNU Emacs je někdy zkrácen jako GNUMACS, zejména k odlišení od ostatních variant EMACS.[8] Řádek tagu pro GNU Emacs je „rozšiřitelný samodokumentující textový editor“.[9]
Dějiny
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Richard_Stallman_-_F%C3%AAte_de_l%27Humanit%C3%A9_2014_-_010.jpg/220px-Richard_Stallman_-_F%C3%AAte_de_l%27Humanit%C3%A9_2014_-_010.jpg)
V roce 1976 napsal Stallman první Emacs („Editor MACroS“) a v roce 1984 začal pracovat na GNU Emacs, aby vytvořil svobodný software alternativa k proprietárnímu Gosling Emacs. GNU Emacs byl původně založen na Gosling Emacs, ale Stallmanovo nahrazení jeho Mocklisp tlumočník se skutečným tlumočníkem Lisp vyžadoval přepsání téměř celého jeho kódu. Toto se stalo prvním programem vydaným rodícím se projektem GNU. GNU Emacs je napsán v jazyce C a poskytuje Emacs Lisp, implementovaný také v jazyce C, jako rozšiřující jazyk. Verze 13, první veřejné vydání, byla vydána 20. března 1985. První široce distribuovanou verzí GNU Emacs byla verze 15.34, která vyšla později v roce 1985. Rané verze GNU Emacs byly očíslovány jako „1.xx“, s počáteční číslice označující verzi jádra C. „1“ bylo po verzi 1.12 zrušeno, protože se předpokládalo, že hlavní číslo se nikdy nezmění, a proto hlavní verze přeskočila z „1“ na „13“. Bylo přidáno nové číslo třetí verze, které představuje změny provedené webovými stránkami uživatelů.[10] V aktuálním schématu číslování znamená číslo se dvěma komponentami verzi vydání, přičemž vývojové verze mají tři komponenty.[11]
GNU Emacs byl později přenesen do Unix operační systém. Nabízí více funkcí než Gosling Emacs, zejména plnohodnotný Lisp jako rozšiřující jazyk, a brzy nahradil Gosling Emacs jako de facto Editor Unix Emacs. Markus Hess využil bezpečnostní chybu v e-mailovém subsystému GNU Emacs v jeho praskajícím řádění v roce 1986, ve kterém získal superuživatel přístup k unixovým počítačům.[12]
Ačkoli uživatelé běžně odesílali opravy a kód Elisp do sítě net.emacs diskusní skupina, účast na vývoji GNU Emacs byla do roku 1999 relativně omezená a byla použita jako příklad stylu vývoje „Cathedral“ v Katedrála a bazar. Projekt od té doby přijal veřejný rozvojový e-mailový seznam a anonymní CVS přístup. Vývoj probíhal v jediném kmeni CVS až do roku 2008 a dnes se používá Git[13] DVCS.
Richard Stallman zůstal hlavním správcem GNU Emacs, ale občas z role ustoupil. Stefan Monnier a Chong Yidong dohlížejí na údržbu od roku 2008.[14] 21. září 2015 Monnier oznámil, že odstoupí jako správce s účinností zmrazení funkcí Emacsu 25.[15] Dlouholetý přispěvatel John Wiegley byl oznámen jako nový správce 5. listopadu 2015.[16]
Licencování
Podmínky GNU General Public License (GPL) uvádí, že zdrojový kód Emacsu, včetně komponent C i Emacs Lisp, je volně k dispozici pro zkoumání, úpravy a redistribuci.
Starší verze dokumentace GNU Emacs se objevily pod ad-hoc licencí, která vyžadovala zahrnutí určitého textu do jakékoli upravené kopie. Například v uživatelské příručce GNU Emacs to zahrnovalo pokyny pro získání GNU Emacs a esej Richarda Stallmana Manifest GNU. Manuály XEmacs, které byly převzaty ze starších manuálů GNU Emacs, když došlo k vidličce, mají stejnou licenci. Novější verze dokumentace používají GNU Free Documentation License s "invariantními částmi", které vyžadují zahrnutí stejných dokumentů a které se manuály prohlašují za GNU manuály.
Pro GNU Emacs, stejně jako mnoho jiných GNU balíků, zůstává zásadou přijímat významné příspěvky kódu pouze v případě, že autorská práva držitel provede vhodné odmítnutí odpovědnosti nebo postoupení svého podílu na autorských právech na Free Software Foundation. Opravy chyb a menší příspěvky kódu s méně než 10 řádky jsou osvobozeny. Tato zásada je zavedena, aby FSF mohla bránit software u soudu, pokud ano copyleft licence je porušena.
V roce 2011 bylo zjištěno, že GNU Emacs dva roky náhodně uvolňoval některé binární soubory bez odpovídajícího zdrojového kódu, v rozporu se zamýšleným duchem GPL.[17][18][19] Richard Stallman popsal tento incident jako "velmi špatná chyba",[20] který byl okamžitě opraven. FSF nezažaloval žádné následné distributory, kteří nevědomky porušeno distribucí těchto binárních souborů GPL.
Používání GNU Emacs
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Emacs_Dired_buffers.png/220px-Emacs_Dired_buffers.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Colorsyntax.png/220px-Colorsyntax.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/59/Cpp_in_GNU_emacs.png/220px-Cpp_in_GNU_emacs.png)
Příkazy
Ve svém normálním režimu úprav se GNU Emacs chová jako ostatní textové editory a umožňuje uživateli vkládat znaky pomocí příslušných kláves a přesouvat bod úprav pomocí kláves se šipkami. Klávesa Escape sekvence nebo stisknutí ovládací klíč a / nebo meta klíč, alt klíč nebo super klíče ve spojení s běžným klíčem vytváří upravené stisky kláves které vyvolávají funkce z prostředí Emacs Lisp. Příkazy jako save-buffer
a save-buffers-kill-emacs
kombinovat více upravených stisků kláves.
Některé příkazy GNU Emacs fungují vyvoláním externího programu, například ispell pro kontrolu pravopisu nebo Sbírka překladačů GNU (gcc) pro kompilaci programu, analýzu výstupu programu a zobrazení výsledku v GNU Emacs. Emacs také podporuje „podřadné procesy“ - procesy s dlouhou životností, které interagují s vyrovnávací pamětí Emacsu. To se používá k implementaci režim prostředíběžící a Unix shell jako podřadný proces, stejně jako read – eval – tisková smyčka (REPL) režimy pro různé programovací jazyky. Díky podpoře společnosti Emacs pro externí procesy je toto prostředí atraktivním prostředím pro interaktivní programování v duchu Interlisp nebo Pokec.[21]
Uživatelé, kteří dávají přednost IBM Common User Access -styl klíče lze použít režim cua, balíček, který byl původně doplňkem třetí strany, ale od verze 22 je součástí GNU Emacs.
Minibuffer
Emacs používá k zobrazení stavu a vyžádání informací „minibuffer“, obvykle nejspodnější řádek - funkce, které by obvykle prováděly dialogová okna ve většině GUI. Minibuffer obsahuje informace, jako je text, na který se má cílit při hledání, nebo název souboru, který se má číst nebo ukládat. Případně dokončení příkazového řádku je k dispozici pomocí kláves tabulátoru a mezerníku.
Správa a zobrazení souborů
Emacs udržuje text uvnitř datové struktury známý jako Nárazníky. Vyrovnávací paměti mohou nebo nemusí být zobrazeny na obrazovce a všechny funkce vyrovnávací paměti jsou přístupné oběma Emacs Lisp do uživatelského rozhraní.[22] Uživatel může vytvářet nové vyrovnávací paměti a zrušit nechtěné vyrovnávací paměti a současně může existovat mnoho vyrovnávacích pamětí. Neexistuje žádný horní limit počtu vyrovnávacích pamětí, které Emacs umožňuje, kromě limitů hardwarové paměti. Pokročilí uživatelé mohou shromáždit stovky otevřených vyrovnávacích pamětí různých typů souvisejících s jejich aktuální prací.[23] Emacs lze nakonfigurovat tak, aby při ukončení ukládal seznam otevřených vyrovnávacích pamětí a po restartování tento seznam znovu otevřel.[24]
Některé vyrovnávací paměti obsahují text načtený z textové soubory, které může uživatel upravit a uložit zpět do trvalého úložiště. Říká se, že tyto vyrovnávací paměti „navštěvují“ soubory. Vyrovnávací paměti slouží také k zobrazení dalších dat, například výstupu příkazů Emacs, otrávený výpisy adresářů, řetězce dokumentace zobrazené v knihovně „nápovědy“ a oznámení, která by se v jiných editorech zobrazila v a dialogové okno. Některá z těchto oznámení se krátce zobrazí v minibufferu a GNU Emacs poskytuje a * Zprávy * vyrovnávací paměť, která uchovává historii nejnovějších oznámení tohoto typu. Když se minibuffer používá pro výstup z Emacsu, nazývá se to „oblast ozvěny“.[25] Delší oznámení se zobrazují ve vlastních vyrovnávacích pamětí. Maximální délka zpráv, která se zobrazí v minibufferu, je samozřejmě nastavitelná.
Vyrovnávací paměti mohou také sloužit jako vstupní a výstupní oblasti pro externí proces, jako je a skořápka nebo REPL. Vyrovnávací paměti, které Emacs vytváří samostatně, jsou obvykle pojmenovány hvězdičky na každém konci odlišit od uživatelských vyrovnávacích pamětí. Samotný seznam otevřených vyrovnávacích pamětí se zobrazuje u tohoto typu vyrovnávacích pamětí.
Většina klávesových sekvencí Emacsu zůstává funkční v libovolné vyrovnávací paměti. Například standardní Ctrl-s hledám
Tuto funkci lze použít k vyhledávání názvů souborů v mezipaměti a seznam souborů lze uložit do textového souboru stejně jako do jakékoli jiné vyrovnávací paměti. dired buffery lze přepnout do zapisovatelného režimu, ve kterém lze textově upravovat názvy souborů a atributy; při uložení vyrovnávací paměti se změny zapíší do souborového systému. To umožňuje přejmenovat více souborů pomocí funkcí vyhledávání a nahrazování Emacsu. Je-li tak vybaven, zobrazí se Emacs obrazové soubory v náraznících. Emacs je binárně bezpečný a 8bitový čistý.[26]
Emacs může rozdělit editační oblast do samostatných nepřekrývajících se částí zvaných „okna“, což je funkce, která je k dispozici od roku 1975, což předchází běžnému používání grafického uživatelského rozhraní. V terminologii Emacsu jsou „okna“ podobná tomu, co nazývají jiné systémy.rámy „nebo“tabule "- obdélníková část obrazovky programu, kterou lze aktualizovat a pracovat s ní nezávisle. Každé okno Emacsu má stavový řádek nazývá se „řádka režimu“ zobrazená ve výchozím nastavení na spodním okraji okna. Okna Emacs jsou k dispozici jak v textovém terminálu, tak v grafickém režimu a umožňují zobrazit více než jednu vyrovnávací paměť nebo několik částí vyrovnávací paměti najednou. Běžné aplikace jsou pro zobrazení a otrávený vyrovnávací paměť spolu s obsahem souborů v aktuálním adresáři (existují speciální režimy, aby vyrovnávací paměť souborů sledovala zvýrazněný soubor v dired), pro zobrazení zdrojový kód programu v jednom okně, zatímco jiné zobrazuje a skořápka vyrovnávací paměť s výsledky kompilace programu, spustit ladicí program spolu s vyrovnávací pamětí prostředí spuštěnou programem, pracovat na kódu při zobrazení manuálová stránka nebo jiná dokumentace (případně načtená přes Celosvětová Síť pomocí jednoho z integrovaných webových prohlížečů Emacsu) nebo jednoduše k zobrazení více souborů pro úpravy najednou, například záhlaví, spolu s jeho implementačním souborem pro jazyky založené na jazyce C. Kromě toho existuje následný režim, vedlejší režim, který zřetězuje okna tak, aby zobrazovaly nepřekrývající se části vyrovnávací paměti. Použitím následný režim, jeden soubor lze zobrazit ve více souběžných oknech, která se při rolování odpovídajícím způsobem aktualizují. Emacs navíc podporuje „zúžení“ vyrovnávací paměti tak, aby zobrazovala pouze část souboru, přičemž funkce navigace ve vyrovnávací paměti a výpočty velikosti vyrovnávací paměti odrážejí pouze vybraný rozsah.
Okna Emacsu jsou kachlová a nemohou se objevit „nad“ nebo „pod“ svými společníky. Emacs může spustit více „snímků“, které se zobrazují jako jednotlivé Okna v grafickém prostředí. Na textovém terminálu se zobrazuje několik rámečků naskládaných na celý terminál a lze je přepínat pomocí standardních příkazů Emacsu.[27]
Hlavní režimy
GNU Emacs může zobrazit nebo upravit celou řadu různých typů textu a přizpůsobit své chování zadáním doplněk režimy nazývané „hlavní režimy“. Existují hlavní režimy pro mnoho různých účelů, včetně úpravy běžných textových souborů, zdrojový kód z mnoha označení a programovací jazyky, stejně jako zobrazování webové stránky, výpisy adresářů a další informace o systému. Každý hlavní režim zahrnuje program Emacs Lisp, který rozšiřuje editor tak, aby se choval pohodlněji pro zadaný typ textu. Hlavní režimy obvykle poskytují některé nebo všechny z následujících společných funkcí:
- Zvýraznění syntaxe („zámek písma“): kombinace písem a barev, nazývané „tváře“[28] které rozlišují mezi prvky dokumentu, jako je klíčová slova a komentáře.
- Automatické odsazení pro zachování konzistentního formátování v souboru.
- Automatické vkládání prvků požadovaných strukturou dokumentu, jako jsou mezery, nové řádky a závorky.
- Speciální editační příkazy, například příkazy pro přechod na začátek nebo konec funkce při úpravách programovacího souboru nebo příkazy k ověření dokumentů nebo vložení uzavíracích značek při práci se značkovacími jazyky, například XML.
Drobné režimy
Použití „vedlejších režimů“ umožňuje další přizpůsobení. Vyrovnávací vyrovnávací paměť GNU Emacs může používat pouze jeden hlavní režim najednou, ale současně může fungovat několik vedlejších režimů. Mohou fungovat přímo na dokumentech, protože způsob, jakým hlavní režim pro programovací jazyk C definuje samostatný vedlejší režim pro každý z jeho oblíbených styly odsazení, nebo mohou změnit editační prostředí. Mezi příklady patří režim, který přidává schopnost vrátit zpět změny konfigurace okna a režim, který provádí kontrolu syntaxe za běhu. K dispozici je také vedlejší režim, který umožňuje použití více hlavních režimů v jednom souboru, pro pohodlí při úpravách dokumentu, ve kterém je vloženo více programovacích jazyků.
"Dávkový režim"
GNU Emacs podporuje možnost použít jej jako tlumočník pro Emacs Lisp jazyk bez zobrazení uživatelského rozhraní textového editoru. V dávkovém režimu není načtena konfigurace uživatele a terminál přerušit znaky C-C a C-Z budou mít svůj obvyklý účinek ukončení programu nebo pozastavení provádění namísto vyvolání klávesových zkratek Emacs. GNU Emacs má možnosti příkazového řádku k zadání souboru, který se má načíst a spustit, nebo lze z příkazového řádku předat funkci Emacs Lisp. Emacs se spustí, provede předaný soubor nebo funkci, vytiskne výsledky a poté ukončí.[29] The Shebang čára #! / usr / bin / emacs --script
umožňuje vytváření samostatných skriptů v Emacsu Lisp.[30]Dávkový režim není režim Emacs per se, ale popisuje alternativní režim spuštění programu Emacs.
Manuály
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/41/GNU_Emacs_manual_cover_design.png/200px-GNU_Emacs_manual_cover_design.png)
Kromě vestavěné dokumentace má GNU Emacs neobvykle dlouhý a podrobný manuál.[Citace je zapotřebí ] Elektronická kopie Manuál GNU Emacs, napsaný Richardem Stallmanem, je dodáván s GNU Emacs a lze jej prohlížet pomocí vestavěného informace prohlížeč. Dva další manuály, Referenční příručka Emacs Lisp předložili Bil Lewis, Richard Stallman a Dan Laliberte a Úvod do programování v Emacsu Lisp podle Robert Chassell, jsou zahrnuty. Všechny tři manuály jsou rovněž publikovány v knižní podobě agenturou Free Software Foundation. Manuál XEmacs je podobný Manuál GNU Emacs, ze kterého se rozvětvilo současně se softwarem XEmacs vyklopeným z GNU Emacs.
Internacionalizace
GNU Emacs podporuje mnoho abeced, skriptů, systémů psaní a kulturních konvencí a poskytuje kontrola pravopisu pro mnoho jazyků voláním externích programů, jako je ispell. Verze 24 přidala podporu pro obousměrný text a zleva doprava a zprava doleva směr psaní pro jazyky jako arabština, perština a hebrejština.
Mnoho Kódování znaků systémy, včetně UTF-8, jsou podporovány. GNU Emacs používá pro své kódování UTF-8 od GNU 23, zatímco předchozí verze interně používaly vlastní kódování a prováděly převod po načtení a uložení. Interní kódování používané XEmacs je podobné jako u GNU Emacs, ale liší se v detailech.
Uživatelské rozhraní GNU Emacs vzniklo v angličtině a s výjimkou tutoriálu pro začátečníky nebylo přeloženo do žádného jiného jazyka.
Volal subsystém Emacspeak umožňuje zrakově postiženým a nevidomým uživatelům ovládat editor pomocí zvukové zpětné vazby.
Rozšiřitelnost
Chování GNU Emacs lze upravit a rozšířit téměř bez omezení začleněním programů Emacs Lisp, které definují nové příkazy, nové režimy vyrovnávací paměti, nové mapy kláves, přidávají možnosti příkazového řádku,[31] a tak dále. Mnoho rozšíření poskytujících funkce pro uživatele definuje hlavní režim (buď pro nový typ souboru, nebo pro vytvoření uživatelského rozhraní bez úprav textu); ostatní definují pouze příkazy nebo vedlejší režimy nebo poskytují funkce, které vylepšují další rozšíření.
Mnoho instalací je součástí instalace GNU Emacs; ostatní se dříve stahovali jako volné soubory (soubor Usenet diskusní skupina gnu.emacs.sources byl tradiční způsob distribuce), ale od verze 24 došlo k vývoji spravovaných balíčků a stránek pro stahování balíčků, s vestavěným správcem balíčků (samotným rozšířením), který je stahuje, instaluje a udržuje k datu. Samotný seznam dostupných balíčků se zobrazí ve vyrovnávací paměti Emacs nastavené na režim balíku hlavní režim.
Pozoruhodné příklady zahrnují:
- AUCTeX, nástroje pro úpravy a zpracování TeX a Latex dokumenty
- otrávený, správce souborů
- Disociovaný tisk, a Racter -jako generátor textu
- Doktor, implementace ELIZA
- Dunnet, a textové dobrodružství
- Emacs Web Wowser (eww), a webový prohlížeč.
- Emacs mluví statistikou (ESS) režimy pro úpravy statistických jazyků, jako jsou R a SAS
- ERC, an IRC klient[32]
- Eshell, příkazový řádek skořápka napsáno Emacsem Lispem. To umožňuje užší integraci s prostředím Emacs než standardní skořápky jako např bash nebo PowerShell, které jsou také k dispozici v rámci Emacsu. Například v Eshell jsou funkce Elisp dostupné jako příkazy prostředí a výstup z Unixové příkazy lze přesměrovat do vyrovnávací paměti Emacs.
- Exwm, an X okno správce umožňující X11 aplikace, které se mají spouštět v okně Emacsu.[33]
- Gnus, plnohodnotný zpravodajský klient (hlasatel) a e-mailový klient a včasné důkazy pro Zawinského zákon
- Vícejazyčné vylepšení Emacsu (MEZEK ) umožňuje úpravy textu ve více jazycích způsobem analogickým s Unicode
- Režim organizace pro vedení poznámek, správu různých typů seznamů, plánování a měření projektů a vytváření dokumentů v mnoha formátech (např PDF, HTML nebo OpenDocument formáty). Existují statické generátory stránek pomocí režimu org, stejně jako rozšíření Babel, které umožňuje jeho použití pro gramotné programování.[34]
- Plánovač, a správce osobních údajů
- rcirc, an IRC klient[32]
- Vynikající režim interakce Lisp pro Emacs (SLIZ ) rozšiřuje GNU Emacs do vývojového prostředí pro Společný Lisp. Se SLIME (napsaný v Emacs Lisp) editor GNU Emacs komunikuje se systémem Common Lisp (pomocí SWANK backend) přes speciální komunikační protokol a poskytuje takové nástroje jako read – eval – tisková smyčka, inspektor dat a debugger.
- Texinfo (Info), online prohlížeč nápovědy
- Zone, a zobrazit hack režim zahrnující různé textové efekty.
Výkon
GNU Emacs často běžel znatelně pomaleji než konkurenční textové editory v systémech, ve kterých byl poprvé implementován, protože načítání a tlumočení jeho kódu založeného na Lispu přináší režii výkonu. Moderní počítače jsou dostatečně výkonné pro provoz GNU Emacs bez zpomalení, ale verze před 19.29 (vydané v roce 1995) nemohly upravovat soubory větší než 8 MB. V následujících verzích byl zvýšen limit velikosti souboru a 32 bitů verze po GNU Emacs 23.2 mohou upravovat soubory až do velikosti 512 MB. Emacs zkompilovaný na 64bitovém stroji zvládne mnohem větší vyrovnávací paměti.[35]
Platformy
GNU Emacs je jedním z nejvícepřeneseno netriviální počítačové programy a běží na široké škále operační systémy, počítaje v to DOS, Okna[36][37][38] a OpenVMS. Podpora některých „zastaralých platforem byla v Emacsu 23.1 odstraněna“, například VMS a většina komerční Unix varianty.[3] Je k dispozici pro většinu Unixový operační systémy, jako např Linux, různé BSD, Solaris, AIX, HP-UX a Operační Systém Mac,[39][40] a je často součástí jejich instalačních balíků systému. Nativní porty GNU Emacs existují pro Android[41] a Nokia Maemo.[42]
GNU Emacs běží na obou textové terminály a v grafické uživatelské prostředí (GUI) prostředí. Na operačních systémech podobných Unixu může GNU Emacs používat Systém X Window produkovat své GUI buď přímo pomocí Athena widgety nebo pomocí "sady nástrojů pro widgety", jako je Motiv, LessTif nebo GTK +. GNU Emacs může také poskytovat grafické systémy nativní pro macOS a Windows menubary, panely nástrojů, posuvníky a kontextové nabídky lépe se přizpůsobuje každé platformě vypadat a cítit.
Vidlice
XEmacs
Lucid Emacs, založený na rané verzi GNU Emacs 19, byl vyvinut od roku 1991 společností Jamie Zawinski a další ve společnosti Lucid Inc. Jedna z nejznámějších vidlic v svobodný software vývoj nastal, když se rozcházely kódové základny dvou verzí Emacsu a samostatné vývojové týmy přestaly usilovat o jejich sloučení zpět do jediného programu.[43] Poté, co Lucid podal návrh na bankrot, byla Lucid Emacs přejmenována XEmacs a po GNU Emacs zůstává druhou nejpopulárnější odrůdou Emacsu.[Citace je zapotřebí ] Vývoj XEmacs se zpomalil, nejnovější stabilní verze 21.4.22 byla vydána v lednu 2009, zatímco GNU Emacs implementoval mnoho dříve pouze XEmacs funkcí. To vedlo některé uživatele k ohlašování smrti XEmacs.[44]
Další vidlice GNU Emacs
Mezi další vidlice, méně známé než XEmacs, patří:
- Louka - japonská verze pro Microsoft Windows[45]
- SXEmacs - Vidlice Steva Youngse z XEmacs[46]
- Aquamacs - verze zaměřená na integraci s uživatelským rozhraním Apple Macintosh
- Remacs - port GNU Emacs do Rez programovací jazyk.[47]
Historie vydání
Změny v každém vydání Emacsu jsou uvedeny v souboru NEWS distribuovaném s Emacsem.[48] Změny, které přinesl downgrading k předchozímu vydání jsou uvedeny v souboru „Antinews“, často s krátkým komentářem, proč by to mohlo být žádoucí.[49]
Verze | Datum vydání | Významné změny[50] |
---|---|---|
27.1 | 10. srpna 2020 | Integrovaná podpora pro celá čísla libovolné velikosti. Tvarování textu pomocí HarfBuzz. Nativní podpora pro analýzu JSON. Lepší podpora pro kreslení v Káhiře. Místo neexec je použito přenosné vyklápění. Podpora konvencí XDG pro soubory init. Další inicializační soubor včasné inicializace. Ve výchozím nastavení se používá lexikální vazba. Integrovaná podpora pro panel karet a řádek karet. Podpora pro změnu velikosti a otáčení obrázků bez ImageMagick. |
26.3 | 28. srpna 2019 | Nový klíč GPG pro kontrolu podpisu balíčku GNU ELPA. |
26.2 | 12. dubna 2019 | Moduly Emacs lze nyní vytvářet mimo zdroj stromu Emacs. Soulad s Unicode verze 11.0. |
26.1 | 28. května 2018 | Omezená forma souběžnosti s vlákny Lisp. Podpora volitelného zobrazení čísel řádků ve vyrovnávací paměti. Emacs nyní používá dvojité ukládání do vyrovnávací paměti ke snížení blikání v systému X Window. Flymake byl kompletně přepracován. TRAMP má novou metodu připojení pro Disk Google. Nový jednořádkový režim vodorovného posouvání. Je poskytnut soubor systémové jednotky uživatele. Podpora 24bitových barev na schopných textových terminálech.[51] |
25.1 | 17. září 2016 | Podpora načítání sdílených / dynamických knihoven (modulů). Ověření certifikátů TLS / SSL. Nový vedlejší režim „elektrický citátový režim“ pro používání zakřivených uvozovek. Podpora skládání znaků v isearch.el. Podpora vkládání nativních widgetů do vyrovnávacích pamětí Emacsu. Nové a vylepšené možnosti pro vkládání znaků Unicode.[52] |
24.5 | 10. dubna 2015 | Hlavně vydání opravy chyb.[53][54] |
24.4 | 20. října 2014 | Podpora pro ACL (seznamy řízení přístupu) a digitální podpisy balíčků Emacs Lisp. Vylepšená podpora celé obrazovky a více monitorů. Podpora pro ukládání a obnovení stavu rámů a oken. Vylepšená podpora nabídky na textových terminálech. Další integrovaný webový prohlížeč (M-x eww ). Nový režim obdélníkové značky (C-x SPC ). Podpora oznámení souborů.[55] |
24.3 | 10. března 2013 | Zobecněné proměnné jsou nyní v jádru Emacs Lisp, aktualizaci pro emulační knihovnu Common Lisp a nový hlavní režim pro Python.[56] |
24.2 | 27. srpna 2012 | Vydání opravy chyby[57] |
24.1 | 10. června 2012 | Archiv balíčků Emacs Lisp (ELPA), podpora nativních barevných motivů, volitelně GTK + 3, podpora obousměrného zadávání, podpora lexikálního rozsahu v emacs lisp[58] |
23.4 | 29. ledna 2012 | Opravuje bezpečnostní chybu.[59] |
23.3 | 10. března 2011 | Vylepšená funkčnost pro používání Emacsu se systémy pro správu verzí. |
23.2 | 8. května 2010 | Nové nástroje pro používání Emacsu jako IDE, včetně navigace napříč projektem a automatického generování Makefile. Nový hlavní režim pro úpravy zdroje JavaScript. V grafických uživatelských rozhraních je kurzor skrytý, zatímco uživatel píše. |
23.1 | 29. července 2009 | Podpora vyhlazených písem na X přes Xft,[60] lepší Unicode podpora, režim Doc-view a nové balíčky pro prohlížení PDF a PostScript soubory, připojení k procesům prostřednictvím D-Bus (dbus), připojení k GNU Privacy Guard (EasyPG), režim nXML pro úpravy XML dokumenty, režim Ruby pro úpravy Rubín programy a další. Použití Uhlík Knihovny GUI zapnuty Mac OS X bylo nahrazeno použitím modernějšího Kakao Knihovny GUI. |
22.3 | 5. září 2008 | Podpora sady nástrojů GTK +, vylepšená podpora myši, nový systém maker klávesnice, vylepšená podpora Unicode a operace drag-and-drop na X. Mnoho nových režimů a balíčků včetně grafického uživatelského rozhraní pro GDB, režim Python, matematický nástroj Calc a vzdálený systém pro úpravy souborů Tramp („Transparentní vzdálený přístup (soubor), více protokolů“).[61] |
22.2 | 26. března 2008 | Nová podpora pro Bazaar, Mercurial, Monotone a Git ovládání verze systémy. Nové hlavní režimy pro úpravy souborů stylů CSS, Vera, Verilog a BibTeX. Vylepšená podpora posouvání v režimu obrazu. |
22.1 | 2. června 2007 | Podpora grafického souboru nástrojů GTK +, podpora drag-and-drop na X, podpora pro uhlíkové uživatelské rozhraní Mac OS X, součástí je org-mode verze 4.67d[62] |
21.1 | 20. října 2001 | Podpora zobrazování barev a některých dalších atributů na terminálech, integrované vodorovné posouvání, podpora zvuku, podpora myši kolečkem, vylepšené rozložení lišty nabídek, podpora obrázků, panelu nástrojů a tipů, podpora Unicode |
20.1 | 17. září 1997 | Vícejazyčná podpora |
19.34 | 22. srpna 1996 | vydání opravy chyby bez uživatelsky viditelných změn[63] |
19.31 | 25. května 1996[64] | Emacs se otevře X11 rámy ve výchozím nastavení, posuvníky zapnuty Windows 95 a NT, podprocesy na Windows 95, obnovit relaci obnovit více souborů po havárii, některé [[doctor.el]] funkce odstraněny, aby vyhovovaly USA Zákon o slušné komunikaci[63] |
19.30 | 24. listopadu 1995 | Podpora více rámců na MS Windows, lišta nabídek dostupná na textových terminálech, pc-select balíček pro emulaci běžných klávesových zkratek pro Windows a Macintosh.[63] |
19.29 | 19. června 1995[65] | |
19.28 | 1. listopadu 1994 | První oficiální vydání v19. Podpora více snímků pomocí systému X Windowing; VC, nové rozhraní pro systémy pro správu verzí, režim zámku písma, režim hexl pro hexadecimální editace. |
19.7 | 22. května 1993 | |
18.59 | 31. října 1992 | |
18.53 | 23. února 1989 | |
18.52 | 17. srpna 1988 | spook.el knihovna pro přidání některých "rozptýlit" NSA "klíčová slova (UNCPCJ Emergency management JITEM PEM bullion MSCJ Airplane SLIP rogue Gatt Ammonium nitrate Trafficking ambassy Emergency TELINT) ke každé odeslané zprávě.[66] |
18.24 | 2. října 1986 | Režim serveru,[67] M-x rozebrat , Emacs může otevřít připojení TCP, emacs -nw otevřete Emacs v konzolovém režimu xterms. |
17.36 | 20. prosince 1985 | Čísla verzí záložních souborů |
16.56 | 15. července 1985 | První vydání Emacs 16. Režim Emacs-lisp odlišný od režimu lisp,[68] odebrat veškerý kód z Gosling Emacs kvůli problémům s autorskými právy[69] |
15.10 | 11. dubna 1985 | |
13.8? | 20. března 1985 | První vydání. Avšak páska VAXSIG VAX85b DECUS má verzi 13.8 s daty souborů 19. června 1985 se soubory RCS ze dne 31. března 1985. Je to špatně poškozená kopie. Verze 13.9 je uvedena v souboru zpráv,[70] takže 13.8 mohlo být prvním vydáním, protože nejsou pojmenována žádná další vydání 13.x. |
Reference
- ^ „Vydán Emacs 27.1“; řetězec jména autora: Nicolas Petton; datum zveřejnění: 11. srpna 2020; vyvoláno: 11. srpna 2020.
- ^ "GNU Emacs", Shrnutí analýzy, Otevřete rozbočovač
- ^ A b "Seznam strojů Emacs".
- ^ ""Learning GNU Emacs, třetí vydání ": Průvodce nejrozsáhlejším přizpůsobitelným editorem na světě".
- ^ „Abecední polévka: Internacionalizace Linuxu, 1. část Linux Journal březen 1999“.
Díky dostupnosti písem a v případě potřeby i internacionalizovaných terminálových emulátorů dokáže Emacs současně zpracovávat většinu světových jazyků.
- ^ Fusco, John (06.03.2007). Sada nástrojů programátora Linux. ISBN 9780132703048.
- ^ Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (2005). Učení GNU Emacs. ISBN 9780596006488.
- ^ „GNUMACS“.
- ^ "Debian - podrobnosti balíčku Emacs v pískání".
- ^ „NEWS.1-17“.
Existuje nové schéma číslování verzí. To, co bývalo prvním číslem verze, které bylo 1, bylo zahozeno, protože se nezdá, že potřebuji tři úrovně čísla verze. Bylo však přidáno nové číslo třetí verze, které představuje změny na uživatelských webech. Toto číslo bude v Emacsu vždy nulové, když ho distribuuji; zvýší se pokaždé, když bude Emacs postaven na jiném místě.
- ^ "GNU Emacs FAQ".
Číslo verze se dvěma komponentami (např. „22 .1“) označuje vydanou verzi; tři komponenty označují vývojovou verzi (např. „23 .0,50“ se nakonec stane „23 .1“).
- ^ Stoll, Clifford (1988). „Pronásledování lstivého hackera“. Komunikace ACM. 31 (5): 484–497. doi:10.1145/42411.42412.
- ^ „Re: GNU EMACS“. GNU. Citováno 2014-11-16.]
- ^ „Re: Hledáme nového správce nebo tým Emacs“. Seznam adresátů gnu.org. Citováno 2008-02-23.; viz také „Stallman při předávání GNU Emacsu, jeho budoucnost a význam nomenklatury“
- ^ „Feature freeze“. lists.gnu.org.
- ^ „Emacs získává nového správce, když se Richard Stallman odhlásí“.
- ^ Brockmeier, Joe (29. července 2011). „Řekni co? GNU Emacs porušuje GPL“. Síťový svět. Citováno 2016-01-19.
- ^ Licence zrušena: Uplatnění části 4 GPL a lekce Best Buy na Android od Googlu Archivováno 2016-01-27 na Wayback Machine autor: Edward J. Naughton (8. srpna 2011)
- ^ [1] na slashdot.org (2011)
- ^ Re: Zkompilované soubory bez zdrojů ???? na lists.gnu.org od Richarda Stallmana (28. července 2011)
- ^ Halme, Heikki; Heinänen, Juha (1988). "GNU Emacs jako dynamicky rozšiřitelné programovací prostředí". Software: Praxe a zkušenosti. 18 (10): 999–1009. doi:10.1002 / spe. 4380181006.
- ^ Spinellis, Diomidis; Gousios, Georgios (2009-01-15). Krásná architektura: Přední myslitelé odhalují skrytou krásu v softwarovém designu. ISBN 9780596554392.
- ^ Heiberger, Richard M .; Holland, Burt (2015-12-23). Statistická analýza a zobrazení dat: Střední kurz s příklady v R.. ISBN 9781493921225.
- ^ "Ukládání relací Emacsu".
- ^ „Echo Area“.
- ^ „Výukový úvod do GNU Emacs“.
- ^ "Rámečky - GNU Emacs Manual".
Stále je však možné vytvořit více „rámečků“ na textových terminálech; takové snímky se zobrazují jeden po druhém a zaplňují celou obrazovku terminálu
- ^ Cameron, Debra; Rosenblatt, Bill; Raymond, Eric S. (1996). Učení GNU Emacs. V kostce série (2 ed.). O'Reilly Media, Inc. str. 533. ISBN 978-1-56592-152-8. Citováno 2010-11-02.
Tvář je kombinace písma a barev.
- ^ „Počáteční možnosti“.
V dávkovém režimu Emacs nezobrazuje upravovaný text a standardní znaky přerušení terminálu, jako jsou C-z a C-c, mají svůj obvyklý účinek. Funkce Emacs, které normálně tisknou zprávy v oblasti echa, se místo toho vytisknou buď na standardní výstupní proud (stdout), nebo na standardní chybový proud (stderr). (Přesněji řečeno, funkce jako prin1, princ a print print to stdout, zatímco zprávy a chyby se tisknou do stderr.) Funkce, které normálně čtou vstup z klávesnice minibufferu, místo toho vstupují ze standardního vstupního proudu terminálu (stdin).
- ^ "Dávkový režim".
- ^ „Argumenty příkazového řádku“.
- ^ A b Stallman, Richard (2007-06-03). „Vydán Emacs 22.1“. info-gnu-emacs (Poštovní seznam). Citováno 2011-07-31.
- ^ Feng, Chris (27. listopadu 2017). "exwm: Emacs X Window Manager" - přes GitHub.
- ^ „Babel: Úvod“.
- ^ „6.1 Má Emacs problémy se soubory většími než 8 MB?“.
- ^ B, Ramprasad (2005-06-24). „Časté dotazy GNU Emacs pro Windows 95/98 / ME / NT / XP a 2000“. Citováno 2006-09-27.
- ^ Borgman, Lennart (2006). „Domovská stránka EmacsW32“. Archivovány od originál dne 06.03.2007. Citováno 2006-09-27.
- ^ „GNU Emacs ve Windows“. Franz Inc. 2006. Citováno 2006-09-27.
- ^ „Carbon Emacs Package“. Citováno 2012-06-10.
- ^ „Aquamacs je snadno použitelný Emacs ve stylu Mac pro Mac OS X“. Citováno 2006-09-27.
- ^ „Emacs pro Android“. EmacsWiki.[je zapotřebí lepší zdroj ]
- ^ „CategoryPorts“. EmacsWiki.[je zapotřebí lepší zdroj ]
- ^ Stephen J., Turnbull. „XEmacs vs. GNU Emacs“. Citováno 2012-10-02.
- ^ „XEmacs je mrtvý. Ať žije XEmacs!“.
- ^ „FrontPage - Meadow Wiki“. 16. února 2012. Archivovány od originál dne 2012-02-16.
- ^ „Web SXEmacs“. Sxemacs.org. 11. 10. 2009. Citováno 2009-11-08.
- ^ "Remacs". Úložiště github Remacs. Citováno 22. února 2017.
- ^ „NEWS.24.5“.
GNU Emacs NEWS - historie uživatelsky viditelných změn.
- ^ „Antinews“.
Pro ty uživatele, kteří žijí zpětně v čase, je zde informace o přechodu na nižší verzi na Emacs verze 24.5. Doufáme, že se vám bude líbit větší jednoduchost, která je výsledkem absence mnoha funkcí Emacs 25.2.
- ^ Časová osa Emacs. Jwz.org. Citováno 2013-07-17.
- ^ „Vydán Emacs 26.1“. lists.gnu.org. Citováno 2018-05-29.
- ^ „Vydán Emacs 25.1“. lists.gnu.org. Citováno 2016-09-17.
- ^ „GNU Emacs NEWS - historie uživatelsky viditelných změn“. 2015-04-10. Citováno 2015-04-11.
- ^ Petton, Nicolas (10.04.2015). „Vydán Emacs 24.5“. Archivovány od originál dne 2015-04-11. Citováno 2015-04-11.
- ^ Morris, Glenn (2014-10-20). „Vydán Emacs 24.4“. Citováno 2014-10-22.
- ^ Morris, Glenn (10.03.2013). „Vydán Emacs 24.3“. Citováno 2013-03-16.
- ^ Yidong, Chong (2012-08-27). „Emacs release candidate 24.2“. Citováno 2012-11-11.
- ^ Yidong, Chong (01.06.2012). „Emacs release candidate 24.1“. Citováno 2012-06-01.
- ^ Yidong, Chong (09.01.2012). „Bezpečnostní chyba v EDE; nové plány vydání“. Citováno 2012-02-23.
- ^ „emacs-fu: emacs 23 byl vydán!“. Emacs-fu.blogspot.com. 2009-07-28. Citováno 2009-11-08.
- ^ Zawodny, Jeremy (2003-12-15). „Emacs Remote Editing with Tramp“. Linux Magazine. Citováno 2010-02-01.
Tramp [...] znamená „Transparentní vzdálený (souborový) přístup, více protokolů.“
- ^ Free Software Foundation Inc (2007). „Emacs News verze 22.1“. Citováno 2013-12-29.
- ^ A b C „NEWS.19“.
- ^ „Časová osa Emacs“.
- ^ „GNU bliká“.
- ^ „NEWS.18“.
- ^ „NEWS.18“.
Programům, jako jsou poštovní programy, které vyvolávají „editora“ jako podřízeného pro úpravu nějakého textu, lze nyní říci, aby místo vytvoření nového editoru používaly stávající proces Emacs.
- ^ „NEWS.1-17“.
- ^ „Internals Xemacs“.
- ^ „NEWS.1-17“.
Další čtení
- Stallman, Richard M. (2002). Manuál GNU Emacs (15. vydání). GNU Press. ISBN 978-1-882114-85-6.
- Stallman, Richard M. (2002). „Moje zkušenosti s Lispem a vývoj GNU Emacs“. Citováno 2007-02-01.
- Chassel, Robert J. (2004). Úvod do programování v Emacsu Lisp. GNU Press. ISBN 978-1-882114-56-6. Archivovány od originál dne 03.07.2013.
- Glickstein, Bob (duben 1997). Psaní rozšíření GNU Emacs. O'Reilly & Associates. ISBN 978-1-56592-261-7.
- Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (prosinec 2004). Learning GNU Emacs, 3. vydání. O'Reilly & Associates. ISBN 978-0-596-00648-8.