如何
'load-file'
當前緩衝區的關聯文件?如何爲當前緩衝區加載文件?
編輯~/.emacs.d/init.el
後,我想重新加載它,所以我發出命令M-x load-file
。
然而,問題是,有時提示開始於遠離~/.emacs.d
的目錄,如C:/Users/...
。
爲什麼此起始位置發生變化,以及如何快速地爲當前緩衝區加載相關文件?
如何
'load-file'
當前緩衝區的關聯文件?如何爲當前緩衝區加載文件?
編輯~/.emacs.d/init.el
後,我想重新加載它,所以我發出命令M-x load-file
。
然而,問題是,有時提示開始於遠離~/.emacs.d
的目錄,如C:/Users/...
。
爲什麼此起始位置發生變化,以及如何快速地爲當前緩衝區加載相關文件?
如果當前選擇的窗口顯示被訪問的文件緩衝器要加載,那麼你應該可以使用:
的Mxload-file
RETRET
load-file
將加載訪問文件,如果你沒有在提示符下鍵入一個文件名。
請注意,你所做的不是需要刪除默認值(這是一個目錄路徑);只需鍵入RET
。
即使您已經做了一些更改緩衝區的default-directory
(在這種情況下,提示符的默認值可能實際上不是訪問文件的父目錄),情況就是如此。當你只輸入RET
Emacs使用絕對路徑buffer-file-name
,使得default-directory
無關緊要。
load-file
使用當前緩衝區的值default-directory
作爲默認目錄。如果當前緩衝區正在訪問一個文件,則包含該文件的目錄將作爲默認文件。
可以通過設置它:
(setq-local default-directory "~/.emacs.d/")
,並將其設置爲特定模式(如果有必要):
(setq-mode-local jde-mode default-directory "~/.emacs.d/")
謝謝你,很好的答案。但我希望有一些簡單的組合鍵,如RET RET,可以用當前緩衝區加載相關文件... – Shuzheng
在調用'M-x加載文件'之前,當前選擇的窗口是否有訪問init.el文件的緩衝區?另外,你能否確認截斷的'C:/ Users/...'路徑*與'〜/ .emacs.d'不同?因爲在Windows上,後者大概會生活在未指定的''' – phils