2011-11-07 42 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