Emacs ist ein quelloffener, beliebig erweiterbarer Editor — und nach einer Weile fast jedem, der ihn ernsthaft nutzt, ein vollständiges Werkzeug für Code, Notizen, Aufgaben, E-Mail und Versionskontrolle. Sein Kern ist ein winziger, in C geschriebener Lisp-Interpreter. Alles, was darüber hinausgeht — vom Dateimanager über die Modeline bis zum kompletten Git-Frontend — ist Emacs Lisp (Elisp). Das macht Emacs unter den Editoren einzigartig: Er ist weniger ein Werkzeug als eine Plattform, auf der man sich sein Werkzeug selbst baut.
Definition: Was ist Emacs eigentlich?
GNU Emacs ist ein freier, plattformübergreifender Editor des GNU-Projekts. Der Kern ist eine kleine, in C geschriebene Laufzeit für Emacs Lisp, eine Variante von Lisp, die speziell für Editor-Anwendungen entworfen wurde. Praktisch jedes sichtbare Verhalten — wie Tasten reagieren, wie Text gefärbt wird, was die Modeline anzeigt — ist Elisp und kann zur Laufzeit verändert werden.
Wesentliche Bausteine sind:
- Buffer als universeller Inhalts-Container (Dateien, Shell-Output, Help-Texte).
- Windows und Frames als Anzeigeflächen — die Emacs-Terminologie weicht hier bewusst von OS-Fenstern ab.
- Major- und Minor-Modes, die Buffern Sprach- und Verhaltens-Erweiterungen geben.
- Keymaps und Hooks, mit denen jede Taste und jedes Event auf eigene Funktionen gelegt werden kann.
- Elisp als Skriptsprache des gesamten Systems — von der eigenen Konfiguration bis zu vollwertigen Anwendungen wie Magit oder Org-Mode.
Diese Architektur ist Emacs' eigentliches Versprechen: kein vorgegebener Workflow, sondern ein Baukasten, in dem sich jeder Workflow ausdrücken lässt — solange man bereit ist, ein wenig Elisp zu lernen.
Eine kurze Geschichte: von TECO-Makros zu GNU Emacs
Emacs entstand Mitte der 1970er-Jahre am MIT als Sammlung von Editor-Makros für TECO — daher der Name „Editor MACroS". Richard Stallman schrieb die erste integrierte Variante; aus ihr ging später, ab 1984 als Teil des GNU-Projekts, GNU Emacs hervor. Eine zweite, lange Zeit eigenständige Linie war XEmacs, die heute praktisch nicht mehr gepflegt wird.
Seit Jahrzehnten erscheint GNU Emacs in ruhigen, dafür langlebigen Major-Releases. Eine knappe Zeitleiste der jüngeren Versionen:
- Emacs 26 (2018): erstes ernsthaftes Threading-API, modernisiertes Flymake.
- Emacs 27 (2020): native JSON-Parser, XDG-Konfigurationspfade, Tab-Bar.
- Emacs 28 (2022): Native Compilation für Elisp via libgccjit,
modus-themesals Built-in. - Emacs 29 (2023): tree-sitter, Eglot und use-package wandern in den Built-in-Stand, eingebaute SQLite-Unterstützung, pixelgenaues Scrolling.
- Emacs 30 (2024/25, aktuelle Baseline dieser Doku): Verfeinerungen in tree-sitter, schnellere Startzeit, weiter modernisierte Defaults.
- Emacs 31 (Pretest): inkrementelle Verbesserungen, kein Bruch des Bedien-Modells.
Was diese Liste nicht zeigt: Das eigentliche Tempo der Emacs-Welt steckt nicht in der Kern-Version, sondern im Paket-Ökosystem — Pakete wie Magit, Org, Vertico, Eglot oder doom-modeline entwickeln sich deutlich schneller als der Editor selbst.
;; Ein minimales Elisp-Beispiel: eine Funktion definieren,
;; die einen kurzen Gruß in der Echo-Area ausgibt.
(defun mb/greet (name)
"Gibt einen kurzen Gruß in der Echo-Area aus."
(interactive "sDein Name: ")
(message "Hallo, %s — willkommen in Emacs." name))
;; Der Aufruf der Funktion (interaktiv oder per Tastenkombination)
;; ist Thema späterer Kapitel.Abgrenzung: Emacs vs. vim, VS Code und Neovim
Ein fairer Vergleich braucht eine ehrliche Achse: Editor-Erweiterbarkeit auf der einen, Out-of-the-box-Komfort auf der anderen Seite.
| Editor | Sprache der Erweiterung | Startaufwand | Stärke |
|---|---|---|---|
| Emacs | Emacs Lisp | hoch | jedes Verhalten zur Laufzeit veränderbar, riesige Plattform |
| Vim | Vimscript, Lua, Python | mittel | modale Edition, allgegenwärtig auf Servern |
| Neovim | Lua, Vimscript | mittel | moderne Plugin-API, gute LSP-Defaults |
| VS Code | JavaScript/TypeScript | niedrig | enorme Erweiterungs-Marktplatz, hervorragende Defaults |
Drei praktische Konsequenzen:
- Wer schnell produktiv sein will, ist mit VS Code besser bedient. Emacs belohnt Investition, nicht Geschwindigkeit.
- Wer modal editieren möchte, kann das in Emacs über
evil-mode(vim-Bindings) odermeowebenfalls tun — beide sind im späteren Workflow-Kapitel dokumentiert. - Wer einen einzigen Editor für Code, Notizen, Aufgaben, E-Mail und Git sucht und bereit ist, die eigene Konfiguration zu pflegen, findet in Emacs eine Tiefe, die kein anderer Editor in dieser Breite bietet.
Vanilla-Emacs vs. Distributionen (Doom, Spacemacs, …)
„Emacs" meint in dieser Doku immer Vanilla-Emacs — den Editor wie er von gnu.org kommt, ohne vorkonfiguriertes Setup. Daneben gibt es bekannte Distributionen, die mit fertigen Konfigurationen, Themes und Keybindings ausgeliefert werden:
- Doom Emacs — schnell, modular, evil-Mode standardmäßig aktiviert.
- Spacemacs — älterer Pionier, „Holy/Vim/Hybrid"-Modi, Layer-System.
- Prelude, Crafted Emacs, Centaur — kleinere, weniger eingreifende Starter-Sets.
Diese Doku startet bewusst mit Vanilla, weil dort jede Taste und jede Konfiguration nachvollziehbar bleibt. Wer Vanilla versteht, kann jede Distribution lesen — umgekehrt ist das oft nicht der Fall. Distributionen werden später in Kapitel 20 als bewusste Wahl-Option vorgestellt, nicht als Default-Empfehlung.
Wofür Emacs heute genutzt wird
Emacs ist nicht „nur" ein Code-Editor. Eine grobe Karte der Einsatzfelder:
- Programmierung — mit
eglot(LSP),tree-sitter-Modes und einem ausgereiften Such- und Refactoring-Werkzeug. Für viele Sprachen vollwertige IDE-Alternative. - Versionskontrolle — Magit gilt als beste Git-Oberfläche, die es gibt. Allein dafür installieren manche Emacs.
- Notizen & Aufgaben — Org-Mode als Outliner, Kalender, Aufgaben- und Journaling-System. Für viele der eigentliche Grund, Emacs zu nutzen.
- Schreiben —
markdown-mode, LaTeX-Setups, integrierte Rechtschreibprüfung; populär für wissenschaftliche Texte. - E-Mail & RSS —
notmuch,mu4e,gnus,elfeedals ernsthafte Reader im Editor. - Shells & Remote-Arbeit —
eshell,vterm,eatund Tramp für Editing über SSH, Sudo, Docker und Kubernetes.
Diese Vielfalt erklärt, warum viele Emacs-User irgendwann mehr Stunden in Emacs als in ihrem Browser verbringen — und warum eine gute Anleitung breit ansetzen muss, nicht nur „Tasten lernen".
Interessantes
"Emacs" und "GNU Emacs" sind hier dasselbe
Wenn diese Doku von „Emacs" spricht, ist immer GNU Emacs gemeint. XEmacs als alte Abspaltung wird nicht behandelt — dort weichen viele Details ab und die Pflege ist faktisch eingestellt.
Lisp ist Pflicht — aber nur in homöopathischen Dosen
Für die ersten Wochen reicht es, ein paar setq- und use-package-Schnipsel kopieren zu können. Eigenes Elisp wird erst spannend, wenn die mitgelieferten Bausteine nicht reichen — und das dauert.
Emacs hat ein integriertes Hilfe-System
Egal wie tief man feststeckt — Emacs bringt sein eigenes, vollständiges Hilfe- und Tutorial-System mit. Wie man es öffnet und benutzt, klärt das Kapitel Grundlagen beim Artikel „Hilfe-System" — meist schneller als jede Web-Suche.
Geschwindigkeit ist heute kein Argument mehr gegen Emacs
Mit Native-Compilation (ab v28) startet Emacs in unter einer Sekunde und kann als Hintergrund-Daemon laufen, an den sich neue Sessions in Millisekunden anhängen. Das alte Klischee „Emacs ist langsam" stammt aus einer Zeit ohne native-comp und ohne diesen Daemon-Modus.
Es gibt keinen "falschen" Weg, Emacs zu lernen
Manche starten mit dem mitgelieferten Tutorial, andere mit Org-Mode, wieder andere installieren zuerst Magit. Diese Doku folgt der Reihenfolge Konzept → Werkzeug → Customizing, weil sich das in der Praxis als robust erwiesen hat — aber das ist eine Wahl, kein Gesetz.
Weiterführende Ressourcen
Externe Quellen
- GNU Emacs Manual — die offizielle, vollständige Referenz.
- Emacs-Geschichte (GNU) — Stallmans eigene Beschreibung der Lisp-Linie.
- etc/NEWS im Emacs-Repo — Versions-Changelog, Pflichtlektüre für „seit welcher Version?"-Fragen.
- Mastering Emacs — Mickey Petersens fortlaufend aktualisierter Blog und das gleichnamige Buch.
- Sacha Chua: Emacs News — wöchentlicher Überblick zur Community.