Pregunta

Soy bastante nuevo en Emacs y he estado intentando descubrir cómo cambiar la carpeta predeterminada para C-x C-f en el arranque.Por ejemplo, cuando cargo Emacs por primera vez y presiono C-x C-f su carpeta predeterminada es C:\emacs\emacs-21.3\bin, pero preferiría que fuera el escritorio.Creo que hay alguna manera de personalizar el .emacs archivo para hacer esto, pero todavía no estoy seguro de qué es.

Actualizar:Hay tres soluciones al problema que encontré que funcionan; sin embargo, creo que la solución 3 es solo para Windows.

  • Solución 1:Agregar (cd "C:/Users/Name/Desktop") hacia .emacs archivo

  • Solución 2:Agregar (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/") hacia .emacs archivo

  • Solución 3:Haga clic derecho en el atajo de Emacs, presione propiedades y cambie el campo de inicio al directorio deseado.

¿Fue útil?

Solución

No lo dijiste, pero parece que estás iniciando Emacs desde un acceso directo de Windows.

El directorio que ve con c-x c-f es cwd, en términos de Emacs, el default-directory (una variable).

Cuando inicia Emacs usando un acceso directo de MS Windows, el default-directory es inicialmente la carpeta (directorio) especificada en el campo "Iniciar en" de las propiedades del acceso directo.Haga clic derecho en el acceso directo, seleccione Properties, y escriba la ruta a su escritorio en el Start In campo.

Si está utilizando Emacs desde la línea de comando, default-directory comienza como el directorio donde inició Emacs (el cwd).

Este enfoque es mejor que editar su archivo .emacs, ya que le permitirá tener más de un acceso directo con más de un directorio de inicio y le permitirá tener el comportamiento normal de la línea de comandos de Emacs si lo necesita.

CWD = directorio de trabajo actual = PCD = directorio de trabajo actual.Tiene mucho más sentido en la línea de comando que en una GUI.

Otros consejos

Creo que la línea que necesitas agregar a tu .emacs es

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

Emacs se iniciará en su escritorio de esa manera, a menos que tenga un archivo abierto.De lo contrario, generalmente comenzará en el mismo directorio que el archivo en su búfer actual.

Puede escribir el comando 'cd' de emacs.(M-x cd) para cambiar la carpeta predeterminada como única.

He puesto

(cd "c:/cvsroot/")

en mi .emacs e hizo el trabajo

La carpeta predeterminada es en realidad la misma que la carpeta de trabajo actual del búfer, es decir.puede ser diferente para cada archivo con el que trabaje.Digamos que el archivo con el que está trabajando se encuentra en C:\dir_a, entonces el directorio de trabajo para ese búfer será por defecto C:\dir_a.Puedes cambiar esto con M-x cd y escriba el directorio que desee que sea el predeterminado (y por defecto me refiero al que aparecerá cuando lo haga) C-x C-f).

Si inicia emacs sin abrir un archivo, terminará con el *scratch* búfer abierto.Si inició emacs desde un acceso directo de Windows, el directorio de trabajo será el mismo que el especificado en las propiedades del acceso directo.Si lo inició desde la línea de comando, será el directorio desde donde lo inició.Aún puedes cambiar este directorio predeterminado con M-x cd, también de la *scratch* buffer.

Finalmente, puedes hacer lo que sugiere Vadim y poner

(cd "c:/dir_a/")

en tus .emacs archivo, para hacer que ese directorio sea el predeterminado sin importar cómo inicie emacs.

Como estás en Windows puedes hacerlo con un acceso directo.

Crear un acceso directo a C:\emacs\emacs-21.3\bin\runemacs.exe.Edite las propiedades del acceso directo y cambie el valor de Start In: para que sea lo que desee que sea su directorio predeterminado.

Estoy usando emacs 22.2.1 en Windows XP y las respuestas anteriores me han ayudado a obtener la respuesta en el minibúfer que quiero para el comando C-x C-f.Inicialmente estaba obteniendo "encontrar archivo:C:\Program Files\emacs\bin/" como Anton.Tengo INICIO configurado en "C:\Documentos y configuraciones OMBRE DE USUARIO\Mis documentos".La respuesta a C-x C-f que quiero en el minibúfer es "Buscar archivo:~/".Al agregar (setq directorio predeterminado "C:/Documentos y configuraciones/NOMBRE DE USUARIO/Mis documentos") a mi archivo .emacs pude obtener la respuesta "Buscar archivo:C:\Documentos y configuraciones OMBRE DE USUARIO\Mis documentos/" que es funcionalmente lo mismo que "Buscar archivo:~/".Sin embargo, noté un punto más."Personalizar Emacs" en "Opciones" me permitió inhibir la pantalla de inicio.Ahora, cuando abro emacs, voy inmediatamente al búfer temporal.Cuando escribo C-x C-f en el buffer temporal obtengo la respuesta exacta que quiero.

Agregué a mi acceso directo (en Gnome, Linux) un pramater que es un nombre de archivo ficticio en blanco y especifico el directorio.Como mi emacs tiene por defecto "inicio", simplemente digo:

/Escritorio/archivo_en blanco

y eso abre un archivo llamado "archivo_en blanco"

Eso también mueve el directorio de trabajo actual para esa sesión de emacs al escritorio.

Si pongo cosas en "blank_file", entonces las guardo, por supuesto, las tengo guardadas.¡Lo cual puede ser una molestia o algo bueno, dependiendo!

Para cambiar el directorio predeterminado a ESCRITORIO en Dired y shell, coloque esto en su ~/.emacs:

;;Esto funciona para Windows XP.
(setq directorio predeterminado (concat "C:\Documentos y configuraciones\MI_CUENTA\DESKTOP\"))

En Windows 8, funciona para crear un acceso directo en el escritorio y cambiar la propiedad 'Iniciar en:' del acceso directo.

Ahora, ejecuté el programa emacs-23.3\bin\addpm.exe como se recomendaba, y en la pantalla de Windows-8 (ese horrendo invento de Microsoft) apareció un ícono-enlace a Emacs.Pero ahí tienes que cambiar nuevamente la propiedad 'Iniciar en'.(Es diferente al del escritorio).Simplemente haga clic derecho, elija en la barra inferior 'Abrir la ubicación del archivo' (o similar, lo hice en mi idioma), y será llevado a la carpeta con un nuevo acceso directo, en el que también puede (debe) cambiar la propiedad 'Comenzar en:'.

Un poco complicado, pero en realidad muy fácil.

Dado que lo más molesto es que Windows Emacs te descargue en system32 cuando solo estás usando el acceso directo, pero quieres que todos los demás casos funcionen, solo usa un poco de elisp...

(cuando (cadena < "C:\WINDOWS\system32" directorio predeterminado) (setq directorio predeterminado "~/"))

Por lo tanto, solo accederá de forma predeterminada a su directorio de inicio cuando termine en el sistema.El único inconveniente es que si realmente quieres iniciar emacs en system32...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top