更改Emacs中的默认文件夹

当使用 C-xC-f 创建文件或打开文件时,emacs默认的目录是它的执行文件的bin目录,如:"d:/cpps/emacs/emacs-28.1/bin/“ ,很不适合保存文本文件。

改变它有2个方法。

1、推荐方法。改变 default-directory 变量的值, (setq default-directory "c:/user/jack/")  把这行放到 ~/.emacs.d/init.el 配置文件中。

2、临时方法。执行 M-x 在minibar内执行  "c:/users/jack/" 

巨坑:如果你还保留着 emacs 的首页,你会发现,以上两者方法全部无效,用C-xC-f后,显示的仍然是以前的 bin 目录。这时因为 default-directory 是一个局部变量,而特定的buffer下,这个变量是有值的,如首页的buffer下。

当你转到其他buffer下,如*scratch*内时,你自己设定的目录就有效了。参考: https://www.emacswiki.org/emacs/DefaultDirectory 

为什么说1方法是推荐方法,2方法是临时方法呢?

因为 1 方法是符合设计者的思路的,我们要改变的就是存放文件的默认目录,后续有使用默认目录的函数都会接受这一改变。所以 1方法是和整体设计相联系的。

2 方法也可以放入 init.el 配置文件中,但 2 方法只不过是在启动emacs的时候,把目录转到一个地址,和整体是割裂的、无关的,其他函数需要默认目录的时候,仍然回去 default-directory 里面去找。

学习要有思路,有联系,尽量顺着设计者的思路来,会有意外的收回,学到的是一个整体和系统。

emacs帮助系统

default-directory is a variable defined in ‘C source code’.

Its value is "d:/cpps/emacs/emacs-28.1/bin/"
Local in buffer *Help*; global value is nil

Name of default directory of current buffer.
It should be an absolute directory name; on GNU and Unix systems,
these names start with ‘/’ or ‘~’ and end with ‘/’.
To interactively change the default directory, use command ‘cd’.

 

posted @ 2022-04-26 11:49  立体风  阅读(562)  评论(0编辑  收藏  举报