更改默认的Eshell目录

时间:2013-03-05 18:59:57

标签: shell emacs eshell

由于我已经开始使用git来管理我的.emacs文件,我发现将所有内容保存在〜/ .emacs.d目录中很有用。我想eshell,因此,在启动时读取〜/ .emacs / eshell.el而不是默认值 〜/ .eshell。

我认为这很简单,只需将eshell-directory-name变量更改为我想要的位置:

(setq eshell-directory-name '("~/.emacs.d/eshell"))

然而,当我这样做时,我收到错误:

call-interactively: Autoloading failed to define function eshell

并且eshell无法加载。

更改此设置的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

尝试:

M-x customize-variable RET eshell-directory-name RET

OR

(setq eshell-directory-name "~/.emacs.d/eshell")

答案 1 :(得分:0)

所以我想出来了:错误信息与配置文件中的行无关,而是与配置文件的 name 有关。

我将所有自定义eshell配置分离到一个名为eshell.el的文件中这使得emacs在启动时从我的灌输中跳过eshel.elc,因为emacs首先查看用户的自定义目录并使用其中的文件代替如果它有相同的名称。因此,将文件名更改为my_ehsell.el会神奇地修复此问题。

关于定义该变量的正确方法,在这个问题中最好回答: Difference between `set`, `setq`, and `setf` in Common Lisp?