display-buffer を使用C-x 4 C-oして、他のウィンドウにバッファーを設定します。eshell バッファを他のウィンドウに配置したくない場合を除き、これはうまく機能します。eshell は毎回現在のウィンドウに表示されます。
コマンドの前にC-ueshellスイッチを適切に付けると。それをデフォルトにする方法はありますか?
これを行うだけです:
(eval-after-load "eshell"
'(eshell-remove-from-window-buffer-names))
pmrが言ったように、defadviceはあなたが望むもののようです。関数をラップして、毎回引数を渡すだけです。defadvice に関する gnu ドキュメントへのリンクは次のとおりです。
http://www.gnu.org/s/emacs/manual/html_node/elisp/Simple-Advice.html#Simple-Advice