Dove posso trovare il mio file .emacs per Emacs in esecuzione su Windows?

Ho provato a cercare il file .emacs per la mia installazione di Windows per Emacs, ma non sono riuscito a trovarlo. Ha lo stesso nome in Windows come in Unix?

Devo crearlo da solo? Se sì, sotto quale directory specifica va?

Copia e incolla dalle FAQ di Emacs, http://www.gnu.org/software/emacs/windows/ :

Dove inserisco il mio file di init?

Su Windows, il file .emacs può essere chiamato _emacs per compatibilità con le versioni precedenti con i filesystem DOS e FAT dove i nomi dei file non possono iniziare con un punto. Alcuni utenti preferiscono continuare a utilizzare tale nome, perché Windows Explorer non può creare un file con un nome che inizia con un punto, anche se il filesystem e la maggior parte degli altri programmi lo gestiscono. In Emacs 22 e .emacs.d/init.el successive, il file init può anche essere chiamato .emacs.d/init.el Molti degli altri file creati dai pacchetti Lisp sono ora memorizzati anche nella directory .emacs.d , quindi questo mantiene tutti i file relativi a Emacs in un unico posto.

Tutti i file sopra menzionati dovrebbero andare nella tua cartella HOME. La directory HOME viene determinata seguendo i passaggi seguenti:

  1. Se la variabile d’ambiente HOME è impostata, utilizzare la directory che indica.
  2. Se è impostata la voce di registro HKCU \ SOFTWARE \ GNU \ Emacs \ HOME, utilizzare la directory indicata.
  3. Se è impostata la voce di registro HKLM \ SOFTWARE \ GNU \ Emacs \ HOME, utilizzare la directory indicata. Non consigliato, poiché risulta che gli utenti condividono la stessa directory HOME.
  4. Se C:\.emacs esiste, quindi utilizzare C:/ . Questo è per compatibilità con le versioni precedenti, in quanto le versioni precedenti erano predefinite in C:/ se HOME non era impostato.
  5. Utilizzare la directory AppData dell’utente, in genere una directory denominata Dati applicazioni nella directory del profilo dell’utente, la cui posizione varia in base alla versione di Windows e se il computer fa parte di un dominio.

All’interno di Emacs, ~ all’inizio del nome di un file viene espanso nella tua directory HOME, quindi puoi sempre trovare il tuo file .emacs con Cx Cf ~/.emacs .

Ulteriori informazioni sono disponibili su HOME e Directory di avvio su MS-Windows .

Dovrebbe essere memorizzato nella variabile user-init-file. Utilizzare CH v user-init-file RET per verificare. Puoi anche aprirlo direttamente usando Mx eval-expression RET (find-file user-init-file) RET

Apri il file in questo modo in Emacs per Windows:

 Cx Cf ~/.emacs 

Maggiori informazioni su Emacs Wiki

Sulla mia casella Vista è in C:\Users\\AppData\Roaming\

In Windows 7 inserisci il tuo file init.el in C:\Users\user-name\AppData\Roaming\.emacs.d\ , dove user-name è la tua cartella utente / login.

Fai attenzione quindi il tuo file init.el non sarà denominato init.el.txt . Questo è qualcosa che fa Windows se crei il tuo file con un editor come Blocco note.

Nota che potrebbe non essere sufficiente digitare solo Ctrl-x Ctrl-f ~/.emacs e creare il file.

Potrebbe essere che l’applicazione Emacs usi un posto diverso per memorizzare il tuo file init, e in tal caso, quindi creare il file ~ / .emacs crea semplicemente un file inutile che l’applicazione Emacs ignora.

Inoltre, potresti voler fare molto più che accedere al file init di .emacs, ma potresti voler sapere dove si trova, cioè il suo percorso.

Per ottenere questo ci sono due metodi:

Modo semplice: digita Ctrl + H V ritorno utente-init-file

Modo leggermente più ingannevole: puoi scoprire dove il tuo sistema sta memorizzando il proprio file .emacs tramite:

  1. Fai clic su Opzioni e scorri fino a “Imposta carattere predefinito …”
  2. Cambia l’impostazione del carattere e fai clic su OK
  3. Nel menu delle opzioni, vai su “Salva opzioni”
  4. Quando le opzioni vengono salvate, il sistema salva il suo file .emacs, e puoi leggere il percorso del file nel minibuffer nella parte inferiore della schermata di Emacs

Sulle versioni di Emacs su Windows sopra i 22, sembra essersi spostato a

 ~/.emacs.d/init.el 

, ~ essendo il valore della tua variabile d’ambiente HOME (vedi Pannello di controllo → SistemaAvanzateVariabili d’ambiente ).

Il file stesso potrebbe non esistere. In tal caso, basta crearlo.

Come ha risposto kanja, il percorso di questo file è memorizzato nella variabile user-init-file (o se non esiste alcun file di init, la variabile contiene il valore predefinito per dove crearlo).

Quindi, indipendentemente da quale dei possibili nomi di file di init stai usando, e da quale directory è, dovresti essere in grado di visitare il tuo file di init con:

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

Oppure visualizza il suo percorso completo nell’area dell’eco con:

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

Su Emacs 23 e Windows 7 funziona solo se imposti:

 HKCU\SOFTWARE\GNU\Emacs\HOME 

Ho scoperto che Emacs 22 aprirà occasionalmente “C: \ Documents and Settings \ username \ Application Data \ .emacs”, o semplicemente “C: \ Documents and Settings \ username \ .emacs” sulla mia macchina XP. Non ho trovato una spiegazione del perché occasionalmente cambia idea.

~ punterà sempre a qualunque cosa l’attuale istanza di emacs pensi sia HOME, ma il suggerimento di kanja (Ch v user-init-file) ti dirà sempre a che cosa ~ / .emacs esegue effettivamente il mapping.

Su Windows XP è:

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

C’è una lista di directory basate sulla tua versione di Windows e ulteriori informazioni: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

Su Windows 8.1, se Emacs è avviato da Windows Explorer , un collegamento o dalla console cmd utilizza il file di avvio C: \ Users \ \ AppData \ Roaming.emacs . Quando avvio Emacs da PowerShell, Emacs cerca il suo file init nella cartella C: \ Users \ . La correzione a questo problema era impostare la variabile d’ambiente utente HOME (Pannello di controllo \ Sistema e Sicurezza \ Sistema-> Impostazioni di sistema avanzate-> Avanzate-> Variabili d’ambiente) su C: \ Utenti \ . Dopo questa modifica, indipendentemente da come avanzo Emacs, usa lo stesso file di init (vedi la risposta accettata di questa domanda )