2016-08-09 15 views
2

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

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

然而,问题是,有时提示开始于远离~/.emacs.d的目录,如C:/Users/...

为什么此起始位置发生变化,以及如何快速地为当前缓冲区加载相关文件?

+0

在调用'M-x加载文件'之前,当前选择的窗口是否有访问init.el文件的缓冲区?另外,你能否确认截断的'C:/ Users/...'路径*与'〜/ .emacs.d'不同?因为在Windows上,后者大概会生活在未指定的''' – phils

回答

2

如果当前选择的窗口显示被访问的文件缓冲器要加载,那么你应该可以使用:

的Mxload-fileRETRET

load-file将加载访问文件,如果你没有在提示符下键入一个文件名。

请注意,你所做的不是需要删除默认值(这是一个目录路径);只需键入RET

即使您已经做了一些更改缓冲区的default-directory(在这种情况下,提示符的默认值可能实际上不是访问文件的父目录),情况就是如此。当你只输入RET Emacs使用绝对路径buffer-file-name,使得default-directory无关紧要。

1

load-file使用当前缓冲区的值default-directory作为默认目录。如果当前缓冲区正在访问一个文件,则包含该文件的目录将作为默认文件。

可以通过设置它:

(setq-local default-directory "~/.emacs.d/") 

,并将其设置为特定模式(如果有必要):

(setq-mode-local jde-mode default-directory "~/.emacs.d/") 
+0

谢谢你,很好的答案。但我希望有一些简单的组合键,如RET RET,可以用当前缓冲区加载相关文件... – Shuzheng

相关问题