it-swarm.com.de

Wo finde ich meine .emacs-Datei für Emacs unter Windows?

Ich habe versucht, nach der .emacs-Datei für meine Windows-Installation für Emacs zu suchen, konnte sie aber nicht finden. Hat es unter Windows den gleichen Dateinamen wie unter Unix?

Muss ich es selbst erstellen? Wenn ja, unter welchem ​​bestimmten Verzeichnis geht es?

96
Ray Vega

Kopieren und Einfügen aus den Emacs-FAQs, http://www.gnu.org/software/emacs/windows/ :

Wo stelle ich meine init-Datei ab?

Unter Windows kann die .emacs-Datei _emacs genannt werden, um die Abwärtskompatibilität mit DOS- und FAT-Dateisystemen zu gewährleisten, bei denen Dateinamen nicht mit einem Punkt beginnen konnten. Einige Benutzer ziehen es vor, einen solchen Namen weiter zu verwenden, da Windows Explorer keine Datei erstellen kann, deren Name mit einem Punkt beginnt, obwohl das Dateisystem und die meisten anderen Programme damit umgehen können. In Emacs 22 und höher kann die Init-Datei auch .emacs.d/init.el heißen. Viele der anderen Dateien, die von LISP-Paketen erstellt werden, werden jetzt auch im Verzeichnis .emacs.d gespeichert. Dadurch bleiben alle Ihre mit Emacs zusammenhängenden Dateien an einem Ort.

Alle oben genannten Dateien sollten sich in Ihrem HOME-Verzeichnis befinden. Das HOME-Verzeichnis wird wie folgt festgelegt:

  1. Wenn die Umgebungsvariable HOME gesetzt ist, verwenden Sie das angegebene Verzeichnis.
  2. Wenn der Registrierungseintrag HKCU\SOFTWARE\GNU\Emacs\HOME gesetzt ist, verwenden Sie das angegebene Verzeichnis.
  3. Wenn der Registrierungseintrag HKLM\SOFTWARE\GNU\Emacs\HOME gesetzt ist, verwenden Sie das angegebene Verzeichnis. Nicht zu empfehlen, da Benutzer das gleiche HOME-Verzeichnis verwenden.
  4. Wenn C:\.emacs vorhanden ist, verwenden Sie C:/. Dies ist aus Gründen der Abwärtskompatibilität, da in früheren Versionen C:/ standardmäßig eingestellt war, wenn HOME nicht festgelegt wurde.
  5. Verwenden Sie das AppData-Verzeichnis des Benutzers, normalerweise ein Verzeichnis mit dem Namen Anwendungsdaten im Profilverzeichnis des Benutzers, dessen Speicherort je nach Windows-Version variiert und ob der Computer Teil einer Domäne ist.

In Emacs wird ~ am Anfang eines Dateinamens zu Ihrem HOME-Verzeichnis erweitert, sodass Sie Ihre .emacs-Datei immer mit C-x C-f ~/.emacs finden können.

Weitere Informationen finden Sie unter HOME und Startverzeichnisse unter MS-Windows .

94
Node

Es sollte in der Variablen user-init-file gespeichert werden. Verwenden Sie C-H v user-init-file RET zur Überprüfung. Sie können es auch direkt öffnen, indem Sie M-x eval-expression RET (find-file user-init-file) RET verwenden.

70
gone

Öffnen Sie die Datei in Emacs für Windows wie folgt:

C-x C-f ~/.emacs

Weitere Informationen im Emacs Wiki

27
sverrejoh

Auf meiner Vista-Box ist es in C:\Users\<USER>\AppData\Roaming\

19

Beachten Sie, dass es möglicherweise NICHT ausreicht, nur Ctrl-x Ctrl-f ~/.emacs einzugeben und die Datei zu erstellen.

Es kann sein, dass Ihre Emacs-Anwendung einen anderen Speicherort für Ihre Init-Datei verwendet. Wenn dies der Fall ist, wird beim Erstellen der Datei ~/.emacs einfach eine unbrauchbare Datei erstellt, die Ihre Emacs-Anwendung ignoriert.

Möglicherweise möchten Sie auch mehr als nur Zugriff die .emacs-Init-Datei, aber Sie möchten möglicherweise wissen, wo sie sich befindet, d. H. Ihren Pfadnamen.

Um dies zu erreichen, gibt es zwei Methoden:

Einfacher Weg: Tippen Ctrl + HV Benutzer-Init-Datei Return

Etwas kniffliger: Sie können herausfinden, wo Ihr System seine eigene .emacs-Datei speichert, indem Sie:

  1. Klicken Sie auf Optionen und scrollen Sie nach unten zu "Standardschrift festlegen ...".
  2. Ändern Sie die Schriftarteinstellung und klicken Sie auf OK
  3. Gehen Sie im Optionsmenü zu "Optionen speichern".
  4. Wenn die Optionen gespeichert werden, speichert das System die .emacs-Datei und Sie können den Dateipfad lesen im Minipuffer am unteren Rand des Emacs-Bildschirms
6
user3020269

In Windows 7 geben Sie Ihre init.el-Datei in C:\Users\user-name\AppData\Roaming\.emacs.d\ ein, wobei Benutzername Ihr Benutzer/Anmeldeordner ist.

Achten Sie darauf, dass Ihre init.el-Datei nicht init.el.txt heißt. Windows macht dies, wenn Sie Ihre Datei mit einem Editor wie Notepad erstellen.

4
caisah

Bei Versionen von Emacs unter Windows über 22 scheint es zu verschoben zu sein

~/.emacs.d/init.el

, ~ ist der Wert Ihrer Umgebungsvariablen HOME (siehe Systemsteuerung → System Advanced Umgebungsvariablen ).

Die Datei selbst ist möglicherweise nicht vorhanden. In diesem Fall erstellen Sie es einfach.

3
Gauthier

Wie Kanja antwortete, ist der Pfad zu dieser Datei in der Variablen user-init-file gespeichert (oder wenn keine Init-Datei vorhanden ist, enthält die Variable den Standardwert für den Ort, an dem sie erstellt werden soll).

Also nabhängig davon in welchem ​​der möglichen Init-Dateinamen Sie sich befinden und in welchem ​​Verzeichnis Sie sich befinden, sollten Sie in der Lage sein, Ihre Init-Datei zu besuchen mit:

M-: (find-file user-init-file) RET

Oder zeigen Sie den vollständigen Pfad im Echobereich an mit:

M-: (expand-file-name user-init-file) RET

2
phils

Unter Emacs 23 und Windows 7 funktioniert es nur, wenn Sie Folgendes einstellen:

HKCU\SOFTWARE\GNU\Emacs\HOME
2
ex_

Sie müssen eine Emacs-Initialisierungsdatei erstellen. Eine wird nicht automatisch erstellt ... Ich hatte ein ähnliches Problem und diese Antwort zeigt, was ich getan habe.

Mein Problem war, dass meine ~/.emacs.el-Datei nicht geladen wurde. Merkwürdig, weil das bei mir immer funktioniert hat.

Diese Frage/Antwort hat mir geholfen, aber ich musste meine Init-Datei in den %USERPROFILE%\AppData\Roaming\.emacs.d\init.el setzen, da dies anscheinend das Standardverhalten unter Windows ist.

Um dies zu beheben, habe ich Folgendes im emacs * scratch * Puffer ausgeführt. 

user-emacs-directory
"~/.emacs.d/"

Als ich sah, dass user-emacs-directory~/.emacs.d war, habe ich einfach meine .emacs.el-Datei nach %USERPROFILE%\.emacs.d\init.el verschoben. Aber das hat immer noch nicht geklappt ..__ Ich fuhr mit expand-file-name fort, wie unten gezeigt:

(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"

Ich muss lieben, wie Windows funktioniert. (nicht) Also habe ich meine emacs.el-Datei in den %USERPROFILE%\AppData\Roaming\.emacs.d\init.el verschoben und das hat funktioniert. Die Datei wurde gerade gelesen. Ich habe jedoch andere Fehler erhalten, weil meine Initialisierungsdatei andere (persönliche Emacs) -Dateien geladen hat (in ~/myenv/emacs/*.el).

Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:

Hmm ... Anscheinend müssten all meine Dateien ~/myenv/emacs/*.el verschoben werden, damit dies funktioniert, aber ich wollte das nicht. Dann wurde mir klar, dass emacs führte sein Standardverhalten aus, weil die Umgebungsvariable HOME nicht gesetzt war.

L&OUML;SUNG

Sobald ich meine Windows-Variable HOME auf %USERPROFILE% gesetzt habe, begann alles wie in den letzten 25 Jahren zu funktionieren. :-)

Um die HOME-Umgebungsvariable festzulegen, habe ich WindowsKey + "Umgebungsvariablen für Ihr Konto bearbeiten" eingegeben, um das Dialogfeld Umgebungsvariablen zu öffnen, und HOME=%USERPROFILE% eingegeben.

Nun ist meine Emacs-Initialisierungsdatei .emacs.el wieder an ihrem richtigen Ort $HOME/.emacs.el und nicht in %USERPROFILE%\AppData\Roaming\.emacs.d\init.el.

Um ehrlich zu sein, wenn Windows nur eine einzige Stelle für Dateien für vom Benutzer installierte Pakete hat, ist die Lösung von HOME = %USERPROFILE\AppData\Roaming möglicherweise akzeptabel. Da einige Anwendungen jedoch %USERPROFILE% verwenden, verwenden einige %USERPROFILE\AppData\Roaming und andere verwenden %USERPROFILE\AppData\Local um Ihre Konfigurationsdateien zu finden.

Ich ziehe es vor, alles in meinem Verzeichnis% USERPROFILE% oder $ HOME zu haben.

Eine andere ähnliche Frage war hier:

1
PatS

Unter Windows XP ist es:

C:\Documents and Settings\yourusernamehere\Application Data\
1
polarbear

Ich habe festgestellt, dass Emacs 22 gelegentlich entweder "C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\.emacs" oder nur "C:\Dokumente und Einstellungen\Benutzername\.emacs" auf meinem XP öffnet. Maschine. Ich habe keine Erklärung dafür gefunden, warum es gelegentlich seine Meinung ändert.

~ zeigt immer auf das, was die aktuelle Instanz von emacs für HOME hält, aber Kanjas Tipp (C-h v user-init-file) sagt Ihnen immer, wozu ~/.emacs tatsächlich zugeordnet ist.

1
remicles2

Es gibt eine Liste von Verzeichnissen basierend auf Ihrer Windows-Version und zusätzlichen Informationen: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

0
fatihpense

Wenn unter Windows 8.1 Emacs von Windows Explorer, einer Verknüpfung oder von der Konsole cmd aus gestartet wird, wird C:\Users\<USER>\AppData\Roaming.emacs -Initdatei verwendet. Wenn ich Emacs in PowerShell starte, sucht Emacs im Ordner C:\Users\<USER> nach seiner Init-Datei. Zur Behebung dieses Problems wurde die Benutzerumgebungsvariable HOME (Systemsteuerung\System und Sicherheit\System-> Erweiterte Systemeinstellungen-> Erweitert-> Umgebungsvariablen) auf C:\Users\<gesetzt USER>. Nach dieser Änderung wird, egal wie ich Emacs starte, dieselbe Init-Datei verwendet (siehe akzeptierte Antwort dieser question )

0
kri