Emacs/Mule についての補足ファイル

目次


マクロの追加の仕方

小さいマクロを一つ二つインストールするだけなら .emacs ファイルにでも書いておけばすみますが、 大抵はその内沢山のマクロをインストールすることになると思います。 こういう場合は自分のホームディレクトリの下に ~/lisp などの名前のディレクトリを作り、次の ようにして load-path を通します。

(defmacro push (elm list)
  "push ELM in front of LIST"
  (list 'setq list (list 'cons elm list)))
(push (expand-file-name  "~/lisp") load-path)

他にも追加する場合は、最後の式と同様なものをいくつも追加するだけです。ま、やり 方は他にもいろいろあるわけですけど。

こうしておいて ~/lisp の下に追加する Emacs Lisp のファイル を置きます。このファイルを例えば myfile.el だとしておきます。この時バイトコンパイル しておくと、より速くロードしたり実行したり出来るようになります。

さて、追加するマクロが小さかったり、頻繁に使うマクロである場合は .emacs に

(load "myfile")

と書いておけば、Emacs 起動時に自動的に読み込んでくれます。ただし、大きくてあま り使わないようなファイルを全てこの形でロードすると起動が大変だし、Emacs も重く なっちゃいます。そういう場合はオートロードを使います。例えば myfile.el(c)の中で、mycommand というコマンドが定義されていたとします。 この場合、例えば

(autoload 'mycommand "myfile" "ここには説明を書く" t)

と書いておけば mycommand を実行する時点で初めて myfunc をロードするようになり ます。説明は面倒なら省略出来ます。(その場合は nil とでも書いといて下さい。) また、最後の引数の t は mycommand がインタラクティブに呼び出せることを指定して います。(本当はもう一つ引数があるのだけど、それは C-h f autoloadなんかで調べて下さい。)


辞書

load-path
Emacs がEmacs Lispで書かれたファイルを探し にいくディレクトリのこと。現在の値は、例えば load-path の後の直 後でC-x C-eとタイプすることで分る。これに新しいディレ クトリを追加する方法なんかはマクロの追加 の仕方の所を見て下さい。
バイトコンパイル
詳しいことは略しますが、まあ、Emacs がより速く読んだり実行したり 出来る形式にすることだと思えばよいです。バイトコンパイルするには、 Mule の中で M-x byte-compile-file RTN foo.el RTN な どとすれば、OK。沢山のファイルを一度にバイトコンパイルするには diredでファイルをマークしてから B をタイプするのが簡単。
Emacs Lisp
Emacs のマクロ言語。というよりは、Emacs 自身がこの上で動いている といってもよい。ちゃんとした Lisp 言語なので、普通のプログラムも これで書くことが出来る。もっと知りたい方は取り敢えず Emacs Lisp 入門 をお読み下さい。といっても, これは neumann の /usr/local/info にある Info を html 化したものなので, neumann にいる人は Mule から Info を直接読んだ方がずっと快適でしょう。なお、元の Texinfo ファイル の現在の最新版は version 0.97 です。 emacs-lisp-intro-jp-97.tar.gz から取ってこれます。 ほとんど同じ物は ftp://ftp.mcsnet.co.jp/fext/lib06/ からも入手できます。(神さんに感謝)
dired
DIRectory EDitor の略だと思うのですが、VZ のファイラーみたいなものだと 言えば分る人には分ると思います。C-x d に続けてディレクトリを指定することで起動できるので、そこで C-h m とか C-h b とすれば、使い方は分るでしょう。
[Mule のページに戻る]