如何
'load-file'
当前缓冲区的关联文件?
编辑~/.emacs.d/init.el
后,我想重新加载它,因此我发出命令M-x load-file
。
但问题是,有时提示会在远离~/.emacs.d
C:/Users/...
的目录中开始。
为什么这个起始位置会发生变化,如何快速加载当前缓冲区的关联文件?
答案 0 :(得分:2)
如果当前选择的窗口显示正在访问您要加载的文件的缓冲区,那么您应该能够使用:
M-x load-file
RET RET
load-file
将加载被访问文件。
请注意,您不需要删除默认值(这是一个目录路径);只需输入RET
。
即使您已经做了一些更改缓冲区default-directory
的操作,也是如此(在这种情况下,提示符处的默认值实际上可能不是访问文件的父目录)。当您输入RET
时,Emacs使用buffer-file-name
的绝对路径,使default-directory
无关紧要。
答案 1 :(得分:1)
load-file
使用当前缓冲区的default-directory
值作为默认目录。如果当前缓冲区正在访问文件,则包含该文件的目录将作为默认文件。
您可以通过以下方式进行设置:
(setq-local default-directory "~/.emacs.d/")
并将其设置为指定模式(如有必要):
(setq-mode-local jde-mode default-directory "~/.emacs.d/")