Preventing automatic change of default-directory

后端 未结 3 839
执笔经年
执笔经年 2021-01-01 19:55

As per the Emacs docs, every time you open a file, Emacs changes default-directory to the directory containing that file.

Then, if the cursor is in th

相关标签:
3条回答
  • 2021-01-01 20:10

    This is the best I've come up with so far, sadly:

    (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)
    

    This works as long as default-directory is properly set before I C-x C-f. I'm going to Accept jurta's answer for pointing me in a useful direction.

    0 讨论(0)
  • 2021-01-01 20:14

    You could try using something like this:

    (add-hook 'find-file-hook
              (lambda ()
                (setq default-directory command-line-default-directory)))
    
    0 讨论(0)
  • 2021-01-01 20:21

    Another variant is to bind default-directory to the necessary directory in directory-local variables, e.g. in the .dir-locals.el file in one of your parent directories to something like:

    ((nil . ((default-directory . "~/.emacs.d/"))))
    
    0 讨论(0)
提交回复
热议问题