2014年11月18日火曜日

emacsを起動しないでelispを実行する方法

概要

rubyとかでいうところのirb的なことをemacsでもやりたいなと思い調べてみたらあったので紹介します

環境準備

  • CentOS 5.10 Final
  • emacs 24.2.2

やり方

サンプルを交えつつ

  • メッセージをプリントするだけ
emacs -batch --eval '(message "test")'
  • package.elを使ってパッケージをインストールする
emacs -l ~/.emacs -batch --eval '(progn (require (quote package)) (package-install (quote anything)))'

オプションの説明

  • -batch
    emacsをバッチモードで起動します、エディタが立ち上がってきません
  • –eval
    引数で与えられたelispを評価します
    シングルクォートでくくっておくといいです
    評価式内でシングルクォートを使いたい場合は(quote)を使いましょう
  • -l
    .emacsをロードする
    指定しない場合は.emacsに定義されているelispは読み込まれずにバッチモードが起動します

これでpackage.elがコマンドラインから使えるのでemacsの設定もある程度自動化できそうです

0 件のコメント:

コメントを投稿