Meine ~/.emacs
( auf GitHub zu findende ) Datei lädt mehrere verschiedene Emacs-Pakete und ich möchte, dass sie automatisch installiert werden, sobald Emacs gestartet wird, sofern sie nicht bereits installiert sind. Auf diese Weise muss ich nicht jedes Paket manuell installieren, wenn ich mein Ubuntu 16.04-Betriebssystem erneut installieren muss M-x package-install
. Gibt es eine Möglichkeit, eine ~/.emacs
Datei so zu schreiben , dass beim Laden automatisch alle geladenen Pakete installiert werden? Ich möchte, dass dies mit einem Minimum an Zeilen durchgeführt wird, da über zehn verschiedene Pakete geladen sind. Wenn ich also für jedes einzelne Paket zusätzliche Zeilen hinzufügen muss, wird dies ~/.emacs
ziemlich lang.
9
use-package
, wie ich es in Zeile 61 meiner .emacs-Datei tue?package-install-selected-packages
(erfordert Emacs 25.1).~/.emacs
Datei "lang" wird. Aber wenn Sie nur ein Dutzend Pakete laden, sind Sie wirklich besorgt über die zusätzlichen 11 Zeilen in Ihrer Konfiguration?Antworten:
Am einfachsten ist die Installation
use-package
.Dann
Das
:ensure t
ist es, was sicherstellt , dass das Paket installiert ist.Um nur zu laden, stellen Sie sicher, dass mehrere Pakete installiert sind
quelle
package.el
Verfolgt die Pakete, die Sie installieren möchten (im Gegensatz zu den Paketen, die automatisch als Abhängigkeiten installiert werden), in der benutzerdefinierten Variablenpackage-selected-packages
.Wenn Sie also Ihre
~/.emacs
(in die Custom normalerweise Einstellungen wie die von schreibtpackage-selected-packages
) auf ein anderes System kopieren , müssen Sie nur noch etwas tunM-x package-install-selected-packages
.Natürlich werden die Pakete dadurch nicht automatisch installiert, wenn sie nicht vorhanden sind, aber ich halte es für eine Funktion (ich denke, es ist ein Fehler für ein Programm wie Emacs, Netzwerkverbindungen ohne ausdrückliche Aufforderung herzustellen). Und es erspart Ihnen die Mühe, jedes Paket einzeln zu installieren.
quelle
(package-refresh-contents)
Muss schon einmal aufgerufen werden,(package-install-selected-packages)
wenn das lokale Paketverzeichnis vollständig fehlt, damit die Archivverzeichnisse der Paketverteilung zuerst in den Unterverzeichnissen desarchive/
Verzeichnisses zwischengespeichert werden.