Erweiterungen
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Der Editor Emacs ist sehr stark erweiterbar. Neben dem ELPA gibt es auch Community-Projekte, die darauf abzielen eine weitgehend fertige, vorkonfigurierte Lösungen anzubieten oder Emacs zu erweitern. Hier steht lediglich eine minimale Auswahl an zufälligen Erweiterungen zur Verfügung.
Die Hauptseite [1] des Artikels findet man unter Emacs.
Die nachfolgenden Beispiele sind sowohl über die Paketverwaltung, als auch über die emacs-interne Paketinstallation erhältlich.
AUCTeX¶
Wenn es um LaTeX-Programmierung geht, bietet AUCTeX 🇬🇧 eine sehr leistungsfähige Erweiterung, die eine komfortable Erstellung und Ansicht von LaTeX- und TeX-Dateien ermöglicht. Mit Hilfe der Erweiterung preview-latex 🇬🇧 werden bereits im Editor die mit LaTeX-gesetzten Formeln, Bilder und andere grafische Elemente angezeigt. Zu den umfangreichen Möglichkeiten von AUCTeX gehören:
Editieren:
Einfügen von Makros, Umgebungen und Überschriften mit einer einfachen Tastenkombination oder mit einem Menübefehl. Bei dem Einfügen von LaTeX-Kommandos können diese ebenfalls mit Hilfe der Tabulatortaste vervollständigt werden. Bei bekannten Makros werden auch Informationen abgefragt.
Einfügen von Mathematik-Makros mit einfachen Tastenkombinationen oder mit einem Menübefehl.
Ausgeklügelte Darstellung von Befehlen mit Einfluss auf die Schrift (Überschriften, Schriftgrößen, Fettdruck, ...) sowie Einrückung von Makros und Umgebungen.
Falten von Makros und Umgebungen.
Verwaltung von Referenzen, Literaturverzeichniseinträge und Labels mit Hilfe des integrierten RefTeX 🇬🇧.
Kompilieren
Starten verschiedener TeX/LaTeX Interpreter und benötigter Hilfsprogramme wie BiBTeX und makeindex innerhalb von Emacs.
Anzeigen von Fehlermeldungen beim Kompilieren, dabei wird sogar zu der entsprechenden Stelle im TeX/LaTeX Quellcode gesprungen.
Anzeigen
Starten von Anzeigeprogrammen für erzeugte DVI, PostScript und PDF Dateien.
Hilfe
Über Strg + H , I , Strg + D , M
AUCTeX
steht eine Dokumentation innerhalb von Emacs bereit.
ftp://ftp.gnu.org/gnu/auctex/ bietet unter der jeweiligen Versionsnummer eine Referenzkarte (tex-ref.pdf) zum Download.
Die Erweiterung AucTeX kann für entsprechende Installationen aus den Ubuntu-Quellen installiert [2] werden.
auctex
Befehl zum Installieren der Pakete:
sudo apt-get install auctex
Oder mit apturl installieren, Link: apt://auctex
Zur Aktivierung von AUCTex muss die Konfigurationsdatei um die folgenden Einträge ergänzt werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 | ;;; Anpassungen für AUCTeX (load "auctex.el" nil t t) (load "preview-latex.el" nil t t) (require 'tex-site) ;;; Anpassungen für RefTeX (require 'reftex) (add-hook 'LaTeX-mode-hook 'turn-on-reftex) (add-hook 'latex-mode-hook 'turn-on-reftex) (setq reftex-plug-into-AUCTeX t) (setq reftex-external-file-finders '(("tex" . "kpsewhich -format=.tex %f") ("bib" . "kpsewhich -format=.bib %f"))) |
Wer eine Ausgabe als PDF möchte, kann zusätzlich
1 | (setq TeX-PDF-mode t) |
ergänzen. Dann wird standardmäßig eine PDF erzeugt.
CompAny¶
CompAny 🇬🇧 (steht für complete anything) bietet Text-Vervollständigung und ist durch Plugins erweiterbar. Die Erweiterung kann für entsprechende Installationen aus den Ubuntu-Quellen installiert [2] werden.
elpa-company (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install elpa-company
Oder mit apturl installieren, Link: apt://elpa-company
Die Aktivierung erfolgt durch
1 | (add-hook 'after-init-hook 'global-company-mode) |
ECB¶
ECB (Emacs Code Browser 🇬🇧) ist eine Erweiterung für Emacs, die einen graphischen Dateibrowser enthält. Für eine genaue Beschreibung, siehe http://ecb.sourceforge.net/.
Die Erweiterung kann für entsprechende Installationen aus den Ubuntu-Quellen installiert [2] werden.
ecb
Befehl zum Installieren der Pakete:
sudo apt-get install ecb
Oder mit apturl installieren, Link: apt://ecb
ECB kann in Emacs mit dem Befehl Alt + X
ecb-activate
gestartet werden. Alternativ kann man seine Konfigurationsdatei um den folgenden Eintrag ergänzen:
1 | (ecb-activate) |
Beim ersten Start kommt ein Hinweis, dass bestimmte Daten in der Konfigurationsdatei gespeichert werden müssen. Dies erledigt ECB automatisch. Dazu einfach auf save bzw. speichern klicken.
Um mit einem anderen Layout von ECB zu starten, muss man die Konfigurationsdatei nochmals ergänzen ("left14" durch das gewünschte Layout ersetzen):
1 2 | (setq ecb-layout-name "left14") (ecb-activate) |
Hierbei allerdings darauf achten, dass diese Zeile vor (ecb-activate) steht.
Evil-Mode¶
Für Nutzer von vi/vim bietet Emacs den Evil-Modus, welcher die Tastaturbelegung von vi
/vim
simuliert und so den Umstieg, bzw. die parallele Nutzung vereinfacht.
Die Erweiterung kann für entsprechende Installationen aus den Ubuntu-Quellen installiert [2] werden.
elpa-evil (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install elpa-evil
Oder mit apturl installieren, Link: apt://elpa-evil
Für eine verbesserte Klammersetzung steht das Paket elpa-evil-paredit zur Verfügung.
Die Aktivierung erfolgt durch
1 2 | (require 'evil) (evil-mode 1) |
org-mode¶
Ein weitere Erweiterung für Emacs ist Org-Mode 🇬🇧. Die Stärken der Erweiterung ist das Aufnehmen und Verwalten von Notizen, ToDo-Listen, Projektplanung und Erstellung von Webseiten und PDF-Dateien. Org-Mode ist sehr flexibel einsetzbar und stark dokumentiert. Es wird auch häufig für Zeitmanagement (z.B. Getting Things Done) verwendet. Eine Referenzkarte 🇬🇧 ist ebenfalls verfügbar. Die Erweiterung kann für entsprechende Installationen aus den Ubuntu-Quellen installiert [2] werden.
elpa-org (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install elpa-org
Oder mit apturl installieren, Link: apt://elpa-org
Der org-mode ist automatisch in Emacs verfügbar. Es sind jedoch einige Einstellungen empfohlen.
1 2 3 4 5 6 7 | ;; Empfohlene Tastenbelegungen (global-set-key (kbd "C-c l") 'org-store-link) (global-set-key (kbd "C-c a") 'org-agenda) (global-set-key (kbd "C-c c") 'org-capture) ;; Standardpfad setzen: ( Ansonsten ist es '~/org' ) (setq org-directory "~/mein/org/pfad") |
Für den org-mode stehen unter https://orgmode.org/#docs 🇬🇧 diverse Anleitungen und Tutorials zur Verfügung.
Sonstiges¶
Eigene Pakete¶
Eigene Pakete können in Form von .el-Datei(en) ebenfalls angelegt werden und mittels compile
zu .elc kompiliert werden.
Dabei sieht es Emacs gerne, wenn man die (an sich optionalen) Dokumentations-Zeichenketten verwendet.
Die geltende Konvention kann unter Library-Headers 🇬🇧 eingesehen werden.
Das Einbinden kann u.a. mittels
1 2 3 | (load-path "/Pfad/zu/lisp-Dateien/") ;; oder für eine einzelne Datei (load "/Pfad/zur/lisp-Datei") |
Ein Beispiel für ein eigenes Paket findet sich unter Emacs/Konfigurationen (Abschnitt „DBUS_in_Emacs“).
Kompilieren¶
Emacs Lisp kann in Bytecode kompiliert werden und wird somit schneller. Wächst mit der Zeit die Konfiguration an, kann es sich lohnen Teile davon auszulagern und/oder sein Konfigurations-Verzeichnis zu kompilieren. Die Kompilierung kann mit den elisp-Methoden byte-compile-file
oder byte-recompile-directory
erfolgen.
Es bietet sich an, dies außerhalb von Emacs zu erledigen, da der Editor nach einem Kompiliervorgang neu gestartet werden sollte:
emacs --batch --eval '(byte-compile-file "meinPaket.el")' emacs --batch --eval '(byte-recompile-directory "~/.emacs.d")'
Komplettpakete¶
Einige Community-Projekte bieten eine fertige Konfiguration an und erweitern Emacs um Standards wie bspw. org-mode.
Beispiele (alphabetisch):
doom-emacs 🇬🇧 - Emacs mit Evil-Mode
Emacs Application Framework (EAF) 🇬🇧 - Emacs mit PyQt-Binding
Spacemacs 🇬🇧 - Emacs mit gehirn-gerechten Tastenkürzeln
Emacs X Window Manager 🇬🇧 - Tiling X-Window Manager auf Emacs-Basis
Themes¶
Emacs bringt einige Themes mit, welche über Alt + X
load-theme
geladen werden können. Diese Funktionalität steht auch über das Menü (Options - Customize Emacs - Custom Theme) zur Verfügung. Die Themen unterteilen sich in zwei unabhängig voneinander entwickelte Bereiche. CustomThemes und Color Themes. Letztere stehen dabei nicht unter customize
zur Verfügung und müssen separat behandelt werden.
Thema in der laufenden Instanz wechseln¶
Alt + X
load-theme [THEMENNAME]
Thema in der Konfiguration festlegen¶
In der Konfigurationsdatei wird im Abschnitt custom-set-variables das Thema eingetragen:
1 2 3 4 5 | (custom-set-variables ;; … '(custom-enabled-themes (quote (THEMENNAME))) ;; … ) |
Der Eintrag kann auch mehrfach eingetragen werden, was zu Darstellungsproblemen führen kann!
Links¶
intern¶
Emacs Hauptartikel
Emacs/Konfigurationen - Konfigurations-Schnipsel in elisp