2011-11-07 41 views
1

关于Eshell配置的两个小问题。我查看了定制选项,甚至是源代码,但无济于事。也许我应该更好看一下。Eshell - 默认目录和路径是在哪里定义的?

  1. 当我开始Emacs和开放ESHELL,该目录是不是我的主目录 '〜/ .emacs.d/ELPA'“〜/”,我期望的那样。我不知道,这个配置来自哪里,并没有找到改变它的方法。

  2. 我在我的.bashrc中更改了$ PATH,并根据需要定制了Emacs变量'exec-path'。然而,第一个变化并没有被Eshell反映出来,它不知道它,而bash的确如此。 Eshell如何获得这些信息,以及它如何区别于bash对变量的了解?

感谢任何提示

托尔斯滕

PS

我发现了一个类似的问题[这里](http://stackoverflow.com/questions/3621755/what-setup-文件不-ESHELL-elisp的壳读时,它 - 开始 - 如何-ESHELL集-I)。第2点的答案是,eshell不读取.bashrc,因此必须在启动过程中早些时候读取的文件中设置$ PATH。在我的Ubuntu系统上

/etc/environment 

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

回答

2

ESHELL似乎在当前工作目录,这对于你(的Emacs启动后右)是 “〜/ .emacs.d/ELPA” 开始。您可以用“M-x cd”手动更改它,但这不应该是必需的。如果您编辑某个文件并从其缓冲区中启动eshell,eshell将从该文件所在的目录启动。

但是,如果您确实想要在您的主目录中启动每个eshell会话,则可以在eshell启动之前进行挂接调用“cd”。

+0

谢谢,这回答了问题的第一部分。我认为第二部分是相关的 - 看起来Emacs提前启动并在评估.bashrc之前获取$ PATH值。但即使我杀了eshell并启动了一个新的,eshell中的$ PATH并不反映我在.bashrc中的更改,而新的bash shell确实知道这些更改。 – Thorsten

相关问题