1

Eshell の構成に関して 2 つの小さな質問があります。カスタマイズ オプションやソース コードも調べましたが、役に立ちませんでした。もっとよく見ておけば良かったかも。

  1. Emacs を起動して Eshell を開くと、ホーム ディレクトリ '~/' ではなく、ディレクトリが '~/.emacs.d/elpa' になっています。この構成がどこから来たのかわかりませんし、変更する方法も見つかりませんでした。

  2. .bashrc の $PATH を変更し、必要に応じて Emacs 変数 'exec-path' をカスタマイズしました。ただし、最初の変更は Eshell によって反映されず、bash では認識されますが、Eshell では認識されません。Eshell はこの情報をどのように取得し、この変数の変更に関する知識が bash とどのように異なるのでしょうか?

ヒントをありがとう

トルステン

PS

同様の質問を見つけました [こちら] (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 に答える