Emacsの起動時には、Emacs Lisp式を対話的に評価するための*scratch*という名前のバッファが用意されています。そのメジャーモードはLisp Interactionモードです。また、M-x lisp-interaction-modeと入力することでもLisp Interactionモードを有効にできます。
*scratch*バッファを削除すると、M-x scratch-bufferコマンドで再作成できます。
*scratch* バッファおよびその他の Lisp Interaction
モードのバッファでは、C-j (eval-print-last-sexp) はポイント直前の Lisp
式を評価し、その値をポイントに挿入します。したがって、バッファに式を入力し、各式の後に C-j
を入力すると、バッファには評価された式とその値の記録が蓄積されていきます。Lisp Interaction
モードにおけるその他のすべてのコマンドは、Emacs Lisp モードと同様です。
起動時、*scratch* バッファには、その用途を説明する Lisp
コメント形式の短いメッセージが格納されています。このメッセージは変数 initial-scratch-message によって制御されており、ここにはドキュメント文字列か、nil(メッセージを抑制することを意味します)のいずれかを指定する必要があります。
Emacs Lisp式をインタラクティブに評価する別の方法として、Inferior Emacs Lispモードを使用する方法があります。このモードは、Emacs Lisp式を評価するための、Shellモード(Shell Modeを参照)に近いインターフェースを提供します。M-x ielmと入力すると、このモードを使用する*ielm*バッファが作成されます。詳細については、当該コマンドのドキュメントを参照してください。
デフォルトでは、*scratch*
バッファはどのファイルにも関連付けられていません。そのため、Emacs
を終了すると、バッファ内のテキストはすべて失われます。必要に応じて、Remember モードのノートバッファ機能を使用して、Emacs に *scratch* の内容を保存・再読み込みさせることができます。これを実現するには、変数 initial-buffer-choice をシンボル remember-notes に、変数 remember-notes-buffer-name を文字列 "*scratch*" にカスタマイズしてください。また、Remember モードのマニュアル の クイックスタート
も参照してください。