Ich verwende einen Windows 7-Computer und habe keinen Administratorzugriff. Daher kann ich keine Punkt-Emacs-Datei im Stammverzeichnis ablegen. Kann ich einen anderen Speicherort für die Punkt-Emacs-Datei angeben?
init-file
microsoft-windows
Startec
quelle
quelle
site-start.el
laden, dieinit.el
Sie nicht mehr benötigen a.emacs
. In diesem Beispiel müssen Sie nicht mit dem Basisverzeichnis herumspielen (es sei denn, jemand anderes auf dem Computer legt dort Dinge ab, die sich auf Ihre Arbeit auswirken). Mit anderen Worten, es kann leer sein und Sie müssen es nie berühren.Antworten:
Emacs sucht an mehreren Stellen nach Init-Dateien, wie im Handbuch dokumentiert . Wenn Sie Emacs anpassen möchten, müssen Sie mit einer dieser Dateien beginnen.
Ein gängiger Ansatz besteht darin, die Datei
init.el
in Ihrem zu verwendenuser-emacs-directory
, anstatt ein.emacs
in Ihrem HOME-Verzeichnis zu haben.Der
user-emacs-directory
Standardwert ist~/.emacs.d
, also immer noch relativ zu Ihrem HOME, aber der Vorteil dieses Ansatzes ist, dass Sie alles, was mit Ihrer Emacs-Konfiguration zu tun hat, an einem Ort aufbewahren können. Dieses Verzeichnis kann sich unter Versionskontrolle befinden, gesichert sein, von mehreren Computern gemeinsam genutzt werden usw. Sie können einen Symlink (mklink
unter Windows) verwenden, um die Dateien an einem anderen Ort zu speichern.Beispielsweise ist es durchaus üblich, dass Leute ihre Emacs-Konfiguration auf Github beibehalten. Sie können viele Beispiele dafür finden, indem Sie Github mit init.el-Dateien nach elisp-Projekten durchsuchen .
quelle
user-emacs-directory
Bei jeder Windows-Installation, bei der ich Emacs verwende, befindet sich der folgende Code in einer
.emacs
Datei am angegebenen Speicherort:Auf diese Weise kann ich meine
.emacs
und.emacs.d/
wo ich will.quelle
Ihre .emacs-Datei befindet sich in Ihrem
HOME
Verzeichnis. Aus dem Emacs-Handbuch:quelle
HOME
Verzeichnis ansehen, in etwas völlig anderes zu ändern . Daher nenne ich diese Änderung einen Hack. Es ist offensichtlich in Ordnung, ihn auf den richtigen Wert zu setzen.Du sagst:
Ihre Init-Datei befindet sich in Ihrem Home-Verzeichnis, das Sie überall ablegen können. Anscheinend möchten Sie ein anderes Verzeichnis für die Inhalte haben, die Emacs lädt. Das ist kein Problem. Legen Sie Ihre Init-Datei in Ihrem Ausgangsverzeichnis ab, und lassen Sie diese Datei dem Wert der Variablen ein weiteres Verzeichnis hinzufügen.
load-path
Anschließend benötigen Sie alle anderen Emacs-Bibliotheken, die Sie verwenden möchten. Legen Sie diese Bibliotheken in das andere Verzeichnis.IOW, Ihre Init-Datei muss nichts weiter als das Setup des Verzeichnisses enthalten, in dem Sie die Emacs-Bibliotheken aufbewahren, die Sie laden möchten.
quelle
Der Vollständigkeit halber verweise ich auf:
https://www.gnu.org/software/emacs/manual/html_node/efaq-w32/Location-of-init-file.html
Welches besagt, dass Sie einen
HOME
Wert im Registrierungspfad festlegen können :HKCU\SOFTWARE\GNU\Emacs\HOME
Dieser Wert wird jedoch von der Umgebungsvariablen überschrieben
HOME
.quelle
Denke, du könntest
(setq user-init-file "C:/path/to/.emacs")
und andere von @ryan vorgeschlagene Zeilen in site-start.el einfügenquelle