2009-05-14 9 views
23

¿Cómo consigo que emacs me diga la ubicación del archivo .emacs que ha cargado?¿Cómo encuentro qué archivo .emacs se ha cargado?

Mi situación es simplemente cuando hago sudo emacs, carga un archivo .emacs muy diferente al que está en mi directorio personal. Puedo moverme haciendo M-x eval-buffer en mi propio archivo .emacs, pero son muchos pasos adicionales, además de que parece que no soluciona los errores ridículos en el archivo .emacs que se está cargando. En todo caso, simplemente me gustaría encontrar el archivo .emacs y eliminar algunos de los enlaces más extraños (cn, cp, ca todo rebote a cosas extrañas)

Mi pregunta principal es, ¿cómo puedo obtener emacs para contar ¿Cuál es la ubicación del archivo .emacs que ha cargado?

Respuesta

41

El archivo init utilizado se almacena en la variable 'user-init-file'. Para ver este uso 'describir-variable' (C-h v), escriba 'user-init-file' y se mostrará el archivo utilizado.

3

Si está en Linux, puede intentar esto para ver qué archivos abren los emacs cuando se inicia.

sudo strace -o /tmp/emacs.txt -e open emacs 
6

Se podría tratar de ver qué archivo se encuentra por:

C-x C-f ~/.emacs RET 

~ se traduce en el valor de la variable HOME medio ambiente. Emacs busca .emacs, luego .emacs.elc (la versión compilada de bytes), luego .emacs.el, luego ~/.emacs.d/init.elc y ~/.emacs.d/init.el. Este documentation muestra las alternativas. También depende de las variables de entorno LOGNAME y USER.

También puede consultar el contenido del buffer *Messages* - aunque debe configurar (setq message-log-max t) (si puede) para garantizar que se guarden todos los mensajes. Dentro de esa memoria intermedia hay líneas que se parecen:

Cargando /home/tjackson/.emacs.tjackson.el (fuente) ...

que mostrará lo que se cargaron archivos.

También debe consultar la documentación Find-Init que muestra aún más archivos que se pueden cargar como el site-start.el, y la inicialización específica del terminal (nueva para mí).

Cuestiones relacionadas