Meine Initskripte für GNU Emacs
Hier stelle ich meine Initskripte für GNU Emacs zum Herunterladen bereit
Alle Anpassungen und Erweiterungen, die man am Programm GNU Emacs so vornimmt, kann man bei Bedarf in einer Init-Skriptdatei festhalten. Diese Datei wird von GNU Emacs bei jedem Start des Programms ausgeführt.
Das Praktische ist, dass man diese Datei sichern und auf andere Geräte kopieren kann, sodass man sofort mit der gewohnten, bevorzugten Emacs-Umgebung arbeiten kann und nichts erneut konfigurieren oder manuell nachinstallieren muss. Das Init-Skript ist also keineswegs eine herkömmliche Konfigurationsdatei, die vom Programm vorgegeben wird, sondern eine zu 100% frei programmierbare Datei in der Programmiersprache Emacs Lisp.
Hier biete ich meine persönlichen Emacs Lisp-Dateien zum freien Download an. Es sind mehrere Dateien, weil ich für meinen Init-Code ein modulares Konzept verfolge, welches den Einsatz auf ganz unterschiedlichen Systemen stark vereinfacht. Wenn man eine der zusätzlichen Dateien nicht braucht, kann man sie einfach weglassen, ohne dass dadurch etwas kaputt geht.
Die Dateistruktur meiner Init-Skripte sieht wie folgt aus:
~/.config/emacs/ ├── init-modules/ │ └── custom-functions.el │ └── custom-keybinds.el │ └── erc-config.el │ └── erc-sasl.el │ └── mu4e-config.el │ └── org-mode-config.el │ └── packages-config.el ├── build-blog-site.el ├── build-blog-site.sh └── init.el
Anders als manche andere im Internet auffindbare rundum sorglos Pakete, ist meine Veröffentlichung hier keine Plug & Play-Lösung. Dies hat folgende Gründe:
- Ich nutze meine Init-Skripte nicht für automatische Installationen und Aktualisierungen von Emacs-Paketen. Stattdessen installiere oder aktualisiere ich Pakete manuell bei Bedarf und verteile die Gesamtheit meiner Pakete auf lokaler Ebene an meine verschiedenen Rechner (sie sind Teil meiner Backups).
- Ich verwende unter anderem das mu4e-Paket, um Emacs als vernünftigen Email Client verwenden zu können. Dieses spezielle Paket installiert/verwaltet man nicht über Emacs selbst, sondern über die Software-Verwaltung des Hostsystems.
- Für E-Mail, Chat- und Fernwartungsfunktionalität, sowie für das enthaltene Skript zum Exportieren eines persönlichen Internet Blog-Projekts, müssen zwangsläufig individuelle Angaben gemacht werden.
Die hier geteilten Skripte dienen vor allem dazu, dass man sich einfacher orientieren kann und die für sich selbst interessanten Code-Bestandteile heraussuchen kann.
Archiv herunterladen:
letztes Änderungsdatum: 6. August 2023 um 21:25 Uhr
SHA256-Prüfsumme:
9ca60241492cb9ab9e9452012fda9859437ef24a4a0a0f310131bc61f99da1d8
Anleitungen zur Verwendung
Stelle vorab sicher, dass bei dir folgende Dateien nicht existieren:
GNU/Linux, *BSD, MacOS, ... ~/.emacs ~/.emacs.el ~/.emacs.d/init.el ~/.config/emacs/init.el Microsoft Windows C:\Users\BENUTZERNAME\AppData\Roaming\.emacs C:\Users\BENUTZERNAME\AppData\Roaming\.emacs.el C:\Users\BENUTZERNAME\AppData\Roaming\.emacs.d\init.el
Sollte irgendeine dieser Dateien bei dir vorhanden sein, benenne diese um oder verschiebe sie an eine andere Stelle, um sie außer Kraft zu setzen.
Extrahiere dann die Archivdatei entweder ins ~/.emacs.d/
oder
~/.config/emacs/
Verzeichnis. Wenn du Windows verwendest,
extrahiere sie ins .emacs.d\
Verzeichnis.
MacOS- und Linux-Nutzern empfehle ich, das ~/.config/emacs/
Verzeichnis zu wählen.
Falls noch nicht geschehen, starte Emacs an dieser Stelle. Weil die
extrahierten Init-Skriptdateien inhaltlich unvollständig sind, starte
Emacs vorsichtshalber mit der -Q
Option, damit die
Init-Skriptdateien nicht geladen werden:
emacs -Q
Nun beginnen wir erst mal damit, die benötigten zusätzlichen Pakete zu installieren.
Füge in den *scratch*
Buffer folgenden Code ein:
(require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) (package-refresh-contents)
Drücke anschließend Alt + x und gebe eval-buffer
ein. Wenn du noch den *scratch* Buffer ausgewählt hast, wird damit der gesamte Code in diesem Buffer sofort ausgeführt.
Nun kannst du mit Alt + x und dem Befehl package-install
jeweils die einzelnen Pakete aus der folgenden Liste installieren:
- all-the-icons
- all-the-icons-dired
- dired-open
- doom-modeline
- elfeed
- emojify
- flycheck
- gruvbox-theme
- hl-todo
- htmlize
- magit
- mu4e-alert
- org-bullets
- simple-httpd
- sudo-edit
- use-package
- vertico
- visual-fill-column
- web-mode
Die Installationen der zusätzlichen Pakete wäre die halbe Miete. Nun müssen noch, wie anfangs erwähnt, ein paar Anpassungen vorgenommen werden, damit gewisse personenbezogene Dinge funktionieren.
Wirf erst mal einen Blick auf das Unterverzeichnis init-modules. Die folgenden Dateien möchtest du vielleicht gar nicht in Verwendung haben:
- erc-config.el und erc-sasl.el
- Konfigurationsdatei und SASL-Erweiterung für den in Emacs integrierten IRC Chatclient ERC.
- mu4e-config.el
- Konfigurationsdatei für den Mu4e Email Client, welcher über das Hostsystem installiert werden muss.
Falls du eine dieser Dateien nicht verwenden möchtest, kannst du sie
entweder löschen, umbenennen/verschieben oder in der Datei init.el
jene Zeilen raus löschen, in denen diese Dateien geladen werden.
Die übrig gebliebenen Dateien öffnest du bitte der Reihe nach im Editor und ersetzt gegebenenfalls vorhandene Platzhalter oder unerwünschte Daten durch deine Eigenen. Neben persönlichen Daten betrifft dies nämlich z. B. auch die eingestellte Schriftart und -größe.
Die Konfiguration von Mu4e, dem E-Mail Client für Emacs, stellt eine Besonderheit dar, weil hier zusätzliche Programme außerhalb von Emacs eine wichtige Rolle spielen. Um den Rahmen nicht zu sprengen, behandle ich dieses Thema an dieser Stelle nicht, es gibt aber sehr hilfreiche Text- und Videoanleitungen zu genau diesem Thema im Internet:
- Email Offline with isync: For backups, mutt and more…
- Streamline Your E-mail Management with mu4e - Emacs Mail
Ansonsten sind meine Init-Skriptdateien überschaubar genug und auch relativ gut kommentiert, sodass eigentlich keine Fragen übrig bleiben sollten. Falls doch, schicke mir gerne eine E-Mail 🙂.