Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

emacs-lispを反映するときのコマンド一覧

10/28 盛大に勘違いしていたようです。内容を修正、リンクも追加しました。

今までemacs-lispを評価するときはeval-bufferを使ってました。
再起動不要で式を評価できる便利な奴くらいにしか認識していませんでした。
ただ、それだと色々アブナいので……ちゃんとevalについて調べてみました。

EmacsWikiの説明

When you add Lisp to your .emacs, it is not evaluated until you restart Emacs. Rather than restarting Emacs, you can use ‘M-x eval-buffer’, or ‘M-x eval-region’ or just ‘C-x C-e’.

基本の式

M-x eval-region

選択範囲を評価します。
ちょっと色合いを確認したいといった用途なら、これで十分ですね。
多重呼び出しが発生しないため、入り込んだ依存関係の対策にもなるようです。

M-x eval-buffer

今まで使って来たコマンド。
現在のバッファにある全ての式を評価します。
開いてるバッファ全て……ではありません。*1

C-x C-e (M-x eval-last-sexp).

ポイントの前のLisp式を評価し,結果をミニバッファに表示します

その他

C-M-x(eval-defun).

ポイントのある,またはポイントの後ろのdefunを評価し,結果をミニバッファ に表示します

M-x load-file ~/.emacs.d/init.el

フツーにファイルを読み込んで評価させる方法です。
load-fileの後ろは各自の設定に合わせて下さい。

*1:私はそう誤読してましたorz