Rutas relativas en el archivo init


7

Al cargar cosas como temas desde directorios personalizados, ¿es posible especificar una ruta relativa al archivo init.el, en lugar de una ruta absoluta?

Pregunto porque quiero poder usar el mismo archivo de configuración en mis máquinas OSX y Windows, donde una ruta absoluta como ~ / .emacs.d / themes significa algo diferente en cada máquina (ni siquiera estoy seguro de cómo maneja Windows ~)


1
MS Windows maneja de ~/la misma manera: como su directorio de inicio, el valor de la variable de entorno HOME.
Dibujó

@Drew Solo intenté cd ~/en cmd pero no se pudo encontrar la ruta, a pesar de que la variable HOME se configuró correctamente ...
Simon

Normalmente, cdes suficiente para ir a su directorio de inicio. Además, es mejor usar powershell, cmd definitivamente está desactualizado.
Nsukami _

¿Empezaste con emacs -Q? ¿Definiste variable de entorno HOME? Hizo usted M-x cd RET ~/ RET? Funciona para mi.
Dibujó el

1
El shell cmd.exe de Windows no comprende ~, pero Emacs en Windows lo manejará. @Nsukami_: cd (en el indicador de cmd) imprimirá el directorio actual, no cambiará a su directorio de inicio.
glucas

Respuestas:


10

Puede usar ~ / en su archivo init y funcionará bien en Windows. Siempre defino una variable de entorno HOME y pongo mi .emacs.d allí, pero hay otros enfoques. Consulte las preguntas frecuentes para obtener detalles sobre cómo Emacs decide qué usar para el hogar.

También puede crear rutas con la user-emacs-directoryvariable, si lo prefiere:

 (expand-file-name "foo.el" user-emacs-directory)

que en mi caso sería intercambiable con just "~/.emacs.d/foo.el".

.


Si la memoria funciona, también puede usar las variables de entorno de MS Windows en el nombre del archivo (se expandirán), sin embargo, necesitaría usar la sintaxis de UNIX (es decir, en $PROGRAMFILESlugar de %PROGRAMFILES%, pero no puedo verificarlo en este momento).
wvxvw

1
También puede utilizar localizar-usuario-archivo-inicio en su lugar.

0

load-relative fue escrito para hacer algo como esto. Su propósito era hacer enlaces relativos dentro de un paquete, pero creo que también se puede usar aquí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.