web-dev-qa-db-fra.com

Où puis-je trouver mon fichier .emacs pour Emacs sous Windows?

J'ai essayé de rechercher le fichier .emacs pour mon installation Windows pour Emacs, mais je ne l'ai pas trouvé. Est-ce qu'il a le même nom de fichier sous Windows que sous Unix?

Dois-je le créer moi-même? Si oui, dans quel répertoire spécifique va-t-il?

96
Ray Vega

Copié et collé à partir de la FAQ Emacs, http://www.gnu.org/software/emacs/windows/ :

Où dois-je mettre mon fichier d'initialisation?

Sous Windows, le fichier .emacs peut être appelé _emacs pour assurer la compatibilité ascendante 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 de fichier dont le nom commence 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 s'appeler .emacs.d/init.el. La plupart des autres fichiers créés par les packages LISP sont désormais également stockés dans le répertoire .emacs.d, de sorte que tous vos fichiers liés à Emacs sont conservés 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:

  1. Si la variable d'environnement HOME est définie, utilisez le répertoire qu'il indique.
  2. Si l'entrée de registre HKCU\SOFTWARE\GNU\Emacs\HOME est définie, utilisez le répertoire qu'il indique.
  3. Si l'entrée de registre HKLM\SOFTWARE\GNU\Emacs\HOME est définie, utilisez le répertoire qu'il indique. Non recommandé, car les utilisateurs partagent le même répertoire de base.
  4. Si C:\.emacs existe, utilisez C:/. Ceci est destiné à la compatibilité ascendante, car les versions précédentes étaient définies par défaut sur C:/ si HOME n'était pas défini.
  5. Utilisez le répertoire AppData de l'utilisateur, généralement un répertoire appelé Application Data sous le répertoire de profil de l'utilisateur, dont l'emplacement varie en fonction de la version de Windows et selon que l'ordinateur fait ou non partie d'un domaine.

Dans Emacs, ~ au début d'un nom de fichier est étendu à votre répertoire HOME, vous pouvez donc toujours trouver votre fichier .emacs avec C-x C-f ~/.emacs.

Des informations complémentaires sont disponibles sur HOME et les répertoires de démarrage sous MS-Windows .

94
Node

Il devrait être stocké dans la variable user-init-file. Utilisez C-H v user-init-file RET pour vérifier. Vous pouvez également l'ouvrir directement en utilisant M-x eval-expression RET (find-file user-init-file) RET

70
gone

Ouvrez le fichier comme ceci dans Emacs pour Windows:

C-x C-f ~/.emacs

Plus d'informations dans le Emacs Wiki

27
sverrejoh

Sur ma boîte Vista c'est en C:\Users\<USER>\AppData\Roaming\

19

Notez qu'il ne suffit PAS de taper Ctrl-x Ctrl-f ~/.emacs et de créer le fichier.

Il se peut que votre application Emacs utilise un emplacement différent pour stocker votre fichier init. Si c'est le cas, créer le fichier ~/.emacs crée simplement un fichier inutile que votre application Emacs ignore.

De plus, vous voudrez peut-être faire plus que simplement accès le fichier .emacs init, mais vous voudrez peut-être savoir où il se trouve, c’est-à-dire son chemin.

Pour y arriver, il y a deux méthodes:

Moyen facile: tapez Ctrl + HV utilisateur-init-file Return

Façon légèrement plus délicate: Vous pouvez savoir où votre système stocke son propre fichier .emacs en:

  1. Cliquez sur options et faites défiler jusqu'à "Définir la police par défaut ..."
  2. Modifier le paramètre de police et cliquez sur OK
  3. Dans le menu des options, allez dans "Options de sauvegarde"
  4. Lorsque les options sont sauvegardées, le système enregistre son fichier .emacs et vous pouvez lire le chemin du fichier dans le mini-tampon en bas de l'écran Emacs.
6
user3020269

Dans Windows 7, placez votre fichier init.el dans C:\Users\user-name\AppData\Roaming\.emacs.d\, où nom_utilisateur est votre dossier utilisateur/connexion.

Faites attention à ce que votre fichier init.el ne soit pas nommé init.el.txt. C’est quelque chose que Windows fait si vous créez votre fichier avec un éditeur tel que Notepad.

4
caisah

Sur les versions d’Emacs sous Windows supérieures à 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, il suffit de le créer.

3
Gauthier

Comme kanja a répondu, le chemin d'accès à ce fichier est stocké dans la variable user-init-file (ou, en l'absence de fichier init, la variable contient la valeur par défaut de l'endroit où le créer).

Donc peu importe lequel des noms de fichiers init possibles que vous utilisez et dans quel répertoire il se trouve, vous devriez pouvoir visiter votre fichier init 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

2
phils

Sous Emacs 23 et Windows 7, cela ne fonctionne que si vous définissez:

HKCU\SOFTWARE\GNU\Emacs\HOME
2
ex_

Vous devez créer un fichier d'initialisation emacs. On n'est pas automatiquement créé ... J'ai eu un problème similaire et cette réponse retrace ce que j'ai fait.

Mon problème était que mon fichier ~/.emacs.el ne se chargeait pas. Étrange 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.el car il s'agit apparemment du 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 que 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é avec expand-file-name comme indiqué ci-dessous:

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

Il faut aimer le fonctionnement de Windows. (pas) J'ai donc déplacé mon fichier emacs.el vers le %USERPROFILE%\AppData\Roaming\.emacs.d\init.el et cela a fonctionné. Le fichier était en train d'être lu. Mais j'ai eu d'autres erreurs parce que mon fichier d'initialisation a chargé d'autres fichiers (personnels emacs) (dans ~/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/*.el doivent être déplacés pour que cela fonctionne, mais je ne voulais pas le faire. Ensuite, j'ai réalisé que, la variable d'environnement HOME n'étant pas définie, emacs effectuait son comportement par défaut.

SOLUTION

Une fois que j'ai défini ma variable d'environnement HOME de windows sur %USERPROFILE%, tout a commencé à fonctionner comme il le fait depuis 25 ans. :-)

Pour définir la variable d’environnement HOME, j’ai tapé WindowsKey + "modifier les variables d’environnement de votre compte" pour ouvrir la boîte de dialogue Variables d’environnement et saisi HOME=%USERPROFILE%.

Maintenant, mon fichier d’initialisation emacs .emacs.el est de nouveau à sa place légitime $HOME/.emacs.el et non dans %USERPROFILE%\AppData\Roaming\.emacs.d\init.el

Pour être juste, si Windows n’avait qu’un seul emplacement pour placer les fichiers dans les packages installés par l’utilisateur, la solution consistant à créer HOME = %USERPROFILE\AppData\Roaming pourrait être acceptable, mais certaines applications utilisant %USERPROFILE%, certaines utilisant %USERPROFILE\AppData\Roaming et d’autres utilisant %USERPROFILE\AppData\Local, il est difficile de savoir où pour trouver vos fichiers de configuration.

Je préfère avoir tout dans mon répertoire% USERPROFILE% ou $ HOME.

Une autre question similaire était ici:

1
PatS

Sous Windows XP, c'est:

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

J'ai constaté qu'Emacs 22 ouvrait occasionnellement soit "C:\Documents and Settings\nom d'utilisateur\Application Data\.emacs", soit simplement "C:\Documents and Settings\nom d'utilisateur\.emacs" sur mon XP. machine. Je n'ai pas trouvé d'explication pourquoi cela change parfois d'esprit.

~ indiquera toujours ce que l'instance actuelle d'emacs considère comme étant HOME, mais le conseil de kanja (C-h v user-init-file) vous indiquera toujours ce que ~/.emacs mappe réellement.

1
remicles2

Il existe une liste de répertoires basés sur votre version Windows et des informations supplémentaires: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

0
fatihpense

Sous Windows 8.1, si Emacs est lancé à partir de la console Explorateur Windows, d'un raccourci ou de la console cmd, il utilise C:\Utilisateurs\<UTILISATEUR>\AppData\Roaming.emacs fichier init. Lorsque je lance Emacs à partir de PowerShell, Emacs recherche son fichier init dans le dossier C:\Users\<USER>. La solution à ce problème consistait à définir la variable d'environnement utilisateur HOME (Panneau de configuration\Système et sécurité\Système-> Paramètres système avancés-> Options avancées-> Variables d'environnement) sur C:\Utilisateurs\<USER>. Après ce changement, peu importe comment je démarre Emacs, il utilise le même fichier init (voir la réponse acceptée de cette question )

0
kri