XEmacs


僕は普段メールの読み書きに XEmacs 上の Mew を使っているので、 XEmacs は、かなり使用時間の長いアプリケーションです。 基本的に出社してマシンを起動して、最初に起動するのが XEmacs、 そのまま起動しっぱなしで、帰宅する前に最後に終了するのが XEmacs という具合。

以前は Mule 19.34 だったのですが、もうずいぶん前に XEmacs 21.x に移行して、 ずっとそのままです。

ここでは XEmacs の導入、設定方法を紹介します。

1. 導入

FreeBSD で XEmacs を利用する場合、ソースから自分でコンパイルする方法と、 ports を利用する方法があります。当然、ports を利用する方が簡単だと思います。 私の場合、日本語入力に VJE-Delta を利用しているので、XIM を利用するために、 自分でコンパイルしていたのですが、最近の ports なら japanese/xemacs21-canna でも放り込んでおけば XIM 経由での入力が可能なようです。

ここでは、ports ではなく、ソースからコンパイルする手順を紹介しておきます。

2. ソースの取得

一元配布元は

ftp://ftp.xemacs.org/tux/xemacs/

です。stable バージョン (2003 年 6 月 18 日現在) である XEmacs 21.4.13 を導入するには、 xemacs-21.4.13-src.tar.gz, xemacs-21.4.13-elc.tar.gz, xemacs-21.4.13-info.tar.gz の 3 つを取得します。info はいらないという人は無しでも構いません。

ports の editors/xemacs21-mule 配下で make fetch して取得するのが手っ取り早いかもしれません。

3. コンパイル

取得した 3 つのソースファイルを展開します。

  % zcat xemacs-21.4.13-src.tar.gz |tar xf -
  % zcat xemacs-21.4.13-elc.tar.gz |tar xf -
  % zcat xemacs-21.4.13-info.tar.gz |tar xf -

展開したらそのディレクトリに移動し、configure を実行します。 以下は僕の環境での configure の例です。

  % cd xemacs-21.4.13
  % ./configure --prefix=/usr/local/xemacs-21.4.13 \
    --with-x11 --with-png --with-jpeg --with-tiff \
    --with-gif --with-ipv6-cname=yes --with-xim=xlib \
    --x-includes="/usr/local/include -I/usr/X11R6/include" \
    --with-mule --without-canna --without-wnn \
    --without-database --with-gcc \
    --cppflags="-I/usr/local/include"

ゴチャゴチャやってますが、--with-xim=xlib--with-mule がポイントです。XIM 経由での日本語入力のために --with-xim=xlib を指定します。

無事、configure が完了したらコンパイルし、root になってインストールします。

  % gmake
  % su
  # gmake install

4. sumo のインストール

続いて sumo をインストールします。sumo は Emacs Lisp で記述された様々なパッケージの集まりです。 これがあるといろいろ便利。

一元配布元は ftp://ftp.xemacs.org/tux/xemacs/packages/ で、現時点の最新は 2003-04-14 版のようなので、 xemacs-mule-sumo-2003-04-14.tar.bz2, xemacs-sumo-2003-04-14.tar.bz2 の 2 つを取得します。

そうしたら、先程 XEmacs を展開したディレクトリに tar で展開します。

  # cd /usr/local/xemacs-21.4.12/lib/xemacs
  # bzcat /どこか/xemacs-sumo-2003-04-14.tar.bz2 |tar xf -
  # bzcat /どこか/xemacs-mule-sumo-2003-04-14.tar.bz2 |tar xf -

展開すると、xemacs-packages/lisp/ 配下や mule-packages/lisp/ 配下に、 様々な Emacs Lisp パッケージがインストールされます。自分が不要だと思う物はディレクトリ毎削除してください。 私の場合、自分で Mew をインストールするため、真っ先に mew/ を削除します。

5. 設定

XEmacs の設定は、他の Emacs 系と同様、~/.emacs に Emacs Lisp で記述します。 ただし、最近の XEmacs は ~/.emacs よりも ~/.xemacs/init.el を優先して参照してくれるようになっているので、 XEmacs の設定はこちらに記述します。こうすると、Emacs と XEmacs を同居させることが可能です (私は XEmacs しか使ってませんが)。

また X のリソースの設定は ~/.Xdefaults の中で Emacs として記述します。

6. ~/.xemacs/init.el

以下は私が ~/.xemacs/init.el に記述している設定の基本部分です。

  ;; 文字コードを EUC に設定
  (set-default-coding-systems 'euc-jp)
  (set-keyboard-coding-system 'euc-jp)
  
  ;; フォントの設定 (X 用)
  (set-face-font 'default "-misc-fixed-medium-r-normal--14-*")
  
  ;; C-t でテキストモード
  (global-set-key "\C-t" 'text-mode)
  ;; C-c C-u で auto-fill-mode の切替え
  (global-set-key "\C-c\C-u" 'auto-fill-mode)
  ;; C-c C-f で fill
  (global-set-key "\C-c\C-f" 'fill-region-as-paragraph)
  
  ;; 行間の設定
  (set-specifier minimum-line-ascent 3 nil 'x)
  (set-specifier minimum-line-descent 5 nil 'x)
  
  ;; 時刻の表示
  (display-time)
  
  ;; 行番号の表示
  (setq line-number-mode t)
  
  ;; ツールバーを消す
  (set-specifier top-toolbar-visible-p nil)
  
  ;; メニューバーを消す
  ;(set-specifier menubar-visible-p nil)
  
  ;; ウィンドウ上部のタブを消す
  (setq gutter-buffers-tab-visible-p nil)
  (setq gutter-buffers-tab-enabled nil)
  
  ;; スクロール時に 1 行ずつスクロールする
  ;(setq scroll-step 1)

実際には、この他に、Mew 上で利用するアプリケーションのための細かい設定がありますが、 ここでは省略します。

XEmacs 起動時の初期化処理を高速化するために、~/.xemacs/init.el をバイトコンパイルしておきましょう。

7. ~/.Xdefaults

以下は私が ~/.Xdefaults に記述している XEmacs のための設定です。

  Emacs*EmacsFrame.geometry               : 84x40+242+5
  Emacs*foreground                        : black
  Emacs.default.attributeBackground       : moccasin
  Emacs.default.attributeForeground       : black
  Emacs.bold-italic.attributeForeground   : #007f7f
  Emacs.italic.attributeForeground        : #007f7f
  Emacs.bold.attributeForeground          : #007f7f
  Emacs.default.attributeBackgroundPixmap : ~/graphic/leather2.xpm
  Emacs.lineSpace                         : 10

Emacs.default.attributeBackgroundPixmap で背景として使用する画像を指定できます。 この機能が気に入っていて Emacs ではなく、XEmacs を使っていたりします。

8. スクリーンショット

以上のような設定で XEmacs を起動した場合のスクリーンショット


TetsuoSTREAMS > FreeBSD > XEmacs