敢えて言おう lisp-interaction-mode はいみふめであると
2006.09.06
lisp-interaction-mode は emacs-lisp-mode を継承し、キーマップは lisp-mode-shared-map を複製したものに以下を追加しています。
C-M-x eval-defun C-M-q indent-pp-sexp ; Emacs 22 M-TAB lisp-complete-symbol C-j eval-print-last-sexp
これは emacs-lisp-mode でも同様であり、lisp-interaction-mode-map にあって emacs-lisp-mode-map にないのは eval-print-last-sexp だけです。
C-j といえば Global Bindings では newline-and-indent なわけで、こんな重要なキーを潰す意味がわかりません。 改行はふつー C-j でしょう。 C-m (RET) して C-i (TAB) するより C-j です。
また、eval-print-last-sexp ではなく eval-last-sexp であれば、ストローク数こそ違いますが Global Bindings として C-x C-e にバインドされています。 eval-last-sexp は評価した結果はバッファでなく minibuffer に表示します。 つまり履歴が *Messages* に残ります。 バッファに書き込みたい場合は、引数をつけて C-u C-x C-e とすればできます。 eval-print-last-sexp と違い前後に改行が入りませんが、この方が好ましい場合もあるのではないでしょうか。
どう便利なのかわからない lisp-interaction-mode より、emacs-lisp-mode の方が幸せになれると思います。
(setq initial-major-mode 'emacs-lisp-mode)
Lisper でないひとは fundamental-mode や text-mode, outline-mode あたりにして、 メモとして使うってのもありですね。
豆知識。 *scratch* バッファがなくなったときは、switch-to-buffer なりで新規に *scratch* というバッファを作れば initial-major-mode で初期化されるよ。