Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改默认的Eshell目录_Shell_Emacs_Eshell - Fatal编程技术网

更改默认的Eshell目录

更改默认的Eshell目录,shell,emacs,eshell,Shell,Emacs,Eshell,自从我开始使用git管理.emacs文件以来,我发现将所有内容保存在~/.emacs.d目录中非常有用。因此,我希望eshell在启动时读取~/.emacs/eshell.el,而不是默认值 埃谢尔 我认为这很简单,只需将eshell directory name变量更改为我想要的位置: (setq eshell-directory-name '("~/.emacs.d/eshell")) 但是,当我这样做时,我会得到一个错误: call-interactively: Autoloading

自从我开始使用git管理.emacs文件以来,我发现将所有内容保存在~/.emacs.d目录中非常有用。因此,我希望eshell在启动时读取~/.emacs/eshell.el,而不是默认值 埃谢尔

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

(setq eshell-directory-name '("~/.emacs.d/eshell"))
但是,当我这样做时,我会得到一个错误:

call-interactively: Autoloading failed to define function eshell
而eshell无法加载

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

试试:

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

尝试:


因此我发现:错误消息与配置文件中的行无关,而是与配置文件的名称有关

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

关于定义该变量的正确方法,最好在这个问题中回答:

因此我发现:错误消息与配置文件中的行无关,而是与配置文件的名称有关

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

关于定义该变量的正确方法,最好在这个问题中回答:

很抱歉,仍然以同样的方式失败。当我尝试
M-x自定义变量时
会在提示符处得到
[不匹配]
。我在我的(Mac GNU Emacs 24.2.1(x86_64-apple-darwin,NS apple-appkit-1038.36))上尝试了这一点,我还注意到,如果我删除~/.eshell,然后将其符号链接到我想要的位置,即使注释掉变量声明,我也会遇到同样的问题。当我回到家的时候,我会在我的Linux机器上试试这个,以确保它不是什么奇怪的Mac设备。对不起,仍然以同样的方式失败。当我尝试
M-x自定义变量时
会在提示符处得到
[不匹配]
。我在我的(Mac GNU Emacs 24.2.1(x86_64-apple-darwin,NS apple-appkit-1038.36))上尝试了这一点,我还注意到,如果我删除~/.eshell,然后将其符号链接到我想要的位置,即使注释掉变量声明,我也会遇到同样的问题。当我回到家的时候,我会在我的Linux机器上试试这个,以确保它不是什么奇怪的Mac设备。
(setq eshell-directory-name "~/.emacs.d/eshell")