Emacs

EMACs
Emacs27 showing Org, Magit, and Dired with the modus-operandi theme.png
Org-mode, Magit, und Dired Puffer in GNU EMACS
Originalautor (en) David A. Moon,
Guy L. Steele Jr.
Entwickler (en) Verschiedene kostenlose/libre -Software Entwickler, einschließlich Freiwilliger und kommerziell Entwickler
Erstveröffentlichung 1976; Vor 46 Jahren[1][2]
Geschrieben in Lispeln, C
Betriebssystem Plattformübergreifend
Typ Texteditor
Webseite www.Gnu.org/Software/emacs Edit this on Wikidata

EMACs /ˈichmæks/ oder EMACs (Herausgeber Makros)[3][4][5] ist eine Familie von Textredakteure das zeichnen sich durch ihre gekennzeichnet Erweiterbarkeit.[6] Das Handbuch für die am häufigsten verwendete Variante,[7] GNU EMACS, beschreibt es als "den erweiterbaren, anpassbaren, selbstdokumentierenden Echtzeit-Display-Editor".[8] Die Entwicklung der ersten EMACs begann Mitte der 1970er Jahre und arbeitet an seinem direkten Nachkomme GNU EMACs fort.

EMACS hat über 10.000 integrierte Befehle und seine Benutzeroberfläche ermöglicht dem Benutzer, diese Befehle zu kombinieren Makros Arbeiten automatisieren. Implementierungen von EMACs haben normalerweise a Dialekt des Lispeln Programmiersprache, die eine tiefe Erweiterungsfunktion bietet und Benutzern und Entwicklern es ermöglicht, neue Befehle und Anwendungen für den Editor zu schreiben. Erweiterungen wurden unter anderem in der Verwaltung geschrieben Dateien, Fernzugriff,[9] Email, Umrisse, Multimedia, Git Integration und RSS Einspeisungen,[10] sowie Implementierungen von Eliza, Pong, Conways Leben, Schlange, Dunnet, und Tetris.[11]

Das ursprüngliche EMACS wurde 1976 von geschrieben David A. Moon und Guy L. Steele Jr. als eine Reihe von Editor -Makros für die Teco Editor.[2][3][4][5][12] Es wurde von den Ideen der Teco-Macro-Herausgeber Tecmac und TMACs inspiriert.[13]

Die beliebteste und am meisten portierte Version von EMACs ist GNU EMACs, die von erstellt wurde von Richard Stallman für die GNU -Projekt.[14] Xemacs ist eine Variante, die verzweigt von GNU -EMACs im Jahr 1991. GNU -EMACs und XEMACs verwenden ähnliche Lisp -Dialekte und sind größtenteils miteinander kompatibel. XEMACS -Entwicklung ist inaktiv.

EMACs ist zusammen mit vi, einer der beiden Hauptkonkurrenten in der traditionellen Herausgeberkriege von Unix Kultur. Emacs gehört zu den ältesten freie und Open Source Projekte, die noch in der Entwicklung sind.[15]

Geschichte

EMACs wurde von gestartet Guy L. Steele Jr. als Projekt, um die vielen unterschiedlichen zu vereinen Teco Befehlssätze und Schlüsselbindungen bei MIT[4]
David A. Moon
Die Schnittstelle von EMACS wurde durch das Design der beeinflusst Space-Cadet-Tastatur, die es den Benutzern ermöglichen, so viele verschiedene Arten von Eingaben wie möglich einzugeben.[16]

Die Entwicklung der EMACS begann in den 1970er Jahren im MIT AI Lab, Deren PDP-6 und PDP-10 Computer verwendeten die Inkompatibler Timesharing -System (ES IST) Betriebssystem Das enthielt einen Standard Zeileneditor bekannt als Bandeditor und Korrektor (Teco). Im Gegensatz zu den meisten modernen Texteditoren verwendete Teco separate Modi, in denen der Benutzer entweder Text hinzufügen, vorhandenen Text bearbeiten oder das Dokument anzeigen würde. Man konnte Zeichen nicht direkt in ein Dokument einfügen, indem man es in Teco eingab wurde nicht auf dem Bildschirm angezeigt und schließlich ein Zeichen (<SECN>) eingeben, um den Editor wieder in den Befehlsmodus zu wechseln. (Eine ähnliche Technik wurde verwendet, um übertlich zu ermöglichen.) Dieses Verhalten ähnelt dem des Programms ed.

Richard Stallman besuchte die Stanford AI Lab 1976[17] und sah das Labor des Labors E Herausgeber, geschrieben von Fred Wright.[18] Er war beeindruckt von der intuitiven des Herausgebers des Herausgebers Wysiwyg (Was Sie sehen, ist das, was Sie erhalten) Verhalten, das seitdem zum Standardverhalten der meisten modernen Texteditoren geworden ist. Er kehrte nach MIT zurück, wo Carl Mikkelsen, a Hacker im AI Lab Kontrolle-R Dadurch konnte die Bildschirmanzeige jedes Mal aktualisiert werden, wenn der Benutzer einen Tastenanschlag eingab. Stallman hat diesen Modus neu implementiert, um effizient auszuführen, und fügte dann a hinzu Makro Funktionieren Sie im Teco-Anzeige-Bearbeitungsmodus, mit dem der Benutzer jeden Tastenanschlag neu definieren konnte, um ein Teco-Programm auszuführen.[5]

E hatte ein weiteres Merkmal, das Teco fehlte: Random-Access-Bearbeitung. Teco war ein Seiten-sequentieller Redakteur, der für die Bearbeitung konzipiert war Papier Klebeband auf der PDP-1 und in der Reihenfolge der Seiten in der Datei in der Reihenfolge der Seiten in der Regel auf jeweils nur eine Seite zu erlauben. Stallman modifizierte Teco, anstatt die Datei für den Seitungsrandom-Zugriff auf der Festplatte zu strukturieren, um große Puffer effizienter zu verarbeiten und seine Dateimanagementmethode zum Lesen, Bearbeiten und Schreiben der gesamten Datei als einzelne Puffer zu ändern. Fast alle modernen Redakteure verwenden diesen Ansatz.

Die neue Version von Teco wurde im AI -Labor schnell populär und sammelte bald eine große Sammlung von benutzerdefinierten Makros, deren Namen oft endeten MAC oder Macs, was stand für Makro. Zwei Jahre später, Guy Steele übernahm das Projekt, die verschiedenen Makros zu einem einzigen Satz zu vereinen.[19] Die fertige Implementierung von Steele und Stallman umfasste Einrichtungen zur Erweiterung und Dokumentation des neuen Makro -Sets.[5] Das resultierende System wurde als EMACS bezeichnet, für das stand Makros bearbeiten oder alternativ, E mit Makros. Stallman wählte den Namen EMACs ", weil <e> nicht als Abkürzung für seine zu dieser Zeit verwendet wurde."[20] Ein apokryph Hacker Koan behauptet, dass das Programm nach benannt wurde Emack & Bolio's, ein populärer Cambridge Eisdiele.[21] Das erste operative EMACS -System existierte Ende 1976.[22]

Stallman sah ein Problem in zu viel Anpassung und de facto Gabeln und bestimmte Bedingungen für die Nutzung festlegen. Er schrieb später:[22]

EMACs wurde auf der Grundlage der gemeinsamen gemeinsamen Nutzung verteilt, was bedeutet, dass alle Verbesserungen an mich zurückgegeben werden müssen, um aufgenommen und verteilt zu werden.

Die ursprünglichen EMACs lief wie Teco nur auf dem PDP-10, in dem er seine laufte. Sein Verhalten war ausreichend anders als das von Teco, dass es für sich genommen als Texteditor angesehen werden konnte, und es wurde schnell zum Standard -Bearbeitungsprogramm in seinem. Mike McMahon portiert Emacs von ITS bis zum TEMEX und Tops-20 Betriebssysteme. Andere Mitwirkende zu frühen Versionen von EMACs umfassen Kent Pitman, Earl Killian und Eugene Ciccarelli. Bis 1979 war EMACS der Hauptredakteur, der im KI -Labor von MIT und seinem Labor für Informatik verwendet wurde.[23]

Implementierungen

Frühe Implementierungen

ZMACS, ein EMACS für Lisp -Maschinen, eine Entwicklung von Ein und Zwei
James Gosling schrieb den ersten emacs-ähnlichen Redakteur, auf dem er rennt Unix (Gosling Emacs) 1981

In den folgenden Jahren haben Programmierer eine Vielzahl von EMACS-ähnlichen Redakteuren für andere Computersysteme geschrieben. Diese enthielten Eine (Ein ist keine EMACs) und Zwei[24] (Zwei war anfangs ein), die für die geschrieben wurden Lisp -Maschine von Mike McMahon und Daniel Weinrebund Sinus (Sinus ist nicht ein),[25] das wurde von Owen Theodore Anderson geschrieben. Weinrebs Eine War die ersten Emacs in Lisp. 1978,, Bernard Greenberg schrieb Multics Emacs fast ausschließlich in mehreren LISP bei Honeywell's Cambridge Information Systems Lab. Multics -EMACs wurden später von unterhalten Richard Soley, der den Nile EMACS-ähnlichen Redakteur für das NIL-Projekt und Barry Margolin entwickelte. Viele Versionen von EMACs, einschließlich GNU -EMACs, würden später LISP als Erweiterungssprache übernehmen.

James Gosling, wer würde später erfinden Nachrichten und die Java -Programmiersprache, schrieb Gosling Emacs 1981. Der erste EMACS-ähnliche Herausgeber, auf dem man läuft Unix, Gosling Emacs wurde geschrieben in C und verwendet Mocklisp, eine Sprache mit Lisp-ähnlicher Syntax, als Erweiterungssprache.

Frühe Anzeigen für Computer Corporation of America's CCA EMACs (Steve Zimmerman).[26] erschien 1984.[27] 1985 Vergleiche mit GNU Emacs, als es herauskam, erwähnte kostenlos gegenüber 2.400 US -Dollar.[28][irrelevantes Zitat]


GNU EMACS

GNU EMACS Laufen in a Textkonsole
GNU -EMACs laufen weiter Microsoft Windows

Richard Stallman begann 1984 mit der Arbeit an GNU Emacs, um a zu produzieren gratis Software Alternative zu den proprietären Gosling -Emacs. GNU EMACS basierte zunächst auf Gosling -EMACs, aber Stallmans Ersatz seines Mocklisp -Interpreters durch einen echten Lisp -Dolmetscher erforderte, dass fast der gesamte Code neu geschrieben wurde. Dies wurde das erste Programm, das vom entstehenden GNU -Projekt veröffentlicht wurde. GNU EMACS ist geschrieben in C und liefert EMACS Lisp, auch in C, als Erweiterungssprache implementiert. Version 13, die erste Veröffentlichung, wurde am 20. März 1985 erstellt. Die erste weit verbreitete Version von GNU EMACS war Version 15.34, die später 1985 veröffentlicht wurde. Frühe Versionen von GNU EMACs wurden als als als nummeriert 1.x.xmit der anfänglichen Ziffer der Version des C -Kerns. Das 1 wurde nach Version 1.12 fallen gelassen, wie angenommen wurde, dass sich die Hauptzahl nie ändern würde, und somit die Nummerierung übersprungen von übersprungen 1 zu 13.[29] Im September 2014 wurde in der GNU EMACS-Devel-Mailingliste bekannt gegeben, dass GNU EMACs eine schnelle Veröffentlichungsstrategie und die Versionsnummern in Zukunft schneller erhöhen würden.[30]

GNU EMACS wurde später auf Unix portiert. Es bot mehr Funktionen als Gosling-EMACs, insbesondere eine vollständige LISP als Erweiterungssprache, und ersetzte bald Gosling-Emacs als die de facto UNIX EMACS -Editor. Markus Hess nutzte einen Sicherheitsfehler im E -Mail -Subsystem von GNU Emacs in seinem 1986er Cracking Spree aus, in dem er gewann Superuser Zugriff auf UNIX -Computer.[31]

Der größte Teil der GNU -EMACS -Funktionalität wird durch a implementiert Skriptsprache genannt EMACS Lisp. Denn etwa 70% der GNU -EMACs sind in der EMACS Lisp -Erweiterungssprache geschrieben,[32] Man muss nur den C -Kern portieren, der den EMACS -LISP -Dolmetscher implementiert. Dies macht das Portieren von EMACs auf eine neue Plattform erheblich weniger schwierig als das Portieren eines äquivalenten Projekts, das nur aus nativem Code besteht.

Die Entwicklung der GNU -EMACS war bis 1999 relativ geschlossen und wurde als Beispiel für die verwendet Kathedrale Entwicklungsstil in Die Kathedrale und der Basar. Das Projekt hat inzwischen eine Mailingliste für öffentliche Entwicklung und anonym verabschiedet Lebenslauf Zugang. Die Entwicklung fand bis 2008 in einem einzigen CVS -Kofferraum statt und wurde dann auf den Basar umgestellt DVCs. Am 11. November 2014 wurde die Entwicklung verlegt Git.[33]

Richard Stallman ist der Hauptbetrieb von GNU EMACs geblieben, aber er hat sich zeitweise von der Rolle zurückgezogen. Stefan Monnier und Chong Yidong waren von 2008 bis 2015 Betreuer.[34][35] John Wiegley wurde 2015 nach einem Treffen mit Stallman am MIT zum Betreueren ernannt.[36] Bis Anfang 2014 hatte GNU EMACS 579 Individuum Ausschüsse während seiner gesamten Geschichte.[37]

Xemacs

Xemacs 21,5 auf Linux

Lucid EMACs, basierend auf einer frühen Alpha -Version von GNU EMACS 19, wurde ab 1991 von entwickelt Jamie Zawinski und andere bei Lucid Inc. Eine der bekanntesten frühen Gabeln in gratis Software Die Entwicklung trat auf, als die Codebasen der beiden EMACS -Versionen unterschiedlich waren und die separaten Entwicklungsteams die Bemühungen einstellten, sie wieder in ein einzelnes Programm zu verschmelzen.[38] Lucid Emacs wurde inzwischen umbenannt Xemacs. Die Entwicklung ist derzeit inaktiv. Die neueste stabile Version 21.4.22 wurde im Januar 2009 veröffentlicht (während eine Beta im Jahr 2013 veröffentlicht wurde), während GNU EMACS viele ehemals XEMACS-Funktionen implementiert hat.[39]

Andere Gabeln von GNU -Emacs

Andere bemerkenswerte Gabeln sind:

  • Aquamacs - Basierend auf GNU -EMACs (Aquamacs 3.2 basiert auf GNU EMACS Version 24 und Aquamacs 3.3 basiert auf GNU EMACS Version 25), die sich auf die Integration in die Apple Macintosh -Benutzeroberfläche konzentriert
  • Wiese - Eine japanische Version für Microsoft Windows[40]
  • Sxemacs - Steve Youngs 'Gabel von Xemacs[41]

Verschiedene EMACS -Herausgeber

UEMACS/PK 4.0.15 unter Linux
Das mg Tiny Emacs-ähnlicher Redakteur in OpenBSD 5.3.Bearbeitung Rubin Quellcode
Jove Laufen in a Debian Kasten

In der Vergangenheit vermehrten sich Projekte, mit denen kleine Versionen von EMACs produziert wurden. GNU EMACS wurde ursprünglich auf Computer mit einem 32-Bit-Flachadressraum und mindestens 1 ausgerichtetMiB von Ram.[42] Solche Computer waren High -End Arbeitsstationen und Minicomputer In den 1980er Jahren, und dies ließ einen Bedarf an kleineren Neuauflagen, die gemeinsam laufen würden persönlicher Computer Hardware. Die heutigen Computer haben mehr als genug Leistung und Kapazität, um diese Einschränkungen zu beseitigen, aber in jüngerer Zeit wurden kleine Klone auf Software -Installationsscheiben oder für weniger fähige Hardware passen.[43]

Andere Projekte zielen darauf ab, EMACs in einem anderen Dialekt von LISP oder einer anderen Programmiersprache insgesamt umzusetzen. Obwohl noch nicht alle aktiv aufrechterhalten sind, umfassen diese Klone:

  • Microemacs, das ursprünglich von Dave Conroy geschrieben und von Daniel Lawrence weiterentwickelt wurde und in vielen Variationen existiert.
  • mg, ursprünglich Micrognuemacs und später MG2A genannt, ein Ableger von Mikroemacs mit öffentlichen Domänen, die GNU-EMACs ähnlicher ähneln sollen. Jetzt standardmäßig installiert auf OpenBSD.
  • Jove (Jonathans eigene Version von EMACS), Jonathan Paynes nicht programmierbare EMACS-Implementierung für Unix-artig Systeme.
  • HACKFLEISCH (Mince ist keine vollständigen EMACs), eine Version für CP/M und später DOS, von Marke des Einhorns. Mince entwickelte sich zu endgültigem Wort, das schließlich zum Borland wurde Sprint Textverarbeitungssystem.
  • Perfekter Schriftsteller, a CP/m Die Implementierung von Mince, die um 1982 als Standard -Textverarbeitungsprogramm mit den frühesten Veröffentlichungen des Kaypro II und Kaypro IV eingeschlossen wurde. Es wurde später mit dem KayPro 10 als Alternative zur Verfügung gestellt WordStar.
  • Freemacs, a DOS Version, die eine Erweiterungssprache verwendet, die auf Textmakroerweiterung basiert und in das Original 64 passt Kib Flachspeichergrenze.
  • Zile. Zile war ein rekursives Akronym für ZIle Is LOssy EMacs,[44] Aber das Projekt wurde umgeschrieben in Lua Und nun gibt die Expansion, wie Zile lua Redakteure implementiert. Das Neue Zile enthält immer noch eine Implementierung von EMACs in Lua namens Zemacs. Es gibt auch eine Implementierung von VI namens Zi.
  • ZMACSfür den MIT Lisp -Maschine und seine Nachkommen, umgesetzt in Zetalisp.
  • CLIMACS, eine ZMACS-beeinflusste Variante implementiert in Common Lisp.
  • Epsilon,[45] Ein EMACS -Klon von Lugaru -Software. Versionen für DOS, Windows, Linux, FreeBSD, Mac OS X und O/S 2 sind in der Version gebündelt. Es verwendet eine nicht lispispene Erweiterungssprache mit C-Syntax und eine sehr frühe Implementierung von Befehlsschalenpuffer unter der Einzelaufgabe-MS-DOS.
  • PCEEMACS ist der EMACS-basierte Herausgeber für Swi-Prolog.
  • AMACS, eine Apple II -Prodos -Version von EMACs, die in 6502 Assembly von implementiert ist Brian Fox.[46][47]
  • Schierling, ursprünglich geschrieben in Spice Lisp, dann Common Lisp. Ein Teil von CMU Common Lisp. Beeinflusst von ZMACS. Später von lucid Common Lisp (als Helix) gegabelt, Lispworks und Clozure Cl Projekte. Es gibt auch ein tragbares Hemlock -Projekt, das einen Hemlock bereitstellen soll, der auf mehreren gemeinsamen LISP -Implementierungen ausgeführt wird.
  • Umacs,[48] eine Implementierung unter OS-9
  • Edwin, ein EMACS-ähnlicher Texteditor, der im MIT/GNU-Schema enthalten ist.

Herausgeber mit EMACS -Emulation

  • Das Kakao -Textsystem Verwendet einige der gleichen Terminologie und versteht viele EMACS -Navigationsbindungen. Dies ist möglich, weil die native Benutzeroberfläche die verwendet Befehlsschlüssel (entspricht Super) anstelle der Steuerschlüssel.[49]
  • Eclipse (IDE) Bietet eine Reihe von EMACS -Schlüsselbindungen.
  • Epsilon (Texteditor) Standardeinstellungen zur EMACS -Emulation und unterstützt einen VI -Modus.
  • Gnome Builder hat einen Emulationsmodus für EMACs.
  • GNU Readline ist ein Zeileneditor Das versteht die Standard -EMACS -Navigationschlüsselbindungen. Es hat auch a vi Emulationsmodus.
  • Intellij Idee Bietet eine Reihe von EMACS -Schlüsselbindungen.
  • Jed hat einen Emulationsmodus für EMACs.
  • Joes eigener Herausgeber emuliert EMACS -Schlüsselbindungen, wenn sie aufgerufen werden JMACS.
  • Matlab Bietet EMACS -Schlüsselbindungen für seinen Herausgeber.[50]
  • Kornshell Hat einen EMACS -Zeilenbearbeitungsmodus, der vor GNU Readline liegt.[51]
  • Visual Studio -Code Bietet an Verlängerung Emacs -Schlüsselbindungen emulieren.
  • Oracle SQL -Entwickler kann alternative Tastatur-Kurzhortcut-Layouts speichern und laden. Eines der integrierten Layouts bietet EMACS-ähnliche Schlüsselbindungen, einschließlich der Verwendung verschiedener Befehle, um ein engeres Verhalten zu erzielen.

Merkmale

EMACs sind in erster Linie a Texteditor und ist zum Manipulieren von Textteilen ausgelegt, obwohl es in der Lage ist, Dokumente wie a zu formatieren und zu drucken Textverarbeitungssystem durch Vernetzung mit externen Programmen wie z. Latex, Ghostscript oder ein Webbrowser. EMACS bietet Befehle zum Manipulieren und differentiell anzeigen semantisch Texteinheiten wie z. Wörter, Sätze, Absätze und Quellcode Konstrukte wie Funktionen. Es bietet auch Tastaturmakros Für die Durchführung von benutzerdefinierten Stapeln von Bearbeitungsbefehlen.

Gnu emacs ist a Echtzeitanzeige Der Editor, wie seine Änderungen auf dem Bildschirm angezeigt werden. Dies ist ein Standardverhalten für moderne Textredakteure, aber EMACs war zu den frühesten, um dies umzusetzen. Die Alternative besteht darin, einen bestimmten Befehl zum Anzeigen von Text auszugeben (z. B. nach der Änderung). Dies geschieht in Linien -Redakteuren, wie z. ed (Unix), ed (cp/m) und Edlin (MS-DOS).

Allgemeine Architektur

Fast alle Funktionen in EMACs, einschließlich grundlegender Bearbeitungsvorgänge wie der Einführung von Zeichen in eine Datei, werden durch erreicht Funktionen geschrieben in einem Dialekt der Lisp -Programmiersprache. Der in GNU -EMACs verwendete Dialekt ist als bekannt als EMACS Lisp (ELISP) und wurde ausdrücklich zu Port -EMACs entwickelt GNU und Unix. Die EMACS Lisp Layer befindet C Programmiersprache, was ermöglicht, dass GNU -EMACs auf eine Vielzahl von Betriebssystemen und Architekturen portiert werden, ohne die Implementierungssemantik des Lisp -Systems zu ändern, in dem der größte Teil des Herausgebers lebt. In dieser Lisp -Umgebung, Variablen und Funktionen Kann geändert werden, ohne dass EMACs wieder aufgebaut oder neu gestartet werden müssen, wobei selbst neu definierte Versionen von Core -Editor -Funktionen asynchron zusammengestellt und in die Live -Umgebung geladen werden, um vorhandene Definitionen zu ersetzen. Moderne GNU -EMACs bietet beide Bytecode und nativen Code Zusammenstellung für EMACS Lisp.

Die gesamte Konfiguration wird in Variablen, Klassen und Datenstrukturen gespeichert und durch einfaches Aktualisieren dieser Live geändert. Die Verwendung eines Lisp-Dialekts in diesem Fall ist ein wichtiger Vorteil, da die Lisp-Syntax aus sogenannten besteht Symbolische Ausdrücke (oder sexPrs), die sowohl als evaluatable Code -Ausdrücke als auch als als A -Ausdruck fungieren können Datenserialisierungsformat ähnlich, aber einfacher und allgemeiner als allgemein bekannte wie Xml, JSON, und Yaml. Auf diese Weise gibt es in der Praxis wenig Unterschied zwischen dem Anpassen bestehender Funktionen und dem Schreiben neuer, die beide auf die gleiche grundlegende Weise erreicht werden. Das Ziel des Open Designs von EMACS ist es, den EMACS -Benutzern von EMACS während der normalen Verwendung transparent auf die gleiche Weise wie sie dem EMACS -Entwickler ausgesetzt zu sein, transparent aufzuteilen Gitbaumund so weit wie möglich von der Unterscheidung zwischen der Verwendung von EMACs und dem Programmier -EMACs zusammenzubrechen und gleichzeitig eine stabile, praktische Umgebung für Anfänger zu erhalten.

Die Haupttextbearbeitung Datenstruktur ist der Puffer, eine Speicherregion, die Daten (normalerweise Text) mit zugehörigen Attributen enthält. Die wichtigsten davon sind:

  • Das Punkt: das Cursor bearbeiten;
  • Das Kennzeichen: Ein einsetzbarer Ort, der zusammen mit dem Punkt eine Auswahl von ermöglicht
  • Das Region: Eine konzeptionell zusammenhängende Textsammlung, auf die Bearbeitungsbefehle angewendet werden;
  • Der Name und Inode der Datei ist der Puffer Besuch (wenn überhaupt);
  • Das Standardverzeichnis, wo OS-Level -Befehle werden sein ausgeführt von standardmäßig;
  • Das Puffercodierung, die Methode, mit der EMACs Pufferdaten für den Benutzer darstellt.
  • und eine Vielzahl von Puffer lokaler Variable Werte und Emacs Lisp -Zustand.

Ein solcher lokaler Staat umfasst insbesondere den aktiven Satz von aktiven Modi, einschließlich eines Hauptmodus, ein allgemeiner Satz von Verhaltensweisen und Schlüsselbindungen, die für die Daten des spezifischen Puffer relevant sind (z. B. Bearbeiten von Quellcode in einer bestimmten Sprache, Hex bearbeitenAnzeigen des Dateisystems, Interaktion mit Gitusw.) und verschiedene Kleinere Modiund definieren subventionierende Funktionen, die für viele wichtige Modi anwendbar sind (wie z. Auto-Save-Modus).

Jede Interaktion mit dem Editor (z. Befehl, was eine Funktion ist, die explizit für den interaktiven Gebrauch entwickelt wurde. Tasten können willkürlich neu definiert werden und auf Befehle können auch namentlich zugegriffen werden. Einige Befehle bewerten beliebige EMACS -LISP -Code, die vom Benutzer auf verschiedene Weise bereitgestellt werden (z. B. eine Familie von bewerten Region, Puffer, und Ausdruck Geben Sie Befehle ein). Auch die einfachsten Benutzereingaben (eine solche druckbare Zeichen) werden als EMACS -LISP -Funktionen wie die wirksam Selbstvereinbarung , standardmäßig an die meisten Tastatur -Tasten in einem typischen Textbearbeitungspuffer gebunden Gebietsschema-Definierte Zeichen, die dem Schlüssel zugeordnet sind, der zum Aufrufen verwendet wird.

Puffer werden in angezeigt Fenster, die geflieste Teile des Terminalbildschirms oder des GUI -Fensters sind (genannt a rahmen in der EMACS -Terminologie). Abhängig von der Konfiguration können Windows Scroll -Balken, Liniennummern, manchmal eine "Kopfzeile" enthalten, um die Navigation zu erleichtern, und a Moduslinie Unten (in der Regel den Puffernamen anzeigen, unter anderem die aktiven Modi und die Punktposition des Puffers). Der Boden jedes Frame wird für Ausgabenachrichten (dann als "Echobereich" bezeichnet) und die Texteingabe für Befehle (dann als "Minibuffer" bezeichnet) verwendet.

Im Allgemeinen werden EMACS -Elemente (Fenster, Frames usw.) nicht an bestimmte Daten oder EMACs -Prozesse gebunden. Puffer sind nicht mit Windows zugeordnet, und mehrere Fenster können auf demselben Puffer geöffnet werden, um beispielsweise verschiedene Teile eines langen Textes nebeneinander ohne Scrollen zu sehen, und mehrere Puffer können denselben Text teilen, zum Beispiel, um es zu nutzen von verschiedenen Hauptmodi in einer gemischten Sprachdatei. Der Hauptmodus kann auch bei Bedarf manuell mit Bedarf geändert werden M-X . In ähnlicher Weise sind EMACS -Instanzen nicht mit bestimmten Frames verbunden, und es können mehrere Rahmen geöffnet werden, wobei ein einzelner laufender EMACS -Prozess angezeigt wird, z. einen Bildschirm pro Bildschirm in einem Multi-Monitor-Setup oder einem überständigen Terminalrahmen Ssh Aus einem Remote -System und einem GUI -Frame, der im gleichen EMACS -Prozess geöffnet ist, der über den Monitor des lokalen Systems usw. angezeigt wird, usw.

Anpassbarkeit

  • Tastenanschläge können in Makros aufgenommen und wiedergegeben werden, um komplexe, sich wiederholende Aufgaben zu automatisieren. Dies geschieht häufig auf Ad-hoc-Basis, wobei jedes Makro nach der Verwendung verworfen wird, obwohl Makros später gespeichert und aufgerufen werden können.
  • Beim Startup führt EMACs ein EMACS -LISP -Skript mit dem Namen aus ~/.Emacs (Aktuelle Versionen suchen auch nach ~/emacs.el, ~/.emacs.d/init.el, und ~/.config/emacs/init.el;[52]sowie ähnliche Variationen auf ~/.config/emacs/frühinit.el.[53] EMACS liest Frühinit.el Erstens, wenn es vorhanden ist, und es kann verwendet werden, um Kern-EMACs-Funktionen vor dem Laden zu konfigurieren oder zu kurzüberschreitend, z. B. das grafische Dispalyssystem oder Paket-Manager. Anschließend wird die erste Version ausgeführt .Emacs oder init.el Das findet es und ignoriert den Rest. Diese persönliche Anpassungsdatei kann willkürlich lang und komplex sein, aber typischer Inhalte umfassen:
    • Festlegen globaler Variablen oder Aufrufen von Funktionen, um das EMACS -Verhalten beispielsweise anzupassen (set-default-coding-systems 'utf-8)
    • Tastenbelegungen Standards überschreiben und Verknüpfungen für Befehle hinzufügen, die der Benutzer bequem findet, aber standardmäßig keine Schlüsselbindung hat. Beispiel: (global-set-key (kbd "C-x C-b") 'ibuffer)
    • Laden, Aktivieren und Initialisieren von Erweiterungen (EMACs sind mit vielen Erweiterungen ausgestattet, aber nur wenige werden standardmäßig geladen.)
    • Konfigurieren Event Hooks So führen Sie zum Beispiel den beliebigen Code zu bestimmten Zeiten aus, um den Quellcode nach dem Speichern eines Puffers automatisch neu zu kompilieren.after-save-hook)
    • Ausführung beliebiger Dateien, um in der Regel eine übermäßig lange Konfigurationsdatei in überschaubare und homogene Teile aufzuteilen (( ~/.emacs.d/ und ~/elisp/ sind traditionelle Orte für diese persönlichen Skripte)
  • Das anpassen Die Erweiterung ermöglicht es dem Benutzer, Konfigurationseigenschaften wie das Farbschema interaktiv aus EMACs auf benutzerfreundlichere Weise einzustellen als durch Einstellen von Variablen in .Emacs: Es bietet Such-, Beschreibungen und Hilfetext, Multiple -Choice Vorlieben Funktionalität anderer Programme. Die individuellen Werte werden in gespeichert .Emacs (oder eine andere bestimmte Datei) automatisch.
  • ThemenDie Auswahl der Schriftarten und Farben wird als EMACS -LISP -Dateien definiert und über die Anpassungserweiterung ausgewählt.
  • Modi, die die Bearbeitung einer Reihe von Programmiersprachen (z. B. EMACS-LISP-Mode, C-Modus, Java-Modus, ESS für R) unterstützen, indem die Schriftarten geändert werden, um den geänderten Code und die Schlüsselbindungen (Vorwort-Funktion vs. Forward-Page) hervorzuheben, um den Code und die Schlüsselbindungen hervorzuheben (Vorwort-Funktionen). . Andere Modi umfassen diejenigen, die Bearbeitungsaktionen (düster) und strukturierter Text unterstützen.

Selbstdokumentation

Die ersten EMACs enthielten a Hilfe Bibliothek mit Dokumentation für jeden Befehl, jede variable und interne Funktion. Aus diesem Grund beschrieben EMACS -Befürworter die Software als Selbstdokumentation Da es dem Benutzer Informationen zu seinen normalen Funktionen und seinem aktuellen Status präsentiert. Jede Funktion enthält eine Dokumentationszeichenfolge, die dem Benutzer auf Anfrage angezeigt wird, eine Praxis, die sich anschließend auf Programmiersprachen einschließlich der Sprache ausbreitete Lispeln, Java, Perl, und Python. Dieses Hilfesystem kann Benutzer für jede Funktion zum tatsächlichen Code bringen, sei es aus einer integrierten Bibliothek oder einer zusätzlichen Bibliothek von Drittanbietern.

EMACs hat auch ein integriert Lernprogramm. EMACS zeigt Anweisungen zum Ausführen einfacher Bearbeitungsbefehle an und ruft das Tutorial auf, wenn es ohne Datei zum Bearbeiten gestartet wird. Das Tutorial stammt von Stuart Cracraft und Richard Stallman.

Kultur

Kirche der Emacs

Das Kirche der Emacs, geformt von Richard Stallman, ist ein Parodie -Religion Erstellt für EMACS -Benutzer.[54] Während es sich auf vi als die Herausgeber des Tieres (VI-VI-VI-Sein 6-6-6 In römischen Ziffern) widerspricht es nicht der Verwendung von VI; Vielmehr nennt es es proprietäre Software Anathema. ("Verwendung einer frei Version von VI ist keine Sünde, sondern a Buße. "[55]) Die Kirche von Emacs hat ihre eigene Newsgroup, Alt.Religion.Emacs,[56] Das hat Beiträge, die angeblich diese Parodie -Religion unterstützen. Anhänger von VI haben einen Gegner geschaffen Kult von vi.

Stallman hat sich scherzhaft als bezeichnet als St iGNUCius, ein Heiliger in der Kirche der Emacs.[57]

Emacs Pinky

Es gibt Folklore, die a zuschreiben Verletzung durch wiederholte Belastung umgangssprachlich genannt EMACs kleiner Finger starke Abhängigkeit von Modifikatorschlüssel, um die starke Abhängigkeit von EmaCs zu machen,[58] Obwohl keine Studien durchgeführt wurden, um nachzuweisen, dass EMACs mehr solche Probleme verursachen als andere Computerprogramme von Tastaturen.

Benutzer haben dies durch verschiedene Ansätze angesprochen. Einige Benutzer empfehlen einfach, die beiden Steuertasten auf typischen PC -Tastaturen wie Shift -Tasten beim Tippen zu verwenden, um das linke kleine Finger übermäßig zu belasten, a korrekte Nutzung der Tastatur reduziert den RSI.[59] Zu den Software-Seiten-Methoden gehören:[60]

  • Anpassen des Schlüssellayouts so, dass das Strg Schlüssel wird mit dem transponiert Caps Lock Schlüssel.[61] Ähnliche Techniken umfassen das Definieren der Caps Lock Taste als zusätzlicher Steuerschlüssel oder Transponierung der Steuer- und Metaschlüssel.Da diese Schlüssel jedoch immer noch mit dem gleichen Finger gedrückt werden, können sie immer noch zu EMACS Pinky beitragen.[Klarstellung erforderlich]
  • Software wie XWRITs oder integriert Typ-Break-Mode In EMACs erinnert dies den Benutzer daran, regelmäßig geplante Pausen zu machen.
  • Verwenden der Ergoemacs -Schlüsselbindungen (mit geringfügigem Modus Ergoemacs-Modus).[62]
  • Anpassen des gesamten Tastaturlayouts, um statistisch häufige EMACS -Tasten an geeignetere Orte zu verschieben.[63]
  • Pakete wie Ace-Jump-Mode[64] oder EMACS -Lisp -Erweiterungen, die eine ähnliche Funktionalität der abgestuften Navigation liefern und zuerst nach einem Charakter bitten und dann das Ereignis des Charakters durch Zugangstasten für die Cursorbewegung ersetzen.
  • Evil-Mode, ein Fortgeschrittenen Vim Emulationsschicht.
  • God-Mode, der einen Ansatz bietet, der VIMs mit einem Modus zum Eingeben von EMACS -Befehlen ohne Modifikatorschlüssel ähnelt.
  • Verwenden von benutzerdefiniertem Schlüssellayout von angeboten von Spacemacs, ein Projekt wo Leertaste Der Schlüssel wird als Hauptschlüssel für die Initiierung von Kontrollsequenzen verwendet. Das Projekt beinhaltet auch stark beide Evil-Mode und God-Mode.[65]
  • Einrastfunktion, was Schlüsselsequenzen in Schlüsselkombinationen verwandelt.[66]
  • Emacs 'eingebaut Viper-Mode Das ermöglicht die Verwendung des vi Schlüssellayout für die grundlegende Textbearbeitung und das EMACS -Schema für fortgeschrittenere Funktionen.[67]
  • Eine doppelte Rolle für einen nicht genügend abgerufenen Schlüssel wie die geben Leertaste so dass es als Steuertaste fungiert, wenn es in Kombination mit anderen Schlüssel gedrückt wird. Ergonomische Tastaturen oder Tastaturen mit einer größeren Anzahl von Tasten neben der Raumleiste, wie z. Japanische TastaturenErmöglichen Sie auch die Daumensteuerung anderer Modifikatortasten wie Meta oder Verschiebung.[68]
  • Verwendung einer begrenzten ergonomischen Untergruppe von Schlüsselbindungen und Zugriff auf andere Funktionen durch Eingabe M-X . M-X selbst kann auch erholt werden.
  • EMACs durch Spracheingabe fahren.

Zu den Hardware -Lösungen gehören spezielle Tastaturen wie z. Kinesis 'konturierte Tastatur, wodurch die Modifikatorschlüssel dort platziert werden, wo sie leicht von der betrieben werden können Daumen, oder der Microsoft Natural Keyboard, deren große Modifikatortasten symmetrisch auf beiden Seiten der Tastatur platziert werden und können mit der Handfläche gedrückt werden.[58] Fußpedale können auch verwendet werden.

Das Emacs Pinky ist eine relativ jüngste Entwicklung. Das Space-Cadet-Tastatur Auf welchen EMACs hatte übergroße Kontrollschlüssel, die an der Weltraumstange angrenzten und mit dem Daumen leicht zu erreichen waren.[69]

Terminologie

Das Wort EMACs wird manchmal pluralisiert als Emacsen, durch phonetische Analogie mit Köpfen und Vaxenbezieht sich auf verschiedene Sorten von EMACs.[70]

Siehe auch

Verweise

  1. ^ "EMACS -Veröffentlichungsdaten".
  2. ^ a b Zawinski, Jamie (2005-06-21) [1999]. "EMACS -Zeitleiste". Abgerufen 11. August 2015.
  3. ^ a b Greenberg, Bernard S. (1979). Multics -EMACs: Geschichte, Design und Implementierung.
  4. ^ a b c "GNU EMACS FAQ".
  5. ^ a b c d Adrienne G. Thompson. "Macsimierende Teco". Archiviert von das Original Am 2013-10-24. Abgerufen 2012-02-26.
  6. ^ "Eine Tutorial -Einführung in GNU EMACs". Damit ein Editor als "EMACs" bezeichnet wird, ist die Hauptanforderung, dass er mit einer echten Programmiersprache und nicht nur einer Makrosprache vollständig erweiterbar ist.
  7. ^ "GNU EMACS -Taschenreferenz". GNU EMACS ist die beliebteste und am weitesten verbreitete Emacs -Familie von Redakteuren.
  8. ^ "GNU EMACS -Handbuch". FSF. Abgerufen 24. November 2012.
  9. ^ "Tramp -Benutzerhandbuch". Kostenlose Software -Stiftung. Abgerufen 2009-04-04.
  10. ^ "Einführung von Elfeed, einem EMACS -Web -Feed -Leser".
  11. ^ "Vergnügungen". Wenn Sie schließlich frustriert sind, versuchen Sie, Ihre Probleme mit dem berühmten Psychotherapeuten Eliza zu beschreiben. Mach einfach M-X-Arzt.
  12. ^ Richard Stallman wird oft als ein anderer Mitschöpfer anerkannt, aber als Daniel Weinreb schrieb: "Die originalen (Teco-basierten) EMACS wurde von Guy L. Steele Jr. und David Moon entworfen und entworfen. Nachdem sie es funktionierten, und es als Standardtextredakteur im AI-Labor etabliert hatte, übernahm Stallman die Leitung von Stallman seine Wartung. " Moon selbst antwortete: "Alles wahr, soweit ich mich erinnern kann. Aber in aller Fairness muss ich sagen, dass Stallman Emacs stark verbessert hat, nachdem er es" von Guy und mir befreit "hat. Sehen Weinreb, Dan (11. November 2007), "Widerlegung von Stallmans Geschichte über die Bildung von Symbolik und LMI", Dan Weinrebs Blog: Software und Innovation, archiviert von das Original am 1. Januar 2009.
  13. ^ "Eine Geschichte der Emacs". XEMACS -Interna Handbuch. 2006-12-11. Abgerufen 2007-08-22.
  14. ^ Allombert, Bill. "Debian Popularity Contest". Redakteure Bericht. Debian. Abgerufen 22. November 2011.
  15. ^ "Die 10 ältesten, bedeutenden Open-Source-Programme". ZDNET.
  16. ^ Raymond, Eric S.; Cameron, Debra; Rosenblatt, Bill (1996). Lernen GNU EMACS, 2. Auflage. Sebastopol, CA: O'Reilly. S. 408–409. ISBN 1-56592-152-6.
  17. ^ Williams, Sam (2002). Free wie in Freedom: Richard Stallmans Kreuzzug für kostenlose Software. Sebastopol, CA: O'Reilly Media. p. 82. ISBN 0-596-00287-4.
  18. ^ Arthur Samuel (März 1980). "Essential e" (PDF). Abgerufen 2020-04-19.
  19. ^ "Emacs vs. VI: Der endlose Geek 'Heilige Krieg'". Archiviert von das Original Am 2014-11-26. Abgerufen 2014-05-30. "EMACS als solches hat tatsächlich als Standardprojekt begonnen", E -Mail Guy Steele
  20. ^ Stallman, Richard M. (1987). "Der EMACS Full-Screen-Editor". GEWAND. Nr. Maj 1987. Lysator, Linköping University. S. 8–11. Abgerufen 2007-09-14.
  21. ^ Reynolds, Craig (1992-02-10). Wiseman, David G. (Hrsg.). "Der Emac Bolio Name Koan". David G. Wiseman: Geschichten der Computer -Folklore. Archiviert von das Original Am 16. Januar 2003. Ein übermütiger Anfänger sagte einmal zu Stallman: "Ich kann raten, warum der Herausgeber Emacs heißt, aber warum heißt der Begründer Bolio?" Stallman antwortete zwangsweise, Namen sind nur Namen, Emack & Bolio's ist der Name einer beliebten Eisdiele in Boston Town. Keiner dieser Männer hatte etwas mit der Software zu tun. ' Seine Frage beantwortete, doch unbeantwortet, der Anfänger drehte sich um, aber Stallman rief ihn an: "Weder Emacs noch Bolio hatten etwas mit der Eisdiele zu tun."
  22. ^ a b Stallman, Richard (26. März 1981). EMACs: Die erweiterbare, anpassbare, selbstdokumentation, Anzeigeeditor (PDF) (Technischer Bericht). MIT AI Lab. AI Memo 519a. Abgerufen 2011-01-07.
  23. ^ Leigh Klotz (2007-08-29). "E -Mail zitiert in" Sei vorsichtig, worüber du scherze "". Die New York Times. Abgerufen 2010-05-01.
  24. ^ "Kommentar von Zweis Autor Dan Weinreb". Ich schrieb die zweite EMACS aller Zeiten: die Implementierung der Lisp-Maschine, deren Spezifikation "Mach das, was Stallmans PDP-10 (Original) Emacs tut", und ging dann von dort aus. Es gibt nur eine ganze Menge davon. Ich und Mike McMahon haben endlose Stunden gebraucht, um so viele Befehle zu implementieren, um Zwei/ZMACs zu machen.
  25. ^ Owen Theodore Anderson (Januar 1979). "Das Entwurf und die Implementierung eines displayorientierten Redakteurs-Schreibsystems" (PDF). Abgerufen 2012-09-09.
  26. ^ Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Intellektuelles Eigentum erstellen und nicht makingieren. Computer Corporation of America (CCA) Emacs, geschrieben von Steve Zimmerman
  27. ^ "Emacs". 17. Dezember 2017.
  28. ^ "Unterschiede zwischen GNU -EMACs und CCA -Emacs. Copyyright".
  29. ^ "Eine Geschichte der Emacs".
  30. ^ "EMACS-Devel MSG 00872 (2014-09-29)". Im Nachhinein hätten 24,3 25.1 und 24,4 benannt worden sein 26.1. Das .N Das Ding sollte wirklich nur für Bug-Fix-Veröffentlichungen aufbewahrt werden und weder 24,3, 24.4 noch die zuvor geplanten 24.5 sind Bug-Fix-Releases.
  31. ^ Stoll, Clifford (1988). "Den schlauen Hacker verfolgen". Kommunikation der ACM. 31 (5): 484–497. doi:10.1145/42411.42412. S2CID 6956966.
  32. ^ "GNU emacs". Offener Nabe. Abgerufen 2017-11-25.
  33. ^ Raymond, Eric (2014-11-12). "Neues Git -Repository ist abgelaufen". Abgerufen 2017-11-25.
  34. ^ Stallman, Richard (2008-02-22). "Re: Auf der Suche nach einem neuen EMACS -Betreuer oder Team". GNU.org Mailingliste. Abgerufen 2017-11-25.
  35. ^ McNamara, Paul (2008-02-25). "Stallman über die Übergabe von GNU EMACs, seine Zukunft und die Bedeutung der Nomenklatur". Netzwerkwelt. Abgerufen 2017-11-25.
  36. ^ Chirgwin, Richard (2015-11-05). "EMACS bekommt einen neuen Betreuer, als Richard Stallman abhebt". Das Register. Abgerufen 2017-11-25.
  37. ^ Raymond, Eric (2014-03-29). "Hässlichste ... Repository ... Konvertierung ... jemals". Abgerufen 2017-11-25. 29 Jahre kontinuierlicher Entwicklung von nicht weniger als 579 Menschen
  38. ^ Stephen J., Turnbull. "Xemacs vs. GNU emacs". Abgerufen 2012-10-02.
  39. ^ "Xemacs ist tot. Es lebe Xemacs!".
  40. ^ Frontpage - Wiese Wiki Archiviert 2012-02-16 bei der Wayback -Maschine
  41. ^ "SXEMACS -Website". Sxemacs.org. 2009-10-11. Abgerufen 2009-11-08.
  42. ^ "Meine Lisp -Erfahrungen und die Entwicklung von GNU -Emacs". In jenen Tagen gab es 1985 Menschen, die One-Megabyte-Maschinen ohne virtuellen Gedächtnis hatten. Sie wollten GNU -EMACs verwenden können. Dies bedeutete, dass ich das Programm so klein wie möglich halten musste.
  43. ^ "Gnu Zile (Zile ist verlustige EMACs) - Zusammenfassung". Moderne Computer haben mehr als genug Ressourcen, um einen vollständigen EMACs in einem Bruchteil einer Sekunde zu starten und auszuführen, und EMACs ist wahrscheinlich das, was Sie wollen. Zile ist ein kleiner, schneller und mächtiger EMACS -Klon. Es ist nützlich für kleine Fußabdruckinstallationen (z. B. auf Diskette), Maschinen mit wenig Speicher oder schnelle Bearbeitungssitzungen, insbesondere auf Remote -Maschinen oder als anderer Benutzer, z. Wurzel.
  44. ^ "Zile Homepage".
  45. ^ "Lugaru Software Homepage".
  46. ^ "AMACS Quelle".
  47. ^ "Apple2.org".
  48. ^ Paul S. Dayan (1992). Der OS -9 -Guru - 1: Die Fakten. Galaktische Industrial Limited. ISBN 0-9519228-0-7.
  49. ^ "Kakao -Textsystem".
  50. ^ "Einrichten von Schlüsselbindungen für das Befehlsfenster und Editor". MathWorks Blogs. 2007-05-11. Abgerufen 2019-08-18.
  51. ^ Bolsky, Morris I.; Korn, David G. (1989). "Anerkennung". Die Kornshell -Befehls- und Programmiersprache. Englewood Cliffs, NJ: Prentice Hall. S. xii. ISBN 0-13-516972-0.
  52. ^ "Init -Datei".
  53. ^ "Frühere Init -Datei".
  54. ^ "Saint Ignucius - Richard Stallman". Abgerufen 29. Januar 2015.
  55. ^ "Das ungekürzte selektive Transkript von Richard M Stallmans Vortrag bei der Anu". Abgerufen 29. Januar 2015.
  56. ^ Alt.Religion.Emacs Newsgroup
  57. ^ "Saint Ignucius - Richard Stallman". www.stallman.org. Abgerufen 27. März 2018.
  58. ^ a b "Wie man das Emacs Pinky -Problem vermeidet". Xahlee.org. Abgerufen 2009-11-08.
  59. ^ "EMACS: Warum Sie nicht {Caps Lock, Control} Tasten tauschen sollten". In der Berührung tippen Modifikatoren ein paar Mal, wie z. B. ⇧ Schaltschlüssel. Die akzeptierte ergonomische Methode zum Drücken von Modifikatorkombinationen verwendet eine Hand, um die Modifikatortaste und die andere zu drücken, um die Buchstabentaste zu drücken. Durch die Verwendung von 2 Händen wird ein Handmuskelmuskel vermieden.
  60. ^ "Emacswiki: Wiederholte Dehnungsverletzung". Abgerufen 29. Januar 2015.
  61. ^ "Verschieben der Strg -Taste". Emacswiki. Abgerufen 2009-11-08.
  62. ^ "Ergoemacs Homepage". Abgerufen 2018-09-01.
  63. ^ "Keymacs Layout". GitHub.
  64. ^ "Emacswiki: Ace Jump". Abgerufen 29. Januar 2015.
  65. ^ "Spacemacs". GitHub. Abgerufen 2015-04-20.
  66. ^ Bayleshanshans (2009-10-07). "Klebrige Modifikatoren". Emacswiki. Abgerufen 2009-11-08.
  67. ^ "Viper -Modus". Emacswiki. Abgerufen 2009-11-08.
  68. ^ "Zu Hause Modifikator von EVDEV". Abgerufen 2015-04-14.
  69. ^ "Warum EMACS 'Tastaturverknüpfungen schmerzhaft sind".
  70. ^ "Vaxen". Catb.org. Abgerufen 2009-11-08.

Literaturverzeichnis

Externe Links