Emacsの起動時のウィンドウ自動分割とeshell自動起動

Emacsでプログラミングしていると、Emacsから離れたくなくなる。つまりコンパイルもファイルの実行も、すべてEmacsでやってしまいたいというわけだ。
そのためには、Emacsのウィンドウ分割機能を利用して、バッファを表示するウィンドウを複数用意するのが効率的だ。
しかし、どうせ複数ウィンドウ使うのが分かりきっているので、Emacsを起動する度にC-x 2やらC-x 3やらで逐一分割するのは面倒臭すぎる。
また、ソースファイルのコンパイル&実行には端末が必要だが、それをEmacsの中で実行するためにeshellを使いたい。
これもどうせ使うのだから自動起動してほしいものだ。
今回はそのための設定を検索してみた。

まず分割。
Emacsの初期読み込みファイル(.emacs.emacs.el)に以下のように記述してみた。

(split-window-horizontally)
(other-window 1)
(split-window-vertically)

あまりにそのままである。
まず横に等分割し、そのあと分割先のウィンドウに移り、さらにそれを縦に分割する。
頭が悪い気がしないでもないが、これで満足のいく分割が起動する度に自動で行われるようにすることはできた。

次にeshellの自動起動
初期ファイルに以下のように記述。

(add-hook 'after-init-hook (lambda() (eshell)))

これでeshellが自動で起動するようにはなった。
しかし、なんとウィンドウに表示されない。バッファを見ると確かに*eshell*なるバッファが存在してはいるのだが、ウィンドウに表示されなかったらC-x bで選んでやらないとeshellが使えないじゃないか。これじゃ便利さがほとんど変わってない。

C-x bに割り当てられている関数はswitch-to-bufferなので、これを初期ファイルに書き込めば自動でカレントウィンドウにeshellが呼び出されるのでは、と思ってやってみたがなんかうまくいかない。*eshell*はバッファとして確かに存在してはいるのだが……存在してもウィンドウに表示されなきゃ意味ねーよ。

どなたかご教授頂きたい。