1

关于 Eshell 配置的两个小问题。我查看了自定义选项甚至源代码,但无济于事。也许我应该好好看看。

  1. 当我启动 Emacs 并打开 Eshell 时,目录是 '~/.emacs.d/elpa' 而不是我的主目录 '~/',这是我所期望的。我不知道这个配置是从哪里来的,也没有找到改变它的方法。

  2. 我在 .bashrc 中更改了 $PATH,并根据需要自定义了 Emacs 变量 'exec-path'。但是,Eshell 没有反映第一个变化,它不知道,而 bash 知道。Eshell 是如何获得这些信息的,它与 bash 的不同之处在于它对这个变量的变化的了解?

感谢您的任何提示

托尔斯滕

附言

我发现了一个类似的问题 [here] (http://stackoverflow.com/questions/3621755/what-setup-file-does-eshell-elisp-shell-read-when-it-starts-how-eshell-sets-i )。第 2 点的答案是 eshell 不读取 .bashrc,因此必须在启动过程中较早读取的文件中设置 $PATH。在我的 Ubuntu 系统上

/etc/environment

似乎是 Emacs 在启动时读取以设置 $PATH 的文件。

4

1 回答 1

2

eshell 似乎从当前工作目录开始,对你来说(在 Emacs 启动之后)是“~/.emacs.d/elpa”。您可以使用“Mx cd”手动更改它,但这不是必需的。如果您编辑某个文件并从其缓冲区启动 eshell,则 eshell 将在与该文件相同的目录中启动。

但是如果你真的想在你的主目录中启动每个 eshell 会话,你可以在 eshell 启动之前进行一个钩子调用“cd”。

于 2011-11-07T16:07:08.717 回答