XEmacs


前回に続いて、今回もずっと前に用意していたネタで、書く時間がなかった よー、ってのになってしまいました。タイトルの通り、XEmacs 導入記です。

僕は普段、Mule をメインに使っていました。Mule 上で Mew を使ってメール の読み書き、Wanderlust を使って News の読み書き。POP3 を使うのでメール環 境を Wanderlust のみに完全以降できないんです。Wanderlust だと不便な部分 がまだまだ残ってたりするし。
で、このような HTML 書くのにも、大体 Mule を使ってます。でも、C のソース の読み書きは、完全に vi になってます。sh スクリプトを書く時も vi 。
で、ちょっと派手にしてみたくなって、XEmacs に手を出しました。XEmacs は重 いです。マシンパワーを必要とします。僕のマシンが MMX Pentium 200MHz でメ モリが 96MB なのですが、それでも、Mule のようにさくさくとは動きません。 ただ、もうすぐ会社で新しい PC を買ってくれそうな気配だったので、それを見 越して環境を XEmacs に以降したわけです。結局、新しい PC は買ってもらえな かったんですが(^^;

■ XEmacs のインストール
さて、まずは、XEmacs のインストール。FreeBSD はパッケージが用意されて るんで、面倒なので、とりあえず、パッケージをそのまま落します(ホントは自 前でコンパイルした方が好みのパスに落せたりして都合いいんだけど、時間がね ....)。
というわけで、/stand/sysinstall を使って ja-xemacs-canna-21.1.8 をインス トール。これは問題ないですね。

■ ~/.emacs の問題
ここで一つ困ったことがあります。XEmacs の設定ファイルは、~/.emacs として 記述します。つまり、Mule と同じなのです。しかし、設定内容を共有できない 部分が多すぎます。~/.emacs は Emacs Lisp なので、内部で if 文を駆使すれ ば、共有可能ですが、それでは見づらいし、面倒です。これ、なんとかならんか なぁ、と思ってます。
完全に XEmacs しか使わないんであれば、XEmacs 用に書換えちゃえば良いので すが、まずは、完全移行できるかどうかの実験期間が必要です。そのためにも、 Mule の環境も残さなければなりません。

で、僕が取った対処は、.emacs から、Mule 用の設定ファイルと XEmacs 用の設 定ファイルに分かれる、という方法。~/.emacs は以下のようになってます。

;;
;; .emacs から、Mule 用の設定ファイル .mule と
;; XEmacs 用の設定ファイル .xemacs にわかれる。
;;
(if (string-match "XEmacs" emacs-version)
        (load "~/.xemacs" nil t nil)
    (load "~/.mule" nil t nil))

emacs-version をキーに振り分けます。XEmacs だと判断した場合は、 ~/.xemacs という別ファイルをロードします。従来の Mule 用の ~/.emacs は ~/.mule としてあります。これで楽勝。

参考 web http://www.imasy.or.jp/~kazz/xemacs/share.html

■ canna のキーバインド
それでは、設定編。
まずは、日本語が入力できなければダメ。XEmacs では日本語入力の切り替えが デフォルトでは Ctrl + \(以下、Emacs 風に C-\ といった形式で記述します)に 設定されているようで不便。Mule と同じ C-o に変更してやります。

M-x canna-toggle-japanese-mode で日本語入力モードに移行するので、 C-o を canna-toggle-japanese-mode に割り当ててやれば良いです。ただし、 canna-toggle-japanese-mode を使うためには、canna がロードされている必要 がありますので、まずは、.xemacs 内で canna をロードするように指定します。 load-library で canna をロードしただけではだめで、その後 canna を実行す る必要があります。したがって .xemacs の記述は以下のようになります。

;; canna をロードする。
(load-library "canna")
(canna)
;; キーバインド
;;    C-o で日本語入力に切替え
(global-set-key "\C-o" 'canna-toggle-japanese-mode)

これで、XEmacs 起動直後にも C-o で日本語入力の切り替えが可能になりま す。

■ Mew
Mew を起動しようとしたら、起動できない。今使っているのは Mule 用にバイト コンパイルした Mew なので、XEmacs では使えないようだ。XEmacs でバイトコ ンパイルしたものを別途インストールする必要がある。
Mew の配布物を再度展開して Makefile を

EMACS = xemacs

と修正して make install。/usr/local/mew-1.95b3/lib/xemacs/site-lisp 配下に XEmacs 用にバイトコンパイルされた Mew がインストールされる。 Mule 用のものは /usr/local/mew-1.95b3/lib/mule/site-lisp にインストール してあるので、load path をを XEmacs 用にしてやればおっけー。というけで、 load path を通すため、以下の設定を ~/.xemacs に追加。

(setq load-path (cons "/usr/local/mew/lib/xemacs/site-lisp" load-path))

ちなみに、/usr/local/mew は /usr/local/mew-1.95b3 へのシンボリックリ ンクとしている。

XEmacs で Mew を使う場合はアイコンを表示させることができる。まぁ、こ の辺が XEmacs のウリなわけだから、当然アイコンを使いたい。Mew 用のアイコ ンをインストールするには、Mew を make install した後に

make install-etc

とすればおっけーである。僕の環境だと /usr/local/mew-1.95b3/lib/xemacs/etc/Mew 配下にアイコンがインストールさ れる。Mew にアイコンディレクトリのパスを教えてやる必要があるので、以下の 設定を ~/.xemacs に追加。

(setq mew-icon-directory "/usr/local/mew/lib/xemacs/etc/Mew")

さて、これだけで Mew は使えるけど、デフォルトで引用部分に色がついてく れない。Mule だったら何も気にしなくても色がついたんだけど、XEmacs は違う ようだ。Mew の配布物の中の contrib 配下の *.el を使うらしい。というわけ で、これらの Emacs Lisp ファイルを /usr/local/mew-1.95b3/lib/xemacs/site-lisp/contrib/ 配下にコピー。このディ レクトリにも load path が通ってないといけないので、

(setq load-path (cons "/usr/local/mew/lib/mule/site-lisp/contrib" load-path))

を ~/.xemacs に追加。これで、Mew でメールを見た時に引用部分に色がつく ようになる。

■ フォントの設定
いままで Mule では 16 ポイントフォントを使っていたんだけど、ちょっと画面 が狭いので、14 ポイントのフォントに変更する。デフォルトのままだと、 XEmacs は 1byte 文字と 2byte 文字の大きさのバランスが変なので、以下の設 定を ~/.xemacs に追加してやる。

(set-face-font 'default "-*-fixed-medium-r-normal--14-*")

後、X のリソースファイル(~/.Xdefaults)に以下の物を設定しておきます。

Emacs.default.attributeBackground       : OldLace
Emacs.default.attributeForeground       : black
Emacs.bold-italic.attributeFont         : -dt-*-medium-i-*
Emacs.bold-italic.attributeForeground   : #007f7f
Emacs.italic.attributeFont              : -dt-*-medium-i-*
Emacs.italic.attributeForeground        : #007f7f
Emacs.bold.attributeFont                : -dt-*-medium-i-*
Emacs.bold.attributeForeground          : #007f7f

実はフォント関連はよく分かっていない....(^^;

■ 行間の設定
XEmacs では、デフォルトで行の間隔が異様に狭い。アルファベットが並んでい る場合はそれでも問題ないのだけれど、日本語だと、上下をフルに使うのでかな り見づらくなってしまう。というわけで、行間を少し広げる設定。

(set-specifier minimum-line-ascent 3 nil 'x)
(set-specifier minimum-line-descent 5 nil 'x)

この記述は、さっきのフォントの設定の後に書いてやる必要があります。

■ 日本語メニューの表示
日本語化された XEmacs のパッケージを落しているので、メニューを日本語で表 示することができます。環境変数 LC_ALL が ja_JP.EUC になっていれば日本語 メニューが表示されます。シェルから起動する場合は、~/.cshrc にでもこの環 境変数を設定するように書けば良いのですが、WindowMaker のメニューは ~/.cshrc を読み込みません。なので、メニューの方は

env LC_ALL=ja_JP.EUC /usr/local/bin/xemacs -bg Gray

を実行するようにしてます。-bg Gray はメニュー部分や、スクロールバーの 色を指定しています。

■ 時刻の表示
下側のバー(なんて呼ぶのか知らない)にデジタルで時刻を表示させることができ ます。以下の設定を ~/.xemacs に追加。

;; 時刻の表示
(display-time)
時刻の横に表示される、メータみたいなやつは、多分、ロードアベレージだと思っ てますが、確信はありません。

大体こんな感じで、XEmacs で日本語も使えて Mew でメールの読み書きがで きる環境の出来上がり。ほんとは、これ以外に Wanderlust やら、mhc やらの設 定もあるんですが、それは、また別の機械にでも。

最後に、僕の環境での XEmacs のスクリーンショットを置いておきます。

スクリーンショット(101.75KB)


[FreeBSD] | [TetsuoSTREAMS]