3. 初期設定編     4. 共通設定編     With Emacs Next     5. 基本操作編
共通設定編

4.1 設定ファイルの読みわけ

同じマシンで複数の Emacs を使い分ける場合... 普通はあまりないかもしれません。しかし、本サイトで扱っている範囲でも、 Mac OS X 上で、プリインストールのターミナル用 Emacs 21 に加え、独自に Emacs 21 をビルドした場合、2 つの Emacs が存在することになります。 しかも、この 2 つは、設定を使い分ける必要が生じます。 このような場合に、用意した設定ファイルを読みわける方法を説明します。

設定ファイルの分類と呼び出し

実は案外簡単で、2 つの Emacs のバージョンが異なればそれを利用して、 それぞれの設定ファイルの読みわけが可能です。

起動時に読み込まれるファイルは .emacs ですので、ここに読みわけの記述を おこないます。読みわけが必要な箇所に以下のように記述します。

~/.emacs の読みわけの必要な部分
(cond ((string-match "21.2.1" emacs-version) (load "/home/foo/.emacs_21_2_1.el") (t (load "/home/foo/.emacs_def.el")) )

上記のように記述すると、Emacs 21.2.1 を使用した場合は .emacs_21_2_1.el がロードされ、そうでない場合は .emacs_def.el がロードされます。 なお、ここではユーザのホームディレクトリを /home/foo と仮定しています。 .emacs ファイル内をこの記述のみにして、完全に Emacs のバージョンごとに設定ファイルを使い分けることも可能なわけです。

少し解説すると、この記述では (emacs-version) を評価することにより 得られるバージョン文字列と指定したバージョンを比較し、一致した場合は、 load 以下に続くファイルを読み込ませています。 最後の t は条件が true、すなわちそれまでに該当しなかったバージョンの Emacs を使用した場合に当てはまります。

Emacs のバージョンを知りたい場合は、Emacs を起動時にはじめに表示される *scratch* バッファで (emacs-version) と入力して、C-j をタイプします。 C-j により、Lisp 式が評価されます。

Mac OS X 10.3 の場合であれば、プリインストールのターミナル用 Emacs 21 のバージョンが 21.2.1 なので、この場合とそれ以外の場合で分類するのが 良いでしょう。このケースは、Emacs 21.2.1 用の設定ファイルを完全に分けたほうが 良いと思います。ウインドウの設定を共有したりすると、 Mac OS X プリインストール Emacs 21 にあるキャプチャのように、カーソルの色がバックグラウンドとかぶって 見えなくなったりと、余計なことに副作用が現れたりしますので。

3. 初期設定編     4. 共通設定編     With Emacs Next     5. 基本操作編
本サイトについて
ご意見、ご感想お待ちしております!
Contact: ysk-net@dp.u-netsurf.ne.jp