![]() |
Meadow3.00インストールと設定 |
| Meadow 3.00開発版はSubversionサーバ上で随時更新中 |
Emacs 22.0.50追従のMeadow 3.00のインストールおよび設定について紹介します。
バイナリには、ネットインストール版によるインストーラを使用したインストール方法があります。本ページではこの方法は紹介しません。
Meadow 3.00はバージョン管理ツールSubversionが動くサーバ上でソースコードが公開されています。本ページでは、Subversionツールを使ってソースコードを入手して自分でビルドする方法を紹介します。
Meadow3.00のソースコードを、MeadowのSubversionリポジトリから入手します。
1) Subversionのコマンドラインツールsvnを使って以下のように取得します。
$ svn co http://svn.meadowy.org/Meadow/trunk Meadow-3.00-dev
2) TortoiseSVNツールを使ってエクスプローラ上で展開します。

Meadow 3.00を動かすには、以下のソフトウェアが別途必要です。
注:ネットインストール版については、本ページでは未記載です。
Meadow本体をインストールする前に、まずImageMagickをインストールします。
Meadow-3.00-dev$ cd nt nt$ ./configure.meadow.bat --with-gcc --no-cygwin --no-debug --prefix d:/win32app/Meadow3 : nt$ make bootstrap : nt$ make : nt$ make install
※2007/02/11現在、自分の環境ではmake bootstrap実行でエラーとなり、ビルドが通っていません。
make は、ver.3.81だとエラーになるのでver.3.80にする必要があります。
Visual Studio 2003の設定がされたコマンドプロンプトから実行します。ただし、cygwinのコマンドを使用していると思われる箇所があるので、Cygwinのコマンドがあるディレクトリを環境変数PATHに追加しておきます。
D:\work\Meadow-3.00-dev> cd nt D:\work\Meadow-3.00-dev\nt> configure.meadow.bat --with-msvc --no-debug --prefix d:\win32app\Meadow3 : D:\work\Meadow-3.00-dev\nt> nmake bootstrap BUILD_TYPE=spd : D:\work\Meadow-3.00-dev\nt> nmake all BUILD_TYPE=spd : D:\work\Meadow-3.00-dev\nt> nmake install BUILD_TYPE=spd
Meadow3.00をインストールすると、次の表のようなディレクトリ構成になります。後に追加するelisp(Meadow/Emacsの拡張パッケージ)は、site-lispの下に展開します。
| ディレクトリ | 内容 | ||
|---|---|---|---|
| D:\win32app\Meadow3 | bin | Meadowの実行ファイル | |
| bitmap | |||
| etc | |||
| info | |||
| leim | |||
| lisp | |||
| site-lisp | subdirs.el | loadpath設定 | |
Meadowの実行ファイルは次の2つです。
| 実行ファイル名 | 内容 |
|---|---|
| Meadow.exe | Meadow実行プログラム本体です。 |
| RunMW32.exe | Meadowを起動するためのランチャです。 |
コマンドラインオプションで-qを指定すると、.emacsとdefault.elを読み込みません。
| 起動ファイル | -qオプション | --no-init-file | --no-site-file | (setq inhibit-default-initi t) |
| site-start.el | × | |||
| .emacs | × | × | ||
| default.el | × | × | × |
Meadow 3.00には、dot.emacs.jaという設定ファイルのテンプレートが添付されています。そこで、これをもとに必要な設定を追記していきます。
Meadow/Emacsでは、環境設定は各ユーザのホームディレクトリにおく.emacsファイルに行います。.emacsでloadpathを記述しなくてもrequireでsite-lisp以下にあるディレクトリからEmacs lispファイルを探して取り込むことができます。
torutk$ cd /win32app/Meadow3 Meadow$ cp dot.emacs.ja ~/.emacs
次に、.emacsファイルを編集していきます。
;;;; -*- mode: lisp-interaction; syntax: elisp; coding: iso-2022-7bit -*- ;;;; ;;;; Copyright (C) 2001 The Meadow Team ;; Author: Koichiro Ohba <koichiro@meadowy.org> ;; Kyotaro HORIGUCHI <horiguti@meadowy.org> ;; Hideyuki SHIRAI <shirai@meadowy.org> ;; KOSEKI Yoshinori <kose@meadowy.org> ;; and The Meadow Team. ;; ;;; Mule-UCS の設定 ;; ;; ftp://ftp.m17n.org/pub/mule/Mule-UCS/ が オフィシャルサイトですが、 ;; ;; http://www.meadowy.org/~shirai/elisp/mule-ucs.tar.gz に既知のパッチ ;; ;; をすべて適用したものがおいてあります。 ;; ;; (set-language-environment) の前に設定します ;; (require 'jisx0213) ;;; 日本語環境設定 (set-language-environment "Japanese") |
|
;;; IMEの設定
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(setq-default mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
(add-hook 'mw32-ime-on-hook
(function (lambda () (set-cursor-height 2))))
(add-hook 'mw32-ime-off-hook
(function (lambda () (set-cursor-height 4))))
|
ここもテンプレート通りです。漢字変換入力にIMEを使う設定です。IMEをインライン使用することができます。 |
;; ;;; カーソルの設定 ;; ;; (set-cursor-type 'box) ; Meadow-1.10互換 (SKK等で色が変る設定) ;; ;; (set-cursor-type 'hairline-caret) ; 縦棒キャレット ;;; マウスカーソルを消す設定 (setq w32-hide-mouse-on-key t) (setq w32-hide-mouse-timeout 5000) |
ここもテンプレート通りです。 |
;;; font-lockの設定 (global-font-lock-mode t) |
ここもテンプレート通りです。 |
;;; TrueType フォント設定
(w32-add-font
"tt-font"
'((spec
((:char-spec ascii :height any)
strict
(w32-logfont "MS ゴシック" 6 12 400 0 nil nil nil 0 1 3 49))
((:char-spec ascii :height any :weight bold)
strict
(w32-logfont "MS ゴシック" 7 12 700 0 nil nil nil 0 1 3 49))
((:char-spec ascii :height any :slant italic)
strict
(w32-logfont "MS ゴシック" 7 12 400 0 t nil nil 0 1 3 49))
((:char-spec ascii :height any :weight bold :slant italic)
strict
(w32-logfont "MS ゴシック" 7 12 700 0 t nil nil 0 1 3 49))
((:char-spec japanese-jisx0208 :height any)
strict
(w32-logfont "MS ゴシック" 0 13 400 0 nil nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any :weight bold)
strict
(w32-logfont "MS ゴシック" 0 13 700 0 nil nil nil 128 1 3 49)
((spacing . -1)))
((:char-spec japanese-jisx0208 :height any :slant italic)
strict
(w32-logfont "MS ゴシック" 0 13 400 0 t nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any :weight bold :slant italic)
strict
(w32-logfont "MS ゴシック" 0 13 700 0 t nil nil 128 1 3 49)
((spacing . -1))))))
(set-face-attribute 'variable-pitch nil :font "tt-font")
|
TrueTypeフォント設定とBDFフォント設定はごっそり削除します。ローレベルAPIを使ってフォント設定しています。[注記1] |
;; 初期フレームの設定
(setq default-frame-alist
(append (list '(foreground-color . "lemon chiffon")
'(background-color . "dark slate gray")
'(mouse-color . "white")
'(cursor-color . "white")
'(font . "tt-font"); TrueType
'(width . 81)
'(height . 48)
'(top . 10)
'(left . 480))
default-frame-alist))
|
テンプレートを修正しています。色や幅、高さ、位置は好みで調整します。 フォントは上記で設定したものを選択します。 文字(前景色)は白に近い黄色(lemon chiffon)、背景色は暗い深緑(dark slate gray)に設定。指定できる色と名前の一覧は、M-x list-colors-displayを実行すると見れる。 (Editメニュー→Text Properties→Display Colorsでも可) 幅81文字、高さ48文字のウィンドウサイズとする。起動時に開くウィンドウの位置は画面左上から(480, 10)の位置とする。 |
;; ミニバッファ拡大抑止 (setq resize-mini-windows nil) |
ミニバッファが複数行になったりするのを抑止 |
;; バックアップファイルを特定のディレクトリに生成する
(setq make-backup-files t)
(setq backup-directory-alist
(cons (cons "\\.*$" (expand-file-name "~/backup"))
backup-directory-alist))
|
バックアップファイルをカレントではなく$HOME/backupの中に生成する |
;; ;;; shell の設定
;; ;;; Cygwin の bash を使う場合
(setq explicit-shell-file-name "bash")
(setq shell-file-name "sh")
(setq shell-command-switch "-c")
; Meadowから起動するコマンド検索パスにCygwinを追加
(setq exec-path (append (list "d:/win32app/cygwin/bin")
exec-path))
; Meadow環境で環境変数PATHにCygwinを追加
(setenv "PATH" (concat "d:/win32app/cygwin/bin;" (getenv "PATH")))
;;; argument-editing の設定
(require 'mw32script)
(mw32script-init)
|
shellにCygwinのbashを使用する場合の記述です。テンプレートのコメントを削除します。 コマンド検索パス・環境変数PATHにCygwinへのパスを設定します。 |
;;; gnuserv (require 'gnuserv) (gnuserv-start) (setq gnuserv-frame (selected-frame)) |
gnuservを使ってDrag&Drop対応 |
;;;動的略語補完の設定 ;; 大文字小文字を区別する (setq dabbrev-case-fold-search nil) |
動的略語展開で大文字小文字を区別します。 |
;; kill-ringに同じ内容の文字列を複数入れない (defadvice kill-new (before ys:no-kill-new-duplication activate) (setq kill-ring (delete (ad-get-arg 0) kill-ring))) |
|
(cd "~/") |
起動時のデフォルトディレクトリをホームに。 |
dot.emacs.jaのデフォルトのTrueTypeフォント設定では、アルファベットが"Courier New"となりますが、これは数字の'1'と小文字の'l'や、数字の'0'と大文字の'O'などが判別しずらいので、すべてMSゴシックにしています。
fontの設定方法は下記URLを参考にしています。
http://www4.kcn.ne.jp/%7Eboochang/emacs/meadow2-setup.html
http://www.boreas.dti.ne.jp/~miyoshi/Meadow2/index.html
Emacsでは、その機能を拡張するのに、lispで書かれたファイル(elispパッケージ)を使用します。拡張するためのlispファイルは、site-lispディレクトリ以下に起きます。
| D:\win32app\Meadow\site-lisp |
あるディレクトリ以下に置かれたLispパッケージをEmacsが読み込まないようにする設定は、そのディレクトリ内に'.nosearch'というファイルを作成します。
apelを以下のディレクトリに展開されます。
| D:\win32app\Meadow | site-lisp | apel |
| emu |
apel-10.6を入手します。
http://cvs.m17n.org/elisp/APEL/
作業用の空きディレクトリにおいて、tarでアーカイブを解凍します。
インストールには、Cygwinのmakeコマンドを使う方法と、apelが提供するインストール用Windowsバッチファイルを使う方法と2種類あります。
1.Cygwinのmakeコマンドを使う方法(UNIXと同じ方法)
デフォルトのMakefileがあるので、これを次のように修正します。
EMACS = d:/win32app/Meadow3/bin/Meadow.exe LISPDIR=d:/win32app/Meadow3/site-lisp VERSION_SPECIFIC_LISPDIR=$(LISPDIR)
そして、make installを実行します。
または、makeコマンド実行時にコマンドラインで上記を指定します。
$ make install EMACS=/win32app/Meadow3/bin/Meadow.exe LISPDIR=d:/win32app/Meadow3/site-lisp VERSION_SPECIFIC_LISPDIR=$(LISPDIR)
2.makeit.batを使う方法(Windows独自)
デフォルトのmakeit.batがあるので、これを次のように修正します。
set PREFIX=d:\win32app\Meadow3 set EMACS=%PREFIX%\bin\Meadow.exe set LISPDIR=%PREFIX%\site-lisp
まず、バイトコンパイルを実行します。この時点ではMeadowのディレクトリへのコピーは行われません。
D:\work\apel-10.6> makeit elc :
つぎに、インストールによってコピーされるファイルとコピー先の確認を実行します。
D:\work\apel-10.6> makeit what-where :
確認が良であれば、実際にインストールを実行します。
D:\work\apel-10.6> makeit install :
先ほど削除した2つのディレクトリに新しいapelがインストールされます。
skk-12系を入れてみます。Daredevilという開発コード名(?)が付けられているようです。
SKK Openlabのホームページから、Daredevil SKK を入手します。辿り方は、配布の"Main(Emacs
Lisp Programs, tutorials, etc.)"→"Source
archive directory"です。ddskk-yyyymmdd.tar.bz2と日付が付いたファイル名を入手します。なお、SKK用辞書ファイルも、同ページから、配布の"Dictionaries"→"Source
archive directory"を辿ると入手できます。
http://openlab.ring.gr.jp/skk/index-j.html
Cygwinをインストールしていれば、Cygwin上でmakeコマンドを使ってSKKのインストールが実行できます。作業用の空きディレクトリにおいて、tarでアーカイブを解凍します。
また、辞書ファイルをdicディレクトリの中にコピーしておきます(例えばSKK-JISYO.L)。
SKK-CFGを次のように修正します。標準で用意されているSKK-CFGの中に、Meadow 1.14用の設定例がコメントアウトされた形で記述されているので、これをベースにMeadow3.00用に編集します。
;;; Meadow 1.14 用の設定例:
(setq APEL_SPECIFIC_LISPDIR "d:/win32app/Meadow3/site-lisp/apel")
(setq LISPDIR "d:/win32app/Meadow3/site-lisp")
(setq VERSION_SPECIFIC_LISPDIR "d:/win32app/Meadow3/site-lisp")
(setq EMU_PREFIX "emu")
(setq SKK_DATADIR "d:/win32app/lib/skk")
(setq SKK_INFODIR "d:/win32app/Meadow3/info")
(setq SKK_LISPDIR "d:/win32app/Meadow3/site-lisp/skk")
その後、makeを実行します。
ddskk-20070211$ make EMACS=/win32app/Meadow/bin/Meadow.exe install
:
ddskk-20070211$
Cygwinがなければ、バッチファイルを使ったインストールを実行します。アーカイブの展開と辞書ファイルのコピーまでは上記と一緒です。
makeit.batを次のように修正します。
set PREFIX=d:\win32app\Meadow3 set EMACS=%PREFIX%\bin\Meadow.exe set LISPDIR=%PREFIX%\site-lisp rem set VERSION_SPECIFIC_LISPDIR=%PREFIX%\site-lisp set DEFAULT_MAKE_ARG=
まず、バイトコンパイルを実行します。この時点ではMeadowのディレクトリへのコピーは行われません。
D:\work\ddskk-20070211> makeit elc :
つぎに、インストールによってコピーされるファイルとコピー先の確認を実行します。
D:\work\ddskk-20070211> makeit what-where :
確認が良であれば、実際にインストールを実行します。
D:\work\ddskk-20070211> makeit install :
このインストールの際に、なぜかskk-setup.elとleim-list.elの2ファイルがコピーされません。そこで手作業でコピーします。
D:\work\ddskk-20070211> copy skk-setup.el d:\win32app\Meadow3\site-lisp\skk : D:\work\ddskk-20070211> copy leim-list.el d:\win32app\Meadow3\site-lisp\skk
Daredevil SKKでは、.emacsには何も記述しなくても設定が仕込まれます。
| キーアサイン | 内容 |
|---|---|
| C-x C-j | skk-mode |
| C-x j | skk-auto-fill-mode |
| C-x t | skk-tutorial |
カーソルの移動を論理行ではなく物理行単位にしたいときに使用します。
http://www.taiyaki.org/elisp/physical-line/
から、physical-line.elを入手し、D:\win32app\Meadow\site-lispの下の適当なところに置きます。site-lisp直下でもよいですが、細かいelispファイルが増えるのを嫌ってsite-lisp\utilの中に置いています。
;;;
;;; 物理行でスクロール
;;; (by physical-line.el)
(load "physical-line")
; テキストモードでのスクロールは物理行とする
(add-hook 'text-mode-hook
(lambda ()
(local-set-key "\C-a" 'beginning-of-line)
(local-set-key "\C-e" 'end-of-line)
(physical-line-mode-on)))
|
テキストモードのときは物理行単位に移動するように設定。 Emacs-22.0では、C-a, C-eの定義がそれぞれmove-beginning-of-line, move-end-of-lineに変更され、physical-mode-lineのC-a, C-eが駄目になったので、physical-line-modeを使用するときだけEmacs-21の旧定義にC-a, C-eをバインドし直して回避します。 |
普通にファイルをドラッグ&ドロップしたり、「送る」メニューにMeadowを追加して起動すると、新たなプロセスとしてMeadowが起動します。すると起動に時間がかかったりファイル編集の一貫性がずれたりと、いいことがありません。そこで、gnuservを使って普通のWindowsアプリケーションのようにドラッグ&ドロップや送るメニューで起動できるようにします。
http://shimooku.hp.infoseek.co.jp/
からgnuservを入手します。なかにある以下の実行ファイルを、環境変数PATHに設定されたディレクトリに置きます。(D:\win32app\Meadow\2.00b1\binをPATHに追加して、ここに置くと便利でしょう)
以下のelispファイルを、Meadowのロードパスの中に置きます。(例:D:\win32app\Meadow\site-lisp\utilの中)
;;; ;;; gnuserv ;;; (require 'gnuserv) (gnuserv-start) (setq gnuserv-frame (selected-frame)) |
新しいフレームは開かない |
| 環境変数名 | 設定内容 |
|---|---|
| GNUCLIENTW | -F |
| GNUDOITW | -F |
| RUNEMACS | RunMW32 |
※環境変数に設定したくない場合、レジストリに設定することで対応できます。
\HKEY_CURRENT_USER\Software\GNU\gnuserv
または
\HKEY_LOCAL_MACHINE\Software\GNU\gnuserv
ファイルエクスプローラ等で右クリックした時に現れるポップアップメニューの「送る」の中にMeadowを追加します。まず、「スタート」メニューを右クリックしてエクスプローラを起動します。Windows2000ならば、C:\Documents and Settings\<ユーザ名>\スタートメニューが開かれていると思います。<ユーザ名>\SendToの中に、先ほどコピーしたgnuclientw.exeへのショートカットを作って置きます。このときアイコンもMeadowのものに設定しておくと見栄えが良いでしょう。
gnuclientw.exeへのショートカットを作ります。