言語

Emacs Lisp の使い方(3通りある)

◇ 1. Lisp Interaction Mode で実行する。

  emacs を立ちあげると、デフォルトで Lisp Interaction Mode になる。 このときのバッファは *scratch* である。  このバッファに任意のS式を書けば、C-j で実行結果が同じバッファに 表示される。




◇ 2. ミニ・バッファで Emacs Lisp コードを評価する。

  M-Esc (あるいは Esc Esc)コマンドを実行すると、ミニ・バッファに Eval: というプロンプトが現れる。  任意のS式を書き、リターン・キーを押せば実行結果が同じミニ・バッファ に表示される。




◇ 3. Emacs Lisp Mode で実行する。

  M-x emacs-lisp-mode を実行する。 また、ファイル名が .el で終わっているファイルを読み込めば自動的に emacs-lisp-mode になる。 あるいは、ソースの最初の空白でない行にコメントとして次ぎの文字列を 入れる。



-*-emacs-lisp-*-

  Emacs Lisp Mode では、一つの defun、リージョン内のコード全体、バッファ 全体を評価するそれぞれのコマンドがある。このモードで評価された式は、 すべて、そのセッションの間 Emacs の中に「組み込まれ」る。  例えば、foo という名前の関数を評価したとすれば、その関数は Emacs Lisp の他の関数から呼ぶことやミニ・バッファから M-Esc(あるいは Esc Esc)で 実行することができる。

  このようにして開発した Emacs 関数は、.emacs ファイルに入れることに よってセッション終了後も、起動時に組み込むことができる。このモードは .emacs のための関数のテストや開発に向いている。

Emacs Lisp Mode での評価をおこなうコマンドのまとめ
コマンド操作説明
C-x C-eカーソルの前にある式の操作 カーソルの前にあるEmacs Lisp の式を評価して、その結果をミニ・バッファに表示する
C-M-x
[Esc C-x]
式の評価このコマンドは C-x C-e とほとんど同じであるが、カーソルのある、あるいは直後にある式を評価する点が違う。
M-x eval-regionリージョン内のコードを評価するリージョンの中に含まれるすべてのコードを評価する。
M-x eval-current-bufferバッファ内のすべてのコードを評価する。 バッファ内の全ての Emacs Lisp のコードを評価する。このコマンドは、その Emacs Lisp バッファ内での変更を一度に現行のセッションに組み込むのに便利である。

  なお、C-M-x と C-x C-e に対して引数として数字を渡すと、評価した結果が バッファ内のカーソルの位置に挿入される。

参考:Hewlett Packard「GNU Emacs 完全ガイド(下)」

言語


言語の目次へ戻る

ホームに戻る