2016-08-09 32 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

相關問題