Réponses:
Copier et coller à partir de la FAQ Emacs, http://www.gnu.org/software/emacs/windows/ :
Sous Windows, le .emacsfichier peut être appelé _emacspour une compatibilité descendante avec les systèmes de fichiers DOS et FAT où les noms de fichiers ne peuvent pas commencer par un point. Certains utilisateurs préfèrent continuer à utiliser un tel nom, car l'Explorateur Windows ne peut pas créer un fichier avec un nom commençant par un point, même si le système de fichiers et la plupart des autres programmes peuvent le gérer. Dans Emacs 22 et versions ultérieures, le fichier init peut également être appelé .emacs.d/init.el. La plupart des autres fichiers créés par les packages Lisp sont désormais stockés dans le .emacs.drépertoire également, ce qui permet de conserver tous vos fichiers liés à Emacs au même endroit.
Tous les fichiers mentionnés ci-dessus doivent aller dans votre répertoire HOME. Le répertoire HOME est déterminé en suivant les étapes ci-dessous:
C:\.emacsexiste, utilisez C:/. C'est pour la compatibilité descendante, car les versions précédentes C:/étaient par défaut si HOME n'était pas défini.Dans Emacs, ~au début d'un nom de fichier est développé dans votre répertoire HOME, vous pouvez donc toujours trouver votre fichier .emacs avec C-x C-f ~/.emacs.
Vous trouverez de plus amples informations sur les répertoires HOME et de démarrage sur MS-Windows .
Il doit être stocké dans la variable user-init-file. Utilisez C-H v user-init-file RETpour vérifier. Vous pouvez également l'ouvrir directement en utilisantM-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression?
Ouvrez le fichier comme ceci dans Emacs pour Windows:
C-x C-f ~/.emacs
Plus d'informations dans le Wiki Emacs
Sur ma boîte Vista, c'est dans C:\Users\<USER>\AppData\Roaming\
Notez qu'il ne suffit pas de taper Ctrl-x Ctrl-f ~/.emacset de créer le fichier.
Il se peut que votre application Emacs utilise un endroit différent pour stocker votre fichier init, et si c'est le cas, la création du fichier ~ / .emacs crée simplement un fichier inutile que votre application Emacs ignore.
De plus, vous voudrez peut-être faire plus que simplement accéder au fichier d'initialisation .emacs, mais vous voudrez peut-être savoir où il se trouve, c'est-à-dire son chemin.
Pour y parvenir, il existe deux méthodes:
Méthode simple: tapez Ctrl+ H Vuser-init-fileReturn
Méthode un peu plus délicate: vous pouvez savoir où votre système stocke son propre fichier .emacs en:
c:/Users/user1/AppData/Roaming/.emacs.el. Ce site emacswiki.org/emacs/DotEmacsDotD m'a aidé à réaliser que j'avais besoin de nommer le fichier, ~/.emacs.d/init.elce qui signifiait que le fichier dans le système de fichiers se trouvait c:\Users\user1\AppData\Roaming\.emacs.d\init.el(pas du tout ce à quoi je m'attendais). Je préfère définir la variable d'environnement HOME et placer le fichier dans mon %USERPROFILE%répertoire qui est le répertoire HOME logique sur Windows (du moins en ce qui me concerne).
Dans Windows 7, placez votre init.elfichier C:\Users\user-name\AppData\Roaming\.emacs.d\, où nom d' utilisateur est votre dossier d'utilisateur / de connexion.
Veillez à ce que votre init.elfichier ne soit pas nommé init.el.txt. C'est quelque chose que Windows fait si vous créez votre fichier avec un éditeur comme le Bloc-notes.
Sur les versions d'Emacs sous Windows au-dessus de 22, il semble s'être déplacé vers
~/.emacs.d/init.el
, ~étant la valeur de votre variable d'environnement HOME (voir Panneau de configuration → Système → Avancé → Variables d'environnement ).
Le fichier lui-même peut ne pas exister. Dans ce cas, créez-le simplement.
Vous devez créer un fichier d'initialisation emacs. Un n'est pas créé automatiquement. J'ai eu un problème similaire et cette réponse retrace ce que j'ai fait.
Mon problème était que mon ~/.emacs.elfichier ne se chargeait pas. Etrange parce que cela a toujours fonctionné pour moi.
Cette question / réponse m'a aidé mais j'ai dû mettre mon fichier init dans le %USERPROFILE%\AppData\Roaming\.emacs.d\init.elcar c'est apparemment le comportement par défaut sous Windows.
Pour résoudre ce problème, j'ai exécuté ce qui suit dans le tampon emacs * scratch * .
user-emacs-directory
"~/.emacs.d/"
Quand j'ai vu user-emacs-directoryétait ~/.emacs.d, j'ai simplement déplacé mon fichier .emacs.el vers %USERPROFILE%\.emacs.d\init.el. Mais cela ne fonctionnait toujours pas. J'ai continué expand-file-namecomme indiqué ci-dessous:
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
Je dois adorer le fonctionnement de Windows. (non) J'ai donc déplacé mon emacs.elfichier vers le %USERPROFILE%\AppData\Roaming\.emacs.d\init.elet cela a fonctionné. Le fichier était en cours de lecture. Mais j'ai eu d'autres erreurs parce que mon fichier d'initialisation chargeait d'autres fichiers (emacs personnels) (au format ~/myenv/emacs/*.el.
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
Hum ... On dirait que tous mes fichiers ~/myenv/emacs/*.elauraient besoin d'être déplacés pour que cela fonctionne mais je ne voulais pas le faire. Puis j'ai réalisé que parce que la variable d'environnement HOME n'était pas définie, emacs exécutait son comportement par défaut .
SOLUTION
Une fois que j'ai défini ma HOMEvariable d'environnement Windows sur %USERPROFILE%tout, tout a commencé à fonctionner comme au cours des 25 dernières années. :-)
Pour définir la variable d'environnement HOME, j'ai tapé WindowsKey + "modifier les variables d'environnement pour votre compte" pour ouvrir la boîte de dialogue Variables d'environnement , et je suis entré HOME=%USERPROFILE%.
Maintenant, mon fichier d'initialisation emacs .emacs.el est de retour à sa juste place $HOME/.emacs.elet non dans%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
Pour être honnête, si Windows n'avait qu'un seul endroit pour placer les fichiers des packages installés par l'utilisateur, la solution consistant à créer HOME = %USERPROFILE\AppData\Roamingpourrait être acceptable, mais comme certaines applications l'utilisent %USERPROFILE%, certaines l'utilisent %USERPROFILE\AppData\Roaminget d'autres l'utilisent, %USERPROFILE\AppData\Localil est simplement difficile de savoir où trouver votre configuration. des dossiers.
Je préfère tout avoir dans mon répertoire% USERPROFILE% ou $ HOME.
Une autre question similaire était ici:
Comme kanja a répondu, le chemin d'accès à ce fichier est stocké dans la user-init-filevariable (ou si aucun fichier d'initialisation n'existe, la variable contient la valeur par défaut de l'endroit où le créer).
Ainsi, quel que soit le nom de fichier d'initialisation possible que vous utilisez et le répertoire dans lequel il se trouve, vous devriez pouvoir visiter votre fichier d'initialisation avec:
M-: (find-file user-init-file) RET
Ou affichez son chemin complet dans la zone d'écho avec:
M-: (expand-file-name user-init-file) RET
Sur Emacs 23 et Windows 7, cela ne fonctionne que si vous définissez:
HKCU\SOFTWARE\GNU\Emacs\HOME
J'ai constaté qu'Emacs 22 ouvrirait occasionnellement soit "C: \ Documents and Settings \ username \ Application Data \ .emacs", ou simplement "C: \ Documents and Settings \ username \ .emacs" sur ma machine XP. Je n'ai pas trouvé d'explication pour expliquer pourquoi cela change parfois d'avis.
~ pointera toujours vers ce que l'instance actuelle d'emacs pense être HOME, mais le conseil de kanja (Ch v user-init-file) vous dira toujours à quoi ~ / .emacs correspond réellement.
HOMEvariable d'environnement différemment, selon la façon dont je commence runemacs.exe. Si je le lance à partir de l'Explorateur, HOMEest défini sur C:\Documents and Settings\username, mais si je le démarre à partir du menu Démarrer, HOMEest C:\Documents and Settings\username\Application Data. Étrange.
Sur Windows XP, c'est:
C:\Documents and Settings\yourusernamehere\Application Data\
Il existe une liste de répertoires basée sur votre version de Windows et des informations supplémentaires: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
Sous Windows 8.1, si Emacs est démarré à partir de l' Explorateur Windows , d'un raccourci ou de la console cmd, il utilise le fichier d'initialisation C: \ Users \ <USER> \ AppData \ Roaming.emacs . Lorsque je démarre Emacs à partir de PowerShell, Emacs recherche son fichier init dans le dossier C: \ Users \ <USER> . Le correctif à ce problème consistait à définir la variable d'environnement de l'utilisateur HOME (Panneau de configuration \ Système et sécurité \ Système-> Paramètres système avancés-> Avancé-> Variables d'environnement) sur C: \ Users \ <USER> . Après ce changement, peu importe comment je lance Emacs, il utilise le même fichier init (voir la réponse acceptée à cette question )
Pour WIndows7 & Emacs26.3 :
si l' HOMEenvironnement est défini, le .emacsfichier doit se trouver dans ce dossier.
sinon, il devrait être dans c:\.
Dans les deux cas, s'il .emacsn'y en a pas, _emacsdoit être utilisé.
C'est parce que nous ne pouvons pas créer de .emacsfichier selon les règles de dénomination des fichiers Windows (mais nous pouvons le télécharger ou le copier ailleurs).