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 のページに戻る]