如何“加载文件”当前缓冲区的关联文件?

时间:2016-08-09 08:36:25

标签: emacs

  

如何'load-file'当前缓冲区的关联文件?

编辑~/.emacs.d/init.el后,我想重新加载它,因此我发出命令M-x load-file

但问题是,有时提示会在远离~/.emacs.d C:/Users/...的目录中开始。

为什么这个起始位置会发生变化,如何快速加载当前缓冲区的关联文件?

2 个答案:

答案 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/")