Previniendo el cambio automático del directorio predeterminado

votos
15

Según los documentos de Emacs , cada vez que abre un archivo, Emacs cambia default-directoryal directorio que contiene ese archivo.

Entonces, si el cursor está en ese búfer y usted (por ejemplo) inicia SLIME, lo utiliza default-directorycomo el directorio de trabajo actual para SLIME. Si intenta abrir un nuevo archivo, abre el archivo default-directorycomo punto de partida.

Quiero poder M-x cdo, de lo contrario, acceder cda un directorio, y nunca hacer que Emacs cambie mi directorio de trabajo actual a nada más que ese directorio hasta que le diga lo contrario. Quiero que esto sea global en todos los buffers, de modo que cada vez que haga algo relacionado con el directorio de trabajo actual, sé lo que está configurado, independientemente de dónde esté mi cursor en este momento. ¿Hay alguna forma de hacer esto?

Publicado el 09/12/2008 a las 23:31
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
11

Podría intentar usar algo como esto:

(add-hook 'find-file-hook
          (lambda ()
            (setq default-directory command-line-default-directory)))
Respondida el 10/12/2008 a las 00:50
fuente por usuario

votos
4

Otra variante es vincular el directorio predeterminado al directorio necesario en las variables de directorio local, por ejemplo, en el archivo .dir-locals.el en uno de sus directorios principales a algo como:

((nil . ((default-directory . "~/.emacs.d/"))))
Respondida el 17/12/2008 a las 22:59
fuente por usuario

votos
1

Esto es lo mejor que he encontrado hasta ahora, por desgracia:

(defun find-file-save-directory ()
    (interactive)
    (setq saved-default-directory default-directory)
    (ido-find-file)
    (setq default-directory saved-default-directory))
(global-set-key "\C-x\C-f" 'find-file-save-directory)

Esto funciona siempre y cuando default-directoryestá en posición correcta antes de que yo C-x C-f. Voy a aceptar la respuesta de jurta por apuntarme en una dirección útil.

Respondida el 18/01/2009 a las 19:55
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more