Emacsのshellモードは、shellの~/.bash_profile~/.bashrcのような初期化ファイルを起動時に読んでくれないようです。

不便なので調べてみたところ、きちんとそれ用のファイルが用意されていました。

通常のshellのスクリプトの代りに、~/.emacs_${shell名}のファイルを用意しておけば、shellモードの起動時に読み込まれます。このファイルがなければ、~/.emacs.d/init_${shell名}が読み込まれます。

僕はbashを使っているので、次のようなファイルを用意すればいいわけです。

  • ~/.emacs_bash
  • ~/.emacs.d/init_bash