根据Emacs文档,每次打开文件时,Emacs都会更改default-directory
为包含该文件的目录.
然后,如果光标位于该缓冲区中并且您(例如)启动SLIME,则它将default-directory
用作SLIME 的当前工作目录.如果您尝试打开一个新文件,它将打开文件default-directory
作为起点.
我希望能够M-x cd
或以其他方式cd
访问目录,然后永远不会让Emacs将我当前的工作目录更改为除该目录之外的任何内容,直到我告诉它.我希望它在所有缓冲区中都是全局的,所以无论何时我正在做涉及当前工作目录的事情,我都知道它的设置是什么,无论我的光标在哪里.有没有办法做到这一点?
你可以尝试使用这样的东西:
(add-hook 'find-file-hook (lambda () (setq default-directory command-line-default-directory)))