Windows上でXEmacsを使うメモ

XEmacsの歴史

GNU Emacs 19の早期に分派した。Emacsの機能は大抵組み込んでいる。XEmacsは、画像の取り込みや可変フォント幅、行間、ToolTalkによるDnD、ポップアップダイアログやツールバー、縦横スクロールバーなどを実現している。もっともGNU Emacsも21でXEmacsの機能のいくつかを取り込んでいる。

XEmacs 20/21では、XIM以外にもCanna、Wnn、SJ3といった漢字入力サーバをサポートしているが、GNU Emacs 20はXIMだけ(GNU Emacs 21は?)。

XEmacs 21では、EFSを使ったパッケージ管理システムを装備しており、Emacs Lispパッケージを導入するのが簡単になっている。

Windows版XEmacsの導入

Webサイト「XEmacs on MS-Windows」で提供されているバイナリを使用する。現在提供されているのは以下のバージョンである。まずダウンロードする。

xemacs-i586-pc-win32-21.4.8-2-mule.tar.gz

次に、Emacs Lispパッケージ集が本体とは別に公開されているので、入手する。ftp://ftp.xemacs.org/tux/xemacs/packages/ か、ミラーサイトから 、以下のファイルをダウンロードする。

xemacs-sumo-YYYY-MM-DD.tar.bz2
xemacs-mule-sumo-YYYY-MM-DD.tar.bz2

YYYY:西暦、MM:月、DD:日

同ページのインストールに従ってインストールする。

  1. 環境変数%ProgramFiles%が指すディレクトリの下に、XEmacsというディレクトリを作成する。
  2. 1.で作成したディレクトリの中に xemacs-i586-pc-win32-21.4.8-2-mule.tar.gzを解凍する。
  3. 1.で作成したディレクトリの中に、xemacs-sumo-YYYY-MM-DD.tar.bz2を解凍する。
  4. 1.で作成したディレクトリの中に、xemacs-mule-sumo-YYYY-MM-DD.tar.bz2を解凍する。
  5. 1.で作成したディレクトリの中に、site-packagesというディレクトリを作成する。
   %ProgramFiles%\XEmacs
                   +----- XEmacs-21.4.8
                   +----- mule-packages
                   +----- site-packages
                   +----- xemacs-packages
  1. 環境変数%HOME%を設定する。
  2. 環境変数%HOME%が指すディレクトリの中に、.xemacsというディレクトリを作成する。
  3. 7.で作成したディレクトリの中に、init.elというファイルを作成する。これがXEmacs起動時に読み込まれる設定ファイルである(従来は%HOME%に置いた.emacsに相当)。
  4. 7.で作成したディレクトリの中に、custom.elというファイルを作成する。これは、XEmacsでカスタマイズ機能で設定した項目が記述されるファイルである。このファイルは直接編集しない。

Windows版XEmacsの設定

最大の知識データベースであるInternetをGoogleで探しても、UNIX特有の設定ばかりしか引っかからない。UNIX特有の設定とは、X Window Systemのリソースなどである。また、Emacsと同様にinitial-frame-alistに、foreground-color、background-colorで設定しても反映されない。また、Googleで見つけた方法でset-face-foreground、set-face-backgroundで設定しても反映されない。困った困った。

日本語では見つからないだろうな、ということで全体から検索して、色設定方法を見つけた。

;; frameの背景色/text色
(set-face-background 'defualt "AntiqueWhite")
(set-face-foreground 'default "black")
;; 選択範囲の背景色/text色
(set-face-background 'zmacs-region "red")
(set-face-foreground 'zmacs-region "yellow")
;; インクリメンタルサーチの時の検索対象文字列の色
(set-face-background 'isearch "yellow")
(set-face-foreground 'isearch "red")

フォントの設定

フレーム設定

(setq default-frame-alist
      (append
       (list '(width . 81)
             '(height . 45)
             '(top . 100)
             '(left . 100))
       default-frame-alist))

SKKの設定

(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-auto-fill-mode)
(global-set-key "\C-xt" 'skk-tutorial)
(autoload 'skk-mode "skk" nil t)
(autoload 'skk-auto-fill-mode "skk" nil t)
(autoload 'skk-tutorail "skk-tut" nil t)
(autoload 'skk-isearch-mode-setup "skk-isearch" nil t)
(autoload 'skk-isearch-mode-cleanup "skk-isearch" nil t)
(add-hook 'isearch-mode-hook
          (function (lambda ()
                      (and (boundp 'skk-mode) skk-mode
                           (skk-isearch-mode-setup)
                           ))))
(add-hook 'isearch-mode-end-hook
          (function (lambda ()
                      (and (boundp 'skk-mode) skk-mode
                           (skk-isearch-mode-cleanup)
                           (skk-set-cursor-color-properly)
                           ))))

JDEEを最新版へ

xemacs-sumoパッケージ集に含まれているJDEE関連パッケージと最新パッケージの比較。

パッケージ名 sumo 最新版(*1) 備考
JDEE 2.2.8 2.2.9beta10
EIEIO 0.16 0.17beta4
ELIB 1.0 1.0
SEMANTIC 1.4beta8 1.4
SPEEDBAR 0.13 0.14beta4

*1) 2002.7.24現在の最新版

最新版を、XEmacsの下に作ったsite-packages内に置く。

%ProgramFiles%\XEmacs
                +--- site-packages
                          +--- eieio-0.17beat4
                          +--- jde-2.2.9beta10
                          |             +--- lisp
                          +--- semantic-1.4
                          +--- speedbar-0.14beta4 

古いJDEEをリネーム(削除してもよい)

%ProgramFiles%XEmacs
                +--- xemacs-packages
                            +--- etc
                                  +--- jde         ---> jde.org

%HOME%\.xemacs\init.elに追加

;;; load-path for JDEE
(add-to-list 'load-path (expand-file-name "d:/Program Files/XEmacs/site-packages/eieio-0.17beta4"))
(add-to-list 'load-path (expand-file-name "d:/Program Files/XEmacs/site-packages/semantic-1.4"))
(add-to-list 'load-path (expand-file-name "d:/Program Files/XEmacs/site-packages/speedbar-0.14beta4"))
(add-to-list 'load-path (expand-file-name "d:/Program Files/XEmacs/site-packages/jde-2.2.9beta10/lisp"))
;;
(require 'jde)