更新日 "2002年03月21日"

3. ELisp

ほとんど私は、Elisp のことはわかりません。

そんな私でもなんとか使っている (使いこなせているかどうかは別ですが) Elisp を紹介します。

このページでは、Meadow 1.1x で動いたものを記載しています。

また、NTEmacs には最初から入っているものもあります。


[INDEX] [戻る]
目次
  1. メイル関係
  2. HTML関係
  3. Perl関係
  4. CVS関係
  5. 日本語入力関係
  6. Tex関係
  7. ブラウザ関係
  8. その他

3.1.1 Mew

電子メールツールです。最近のバージョンでは、Perl script で書かれた IM を使わないので、Perl をインストールする必要がありません。

一部 C を使っているので、自分でコンパイルするには C コンパイラ (VC とか Cygwin など) が必要です。

C コンパイラを入れてない人は、Mew-Win32 にインストーラがありますので、 そちらを使えばいいでしょう。

また、IM を使わないバージョンは、現状では、冒険家バージョンですので、それなりの覚悟が必要です。

バージョンは忘れましたが、2001/02/11 現在では、βバージョンに移行しています。

3.1.1.1 必要なもの

http://www.Mew.org/ からもらってきます。

3.1.1.2 インストール

% make EMACS=Meadow95 ; make install
です。
デフォルトでは、/usr/local/share/emacs/site-lisp/mew にインストールされます。
インストール先を変えたい人は、Makefile の elispdir を書き変えましょう。

3.1.1.3 設定

日々、機能追加されてますので、ML を参照しましょう。

と思いましたが、それじゃ不親切なので、私の設定例を置いておきます。(1.95b バージョン用です。2.1rc でも 3.0.X でもいけます。)

全部 .emacs に書いてもいいのですが、.mew に分けられます。

起動に関するものは下記で、.emacs に設定します。

(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
(autoload 'mew-user-agent-compose "mew" nil t)
(global-set-key "\C-xm" 'mew)		;C-x m で Mew を起動します
それ以外は .mew に設定します。

と言っても、更新頻度が早いので、ML を購読することをお薦めします。

3.1.1.4 使い方

Mew に付属の info を読みましょう。

ただ、更新速度に info が追い付いていません。記載されていないもので、 重要な機能はスレッド表示です。
t t でスレッド表示をトグルします。
他は、コマンドの説明を調べてください。

3.1.1.5 おまけ

3.1.1.5.1 X-Mailer の表示変更

default では X-Mailer の表示が X-Mailer: Mew version 1.95b103 on Emacs 20.7 / Mule 4.1 (AOI)
となって、Meadow を使っているぞというアピールが足りないので、 Gnus や Wanderlust のように自己主張しましょう。
# でも、やたらと長くなるのもいやなので、括弧の中身は削ってます。
X-Mailer に Mew のバージョンを、User-Agent に Emacs 情報等をつけるようにしました。

Meadow 1.13b2 だと、こんな感じになります。

X-Mailer: Mew version 1.95b103
User-Agent: Emacs/20.7.1 Mule/4.1 (AOI) Meadow/1.13 Beta2 (UKIHASHI:61) OS/i386-*-windows95.1111

.mew に下記を記入してください。

(setq mew-x-mailer 
      (concat mew-version
	      "\nUser-Agent: Emacs/" emacs-version
	       (if (featurep 'mule)
		   (concat " Mule/" mule-version))
	       (if (featurep 'meadow)
		   (let ((mver (Meadow-version)))
		     (if (string-match "^Meadow-\\(.*\\)$" mver)
			 (concat " Meadow/"
				 (substring mver
					    (match-beginning 1)
					    (match-end 1))))))
	       (concat " OS/" system-configuration)))

User-Agent の括弧の中身を削りたい人は、こちらをどうぞ。

(setq mew-x-mailer
      (concat mew-version
	      "\nUser-Agent: Emacs/" emacs-version
	      (if (featurep 'mule)
		  (if (string-match "\\([0-9].*\\)[ \t\n](" mule-version)
		      (concat " Mule/"
			      (substring mule-version
					 (match-beginning 1)
					 (match-end 1)))))
	      (if (featurep 'meadow)
		  (let ((mver (Meadow-version)))
		    (if (string-match "^Meadow-\\(.*\\)[ \t\n](" mver)
			(concat " Meadow/"
				(substring mver
					   (match-beginning 1)
					   (match-end 1))))))
	       (concat " OS/" system-configuration)))

Mule/4.1 (葵) Meadow/1.13 Beta2 (浮橋:61) のように code-name を漢字にする 場合は、
拙作のmm-version.el を使って、
.mew に下記を記入してください。

(setq mew-x-mailer 
      (concat mew-version
	      "\nUser-Agent: Emacs/" emacs-version
	      (if (featurep 'mule)
		  (concat " Mule/" mule-version))
	      (if (featurep 'meadow)
		  (let ((mver meadow-version))
		    (if (string-match "^Meadow-\\(.*\\)$" mver)
			(concat " Meadow/"
				(substring mver
					   (match-beginning 1)
					   (match-end 1))))))
	      (concat " OS/" system-configuration)))

3.1.1.5.2 summary の表示変更

ML から配送されてくるメールの多くは、Subject に [**** 12345] と表示されます。 それはそれで、分かりやすいのですが、メールを振り分けてしまうと、 いちいち表示されるのは、ちょっとうざったいです。

ということで、振り分けた先のディレクトリでは、 Subject の [**** 12345] を表示しないようにしてみました。 メールのデータ自体は、いじりませんのでご安心を。

ML によっては、 [**** 12345]こんにちは のように、 [**** 12345]こんにちは の間にスペースが入らないものもあるので、それにも対応するように しました。

.mew に下記を設定します。message モードで、s all して、表示を 作り直します。

;; 扱うヘッダを指定。Folder Filename この順で必須
(setq mew-scan-fields
  '("Folder:" "Filename:" "Subject:" "Date:" "From:" "To:"
    "Content-Type:" "Message-Id:" "X-Mew-UIDL:"
    "In-Reply-To:" "References:"
    "X-Ml-Name:" "X-Mail-Count:" "X-ML-COUNT:" "X-Seqno:"
    ))
;; 対応する alias を設定
(setq mew-scan-fields-alias
  '("FLD" "NUM" "SUBJ" "DATE" "FROM" "TO" "CT" "ID" "UIDL" ; 開発版の 3.0.54 以降は UIDL → UID
 "IRT" "REF" "MLNAME" "MAILCOUNT" "MLCOUNT" "SEQNO"))


(defun mew-scan-form-mailcount ()
  (let ((mailcount (MEW-MAILCOUNT)))
    mailcount))

(defun mew-scan-form-mlcount ()
  (let ((mlcount (MEW-MLCOUNT)))
    mlcount))

(defun mew-scan-form-seqno ()
  (let ((seqno (MEW-SEQNO)))
    seqno))

(defun mew-scan-form-mlname ()
  (let ((mlname (MEW-MLNAME)))
    mlname))

(defun mew-scan-form-mlsubj ()
  "A function to return Subject:. Unnecessary white spaces are removed."
  ;; The beginning white spaces have been removed in mew-scan-header
  ;; (mew-keyval).
  (let ((mlsubj (MEW-SUBJ)))
    (if (string= mlsubj "") (setq mlsubj mew-error-no-subject))
    (if (string-match "\\(\\[.*\\][ \t\n]*\\)\\(.*\\)$" 
		      (mew-replace-white-space mlsubj))
	(substring (mew-replace-white-space mlsubj)
		   (match-beginning 2) (match-end 2))
      (mew-replace-white-space mlsubj))))

;; ディレクトリ名の指定方法を正規表現にする
(setq mew-scan-form-list-list-type 'regex);or 'recursive 'string.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 最初に type が必須
;; default は (type (5 date) " " (14 from) " " (0 subj))
;; 配送されるメールのヘッダをから、ML 名、Count 数を調べて、適切に
;; 指定してください。
;; 書式は (表示する行数 表示するヘッダ)
;; 
;; X-Ml-Name:     → mlname
;; X-Mail-Count:  → mailcount
;; X-ML-COUNT:    → mlcount
;; X-Seqno:       → seqno
;; に対応しています。
;; mlsubj が [**** 12345] を削除した subjectです。

(setq mew-scan-form-list
      '(
	(("[+/]mail[+/]meadow" "[+/]mail[+/]semi-gnus")
	 ( type (5 date) " " (14 from) " " (5 mlcount) " " (0 subj)))
	(("[+/]mail[+/]mule")
	 ( type (5 date) " " (14 from) " " (5 seqno) " " (0 subj)))
	(("[+/]mail[+/]mew")
	 ( type (5 date) " " (14 from) " " (5 mailcount) " " (0 mlsubj)))
	(("[+/]mail[+/]script-cgi")
	 ( type (5 date) " " (14 from) " " (5 mlcount) " " (0 mlsubj)))
        (t                                  ;; 残りは default 値に
	 ( type (5 date) " " (14 from) " " (0 subj)))
	))

3.1.2 X-Face

メールの From ヘッダの位置に xbm 画像を表示/挿入します。百聞は一見にしかずなので、 これ を見てください。

Emacs21 でも何とか表示できます。
ただ、その場合は、BITMAP-MULE 8.4 以降を使わないとだめなようです。

3.1.2.1 必要なもの

  1. ftp://ftp.mew.org/pub/Mew/Win32/tool/ CMPF14W0.ZIP
  2. ftp://ftp.jpl.org/pub/elisp/bitmap/ bitmap-mule-8.5.tar.gz
  3. ftp://ftp.jpl.org/pub/elisp/ x-face-1.3.6.20.tar.gz

3.1.2.2 インストール

3.1.2.2.1 COMPFACE

解凍したものをパスの通っているところにコピーするだけ

3.1.2.2.2 bitmap-mule

$ make EMACS=Meadow95
$ make install EMACS=Meadow95
です。

3.1.2.2.3 x-face

x-face.el を (バイトコンパイルすれば、それも) load-path の通ったディレクトリにコピーするだけです。

3.1.2.3 設定

Mew 用の設定で、C-c C-f とすると ~/x-faces/myface.xbm が挿入されるようにしてます。

下記を .emacs または .mew に記述します。

.mew に記述します。.emacs に書くと、キーマップが有効になりません。

BITMAP-MULE 8.4 から x-face-decode-message-header に変わっています。
注意書が NEWS にありますので、読みましょう。

(setq mew-use-highlight-x-face t)
(setq mew-use-highlight-x-face-function
	(function
	 (lambda (beg end)
	 (x-face-decode-message-header beg end))))
;; BITMAP-MULE 8.3 なら下記
;; 	 (x-face-mule-x-face-decode-message-header beg end))))
(require 'x-face-mule)

(autoload 'x-face-encode "x-face"
  "Generate X-Face string(s) from xbm file." t)
(autoload 'x-face-insert "x-face"
  "Insert X-Face fields." t)
(autoload 'x-face-save "x-face"
  "Save X-Face fields to files." t)
(autoload 'x-face-view "x-face"
  "View X-Face fields." t)
(autoload 'x-face-ascii-view "x-face"
  "View X-Face fields as ascii pictures." t)

; イメージファイルを通常置いておくディレクトリの指定です。
(setq x-face-image-file-directory "~/x-faces")

; イメージファイルをセーブするためのディレクトリ名の指定です。
(setq x-face-image-file-directory-for-save "~/x-faces")

(setq x-face-default-xbm-file "myface.xbm")
(add-hook 'mew-draft-mode-hook
	  (function (lambda ()
	      (define-key mew-draft-mode-map "\C-c\C-f" 'x-face-insert))))
(setq x-face-compressor 'nil)

色の設定は、.emacsに設定します。

(custom-set-faces
 '(x-face-mule-highlight-x-face-face ((((class color) (background light))
  (:foreground "snow" :background "black")))))

3.1.2.4 xbm ファイルの作成

Windows 環境で、xbm ファイルを作るのはちと大変です。ということで、私は paint tool で bmp を作っておいて、 変換ツール で変換してます。

X-Face 用の画像サイズは 48x48 dot です。

3.1.2.5 使い方

Mew でメールを作成する時に(draft mode)、ヘッダ部分以外にカーソルを置いて、C-c C-f とすると、ヘッダに myface.xbm が挿入されます。

キー割当ては、当初 C-c C-x でしたが、xcite と重なるので、C-c C-f にしました。


3.1.3 select-x-face

x-face と連携して、複数の xbm ファイルから添付するものを選択します。

3.1.3.1 必要なもの

http://www.jpl.org/elips/ select-xface-0.15.tar.gz

3.1.3.2 インストール

select-xface.el を (バイトコンパイルすれば、それも) load-path の通ったディレクトリにコピーするだけです。

3.1.3.3 設定例

下記を .emacs または .mew に記述します。

.mew に記述します。.emacs に書くと、キーマップが有効になりません。

~/x-faces に xbm ファイルを置くようにしています。

(require 'select-xface)
(add-hook 'mew-draft-mode-hook
  (lambda ()
	    (define-key (current-local-map) "\C-c\C-s" 
	      'select-xface)))
(setq select-xface-directory "~/x-faces")
(setq x-face-add-x-face-version-header "x-face-1.3.6.17");値は何でもいいですが、
                                                         ;設定しないとエラーが出ます。

3.1.3.4 使い方

Mew でメールを作成する時に(draft mode)、ヘッダ部分以外にカーソルを置いて、C-c C-s とすると、挿入候補が表示されます。

そこで、n または p で選択して、RET で挿入です。


3.1.4 c-sig

メールの署名を選択して挿入するツールです。

3.1.4.1 必要なもの

http://www.threeweb.ad.jp/~kshibata/c-sig/ からもらってきます。

3.1.4.2 インストール

c-sig.el を (バイトコンパイルしたならそれも) load-path の通ったところにコピーするだけです。

3.1.4.3 設定例

C-c C-i に挿入をキーバインドしてます。

バックアップファイル、送信先と署名の関連を作成しないようにしてます。

(autoload 'add-signature "c-sig" "c-sig" t)
(autoload 'delete-signature "c-sig" "c-sig" t)
(autoload 'insert-signature-eref "c-sig" "c-sig" t)
(autoload 'insert-signature-automatically "c-sig" "c-sig" t)
(autoload 'insert-signature-randomly "c-sig" "c-sig" t)
(add-hook 'mew-draft-mode-hook
	  (function (lambda ()
		      (define-key mew-draft-mode-map "\C-c\C-i" 'insert-signature-eref))))
(setq sig-save-to-sig-name-alist nil)
(setq sig-make-backup-files nil)

3.1.4.4 使い方

詳しくは付属のドキュメントを読んで下さい。

3.1.4.4.1 署名の登録

  1. M-x add-signature
  2. 署名を入力
  3. C-c C-c
  4. 署名の名前を入力

3.1.4.4.2 署名の挿入

  1. C-c C-i
  2. n または p で署名の選択
  3. RET で挿入

3.1.5 xcite

メールを返信する時に、引用タグをカスタマイズするツールです。 メールツールとは独立して使えるようですが、他の使い方を私は知りません。

必要なもの

http://www.gentei.org/~yuuji/software/ からもらってきます。

3.1.5.2 インストール

xcite.el を (バイトコンパイルしたならそれも) load-path の通ったところにコピーするだけです。

3.1.5.3 設定例

xcite.el に書かれている設定では、最新の Mew ではうまく動かないので、(hookが原因?)以下のようにします。

(autoload 'xcite "xcite" "Exciting cite" t)
(autoload 'xcite-yank-cur-msg "xcite" "Exciting cite" t)
(global-set-key "\C-c\C-x" 'xcite)
(global-set-key "\C-c\C-y" 'xcite-yank-cur-msg)

(add-hook 'mew-draft-mode-hook
	  (function (lambda ()
		      (define-key mew-draft-mode-map "\C-c\C-y"
			'xcite-yank-cur-msg))))
(add-hook 'mew-init-hook
	  (function (lambda ()
		      (define-key mew-summary-mode-map "A"
			'(lambda () (interactive)
			   (mew-summary-reply)
			   (xcite-yank-cur-msg))))))

3.1.5.4 使い方

xcite.el のコメントを見て下さい。

3.1.5.5 私なりの修正

3.1.5.5.1 差分

default では、メーリングリスト名や記事番号が引用するヘッダに含まれていません。 と言うことで、私なりの変更を加えてみました。差分は以下の通りですので、参考にしてください。

*** xcite.el.orig	Sun Feb 17 14:20:16 2002
--- xcite.el	Sun Feb 17 14:09:40 2002
***************
*** 392,397 ****
--- 392,399 ----
  (defvar xcite:inet-msgid	"^Message-Id: \\(<.*>\\)")
  (defvar xcite:inet-subject "^Subject: \\(.+\\)$")
  (defvar xcite:inet-ng "^Newsgroups: \\(.+\\)$")
+ (defvar xcite:inet-mlname "^X-ML-NAME: \\(.+\\)$");;add by te-kun
+ (defvar xcite:inet-mlcount "^X-Ma?i?L-COUNT: \\(.+\\)$");;add by te-kun
  
  (defvar xcite:author-regexp
    (concat
***************
*** 426,432 ****
  その関数中では id, author, date, time, year, month, day, hour, minute, ampm,
  tag という変数を利用することができる。ただし、Internet での Mail では
  date, id(e-mail アドレス), handle(実名フィールド), msgid(Message-ID),
! subject, tag(引用タグ), ng(NetNewsの場合のNewsgroups)が利用可能.")
  
  (defvar xcite:default-user-prefix-alist
    '(("yuuji@ae.keio.ac.jp" "ゆ" "広")
--- 428,435 ----
  その関数中では id, author, date, time, year, month, day, hour, minute, ampm,
  tag という変数を利用することができる。ただし、Internet での Mail では
  date, id(e-mail アドレス), handle(実名フィールド), msgid(Message-ID),
! subject, tag(引用タグ), ng(NetNewsの場合のNewsgroups)が利用可能.
! それと mlname(メーリングリスト名),mlcount(メーリングリストの記事番号)")
  
  (defvar xcite:default-user-prefix-alist
    '(("yuuji@ae.keio.ac.jp" "ゆ" "広")
***************
*** 703,709 ****
    (let ((sw (selected-window)) (b (make-marker)) (e (make-marker))
  	(cb (current-buffer)) (p (point))
  	mesg n id handle date time year month day hour minute ampm msgid tag
! 	subject ng peoh x-cite-me zmacs-regions
  	(tmpbuf " *xcite tmp*"))
      (save-excursion
        (cond
--- 706,712 ----
    (let ((sw (selected-window)) (b (make-marker)) (e (make-marker))
  	(cb (current-buffer)) (p (point))
  	mesg n id handle date time year month day hour minute ampm msgid tag
!  	subject ng peoh x-cite-me zmacs-regions mlname mlcount
  	(tmpbuf " *xcite tmp*"))
      (save-excursion
        (cond
***************
*** 774,779 ****
--- 777,788 ----
  	  (goto-char peoh)
  	  (if (re-search-backward xcite:inet-ng nil 1)
  	      (setq ng (xcite-match-string 1)))
+  	  (goto-char peoh)
+  	  (if (re-search-backward xcite:inet-mlname nil 1);add by te-kun
+  	      (setq mlname (xcite-match-string 1)))
+  	  (goto-char peoh)
+  	  (if (re-search-backward xcite:inet-mlcount nil 1);add by te-kun
+  	      (setq mlcount (xcite-match-string 1)))
  	  (goto-char peoh)
  	  (if (re-search-backward xcite:inet-subject nil t)
  	      (setq subject (xcite-match-string 1))))

3.1.5.3 設定の後に以下を追加します。

(setq xcite:insert-header-function 'my-xcite-header)
(defun my-xcite-header ()
  (if mlname
      (format ">>>>>%s%sさん曰く\n>>>>>%s\n>>>>>at %s\n>>>>>%s\n"
	      id  (if handle 
		      (concat "(" handle ")" " " "==" "'" tag "'")
		      (concat " " "==" "'" tag "'"))
	      subject date
	      (concat "[" mlname ":" " " mlcount "]"))
      (format ">>>>>%s%sさん曰く\n>>>>>%s\n>>>>>at %s\n"
	      id  (if handle 
		      (concat "(" handle ")" " " "==" "'" tag "'")
		      (concat " " "==" "'" tag "'"))
	      subject date)))
私はメーリングリスト名と記事番号を From: foo <foo@foo.org> -->"フー"さん曰く Subject: Re: xcite.el Date: Wed, 06 Feb 2002 22:13:35 +0900 (JST) Message-Id: <200200101.11111.222222.foo@foo.org> ML-Name: [meadow-users-jp: xxxx] のように入れたいので、下記のようにしています。
(setq xcite:insert-header-function 'my-xcite-header)
(defun my-xcite-header ()
  (if mlname
      (format "From: %sさん曰く\nSubject: %s\nDate: %s\nMessage-Id: %s\nML-Name: %s\n"
	      (if handle 
		  (concat handle " " "<" id ">" " -->" "\"" tag "\"")
		(concat id " -->" "\"" tag "\""))
	      subject date msgid
	      (concat "[" mlname ":" " " mlcount "]"))
      (format "From: %sさん曰く\nSubject: %s\nDate: %s\nMessage-Id: %s\n"
	    (if handle 
		(concat handle " " "<" id ">" " -->" "\"" tag "\"")
	      (concat id " -->" "\"" tag "\""))
	    subject date msgid)))

3.1.6 MHC

メールツールと連動したスケジュール管理ツール (MHC 単体では動きません)

3.1.6.1 必要なもの

http://www.quickhack.net/mhc/ からもらってきます

3.1.6.2 インストール

3.1.6.2.1 version 0.25 の場合

  1. 展開してできる emacs ディレクトリの Makefile.w32 を 編集します。
    Emacs = Meadow95
    MEW_DIR = に mew をインストールしたディレクトリを指定
    MEW_OPT = の中の \を削除する
  2. make -f Makefile.32 でコンパイル
  3. 上でできた *.el と *.elc を load-path の通ったところにコピー

3.1.6.2.2 開発版の最新の場合

  1. emacs ディレクトリの Makefile を編集します。
    Emacs = Meadow95
    MEW_OPTS = --with-mew コメントをはずす
    INST_OPTS = --with-lispdir=/usr/local/share/emacs/site-lisp/mhc コメントをはずす
  2. make でコンパイル
  3. make install でインストール

3.1.6.3 設定例

3.1.6.3.1 version 0.25 の場合

  1. .emacs に下記を追加
    (setq mhc-mailer-package 'mew)
    (autoload 'mhc-mode "mhc" nil t)
    (add-hook 'mew-summary-mode-hook 'mhc-mode)
    (add-hook 'mew-virtual-mode-hook 'mhc-mode)
    (setq mhc-base-folder "+schedule")
    
  2. ディレクトリ ~/Mail/schedule を作成
  3. sample/DOT.schedule.sample.jp を ~/.schedule にコピー

3.1.6.3.2 開発版の最新の場合

  1. .emacs に下記を追加
    (autoload 'mhc-mew-setup "mhc-mew")
    (add-hook 'mew-init-hook 'mhc-mew-setup)
    (setq mhc-base-folder "+schedule")
    
  2. ディレクトリ ~/Mail/schedule を作成
  3. sample/DOT.schedule.sample.jp を ~/.schedule にコピー

3.1.6.4 使い方

emacs/00usage.jis を見てください

3.2.1 yahtml

HTML 文書の編集サポートモードです。

3.2.1.1 必要なもの

http://www.yatex.org/ からもらってきます。

3.2.1.2 インストール

yahtml.el, yatexlib.el, yatexprc.el を (バイトコンパイルしたならそれも) load-path の通ったディレクトリにコピーします。
ところが、fiber.exe 経由でブラウザを起動しようとすると、ショートカットエラーなんて出てしまうので、下記のようにエラー回避してます。
yatex.1.69.2 に同包されている yahtml.el 用ですが、他でも patch はあたると思います。
*** yahtml.el.orig	Mon Feb 18 23:38:02 2002
--- yahtml.el	Mon Feb 18 23:38:26 2002
***************
*** 2302,2308 ****
      (if (string-match "^[A-Za-z]:/" file)
  	(progn
  	  ;; (aset file 1 ?|) ;これは要らないらしい…
! 	  (setq file (concat "///" file))))
      (while list
        (if (string-match (concat "^" (regexp-quote (car (car list)))) file)
  	  (setq url (cdr (car list))
--- 2302,2309 ----
      (if (string-match "^[A-Za-z]:/" file)
  	(progn
  	  ;; (aset file 1 ?|) ;これは要らないらしい…
! 	  (setq file (concat "//" file)))) ;fixed by te-kun
! ;	  (setq file (concat "///" file))))
      (while list
        (if (string-match (concat "^" (regexp-quote (car (car list)))) file)
  	  (setq url (cdr (car list))
cygwin-1.3.9-1 にしてから上記の対応をしないといけなくなってしまいました。

3.2.1.3 設定例

.emacsに下記を記入してください。

yatex1.69 から font-lock に対応しています。

(setq auto-mode-alist
      (cons '("\\.html?$" . yahtml-mode) auto-mode-alist))
(autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t)
(setq yahtml-www-browser "fiber");;;fiber経由でブラウザの立ち上げ
(setq yahtml-image-viewer "fiber")
(setq yahtml-directory-index "index.html")
(setq yahtml-kanji-code 1);;;1=sjis 2=jis 3=euc
(setq yahtml-prefer-upcases t);; HTML のタグを大文字にする
(setq yahtml-prefer-upcase-attributes t);; 属性指定子を大文字にする

;; yahtml モードの起動が遅い場合に次の設定を有効にする
;; アクセス制限ファイル .htaccess を参照しないようにする
;;(setq yahtml-server-type nil)


;; yahtml-mode 初期化時の設定
(add-hook 'yahtml-mode-hook
	  (function
	   (lambda ()
	     ;; outline-minor-mode の設定(使用しない場合は不要)
	     (outline-minor-mode t)	; outline-minor-mode を起動
	     ;; 見出しの正規表現
	     (make-local-variable 'outline-regexp)
	     (setq outline-regexp "^.*<[Hh][1-6]\\>") 
	     ;; 見出し終わりの正規表現
	     (make-local-variable 'outline-heading-end-regexp)
	     (setq outline-heading-end-regexp "")
	     ;; 見出しレベルの計算式
	     (make-local-variable 'outline-level)
	     (setq outline-level
		   (function (lambda () (char-after (1- (match-end 0)))))))))

;; yahtml ロード時の設定
(add-hook 'yahtml-load-hook
	  (function
	   (lambda ()
	     ;; メニュー選択時に IME をオフにする
	     (wrap-function-to-control-ime 'yahtml-browse-menu t nil))))

3.2.1.4 使い方

yahtml.el を読みましょう。

3.2.1.5 付属 (.emacs に記入します)

新規 HTML 作成時のテンプレート
RFC822 形式の日付を挿入

3.3.1 cperl-mode

Meadow についてくる perl-mode はちょっと古いので、この際 cperl-mode に換えましょう。

3.3.1.1 ダウンロード

ftp://ftp.math.ohio-state.edu/pub/users/ilya/perl/cperl-mode/ からもらってきます。

3.3.1.2 インストール

cperl-mode.el を (バイトコンパイルしたならそれも) load-path の通ったディレクトリにコピーするだけです。

3.3.1.3 設定

.emacs に下記を記入します。

(autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t)
(setq cperl-indent-level 4)
(setq cperl-continued-statement-offset 4)
(setq cperl-comment-column 40)
(setq cperl-hairy t)
(setq interpreter-mode-alist (append interpreter-mode-alist
				     '(("miniperl" . cperl-mode))))
(define-key global-map [S-down-mouse-2] 'imenu)

3.3.2 perlplus.el

Perl の補完入力をしてくれます。

3.3.2.1 必要なもの

http://www.gentei.org/~yuuji/software/ からもらってきます。

3.3.2.2 インストール

perlplus.el を (バイトコンパイルしたならそれも) load-path の通ったディレクトリにコピーするだけです。

3.3.2.3 設定

.emacs に下記を記入します。

(add-hook 'cperl-mode-hook
	  '(lambda ()
	     (require 'perlplus)
	     (define-key cperl-mode-map "\C-xt" 'perlplus-complete-symbol)
	     (perlplus-setup))
	  )

3.3.2.4 使い方

C-x t で補完します。

3.4.1 pcl-cvs

CVS によるバージョン管理を容易にしてくれます。CVS 自体は Cygwin 等を使います。

おっと、CVS って何?っていわれるとつらいですが、簡単に言うと、開発のためのバージョン管理です。テキストファイルの変更内容を差分で保存して、いつでも過去の内容を復元できるほか、複数による開発をサポートするものです。多くのプログラムが CVS により開発されています。一度使い始めると、手放せなくなりますし、助かること必至です。

3.4.1.1 必要なもの

  1. ftp://rum.cs.yale.edu/pub/monnier/pcl-cvs/elib-1.0.tar.gz
    これがないと最新の pcl-cvs 2.9.9 が動きません。
  2. ftp://rum.cs.yale.edu/pub/monnier/pcl-cvs/ pcl-cvs-2.9.9.tar.gz
    pcl-cvs 本体です。
  3. ftp://rum.cs.yale.edu/pub/monnier/diff-mode/diff-mode-1.8.el
    差分を管理しやすくします。なくても pcl-cvs 自体は使えますが、断然入れるべきでしょう。

3.4.1.2 インストール

3.4.1.2.1 elib-1.0

Makefile を編集して、make; make install です。

編集箇所は、
locallisppath = site-lisp のあるディレクトリ
EMACS = Meadow95
なのですが、info でエラーになるので、info の部分を無効にします。 下記に site-lisp のあるディレクトリが c:/Meadow/1.13b1/site-lisp として Makefile のパッチを記します。
--- Makefile.orig	Mon Dec 11 09:50:56 1995
+++ Makefile	Tue Jan 16 22:36:32 2001
@@ -24,7 +24,7 @@
 
 prefix = /usr/local
 datadir = $(prefix)/share
-locallisppath = $(datadir)/emacs/site-lisp
+locallisppath = /Meadow/1.13b1/site-lisp
 # This will fail if locallisppath is anything but a single directory.
 # That is all right, since that is the default behaviour of Emacs; those
 # that know how to change it, should know how to change this file.  And
@@ -33,7 +33,7 @@
 ELIBDIR = $(locallisppath)/elib
 infodir = $(prefix)/info
 
-EMACS = emacs
+EMACS = Meadow95
 MAKEINFO = makeinfo
 TEXI2DVI = texi2dvi
 SHELL = /bin/sh
@@ -53,12 +53,14 @@
 elib-node.elc bintree.elc avltree.elc string.elc read.elc cookie.elc dll.elc \
 dll-debug.elc
 
-all: elcfiles elib-startup.el info
+all: elcfiles elib-startup.el
+#all: elcfiles elib-startup.el info
 
 elib-startup.el: startup-template.el Makefile
 	sed s,ELIB_PATH,\"$(ELIBDIR)\", < startup-template.el > elib-startup.el
 
-install: all installdirs install-info
+install: all installdirs
+#install: all installdirs install-info
 	$(INSTALL_DATA) $(ELFILES) $(ELIBDIR)
 	$(INSTALL_DATA) $(ELCFILES) $(ELIBDIR)
 	@echo Please merge elib-startup.el into $(locallisppath)/default.el

3.4.1.2.2 pcl-cvs

Makefile を編集して、make; make install です。

編集箇所は、
EMACS = Meadow95
なのですが、info でエラーになるので、info の部分を無効にします。 下記にパッチを記します。
--- Makefile.orig	Mon Mar  6 06:32:20 2000
+++ makefile	Tue Jan 16 15:26:20 2001
@@ -40,13 +40,13 @@
 # the directory where you installed the elib .elc files.
 # This is only needed if your site-start.el (or default.el) does not
 # set up elib correctly.
-elibdir = $(lispdir)/elib
+# elibdir = $(lispdir)/elib
 
 # the directory where you install the info doc
 infodir = $(prefix)/info
 docdir = $(prefix)/doc
 
-EMACS	= emacs
+EMACS	= Meadow95
 MAKEINFO= makeinfo
 TEXI2DVI= texi2dvi
 SHELL	= /bin/sh
@@ -130,7 +130,8 @@
 	$(MKDIR) $(docdir)
 	$(CP) *.dvi $(docdir)/
 
-install: install_elc install_info install_startup # install_el
+install: install_elc install_startup # install_el
+#install: install_elc install_info install_startup # install_el
 
 clean:
 	$(RM) *~ core .\#* $(TEXEXTS)

3.4.1.2.3 diff-mode

diff-mode-1.8.el を diff-mode.el にリネームして (バイトコンパイルしたならそれも) load-path の通ったディレクトリにコピーするだけです。

3.4.1.3 設定

3.4.1.3.1 基本設定

.emacs に下記を記入します。

;; NTEmacs(Emacs21) では、下記の 4行はいらない。
(load-library "pcl-cvs-startup")
(add-hook 'cvs-mode-hook
          (lambda ()
            (collection-set-goal-column cvs-buffer-name 38)))

;; 文字コードを統一しないと、悲惨な目にあいます。
(modify-coding-system-alist 'process "cvs" '(undecided . sjis))

;; diff-mode-1.8.el
(autoload 'diff-mode "diff-mode" "Diff major mode" t)
(add-to-list 'auto-mode-alist '("\\.\\(diffs?\\|patch\\|rej\\)\\'" . diff-mode))

;; diff 形式の設定
(setq diff-switches "-u"); or "-c"

3.4.1.3.2 文字コードの設定

SJIS の他に JIS や EUC を使う人は .emacs の (set-language-environment "Japanese") のあとに、

(setq default-process-coding-system
      '(undecided . japanese-shift-jis-dos))
を書いておかないと文字が化けます。

3.4.1.4 NTEmacs(Emacs21)

NTEmacs(Emacs21) には、pcvs として pcl-cvs が始めから入っていますので、
設定をするだけで使えます。


3.5.1 SKK

SKK とは、日本語入力プログラムです。Meadow を使う場合、MS-IME が使えるので、
無理に SKK を使うことはないと思いますが、サイズも小さいし、変換も早いので、
どんどん Emacs に染まる私です。
私は、MS-IME の変換は気に入らないので、AI-SOFT の WXG を常用しており、
MS-IME は、真っ先に消しちゃいましたが。

まあ冗談はさておき、SKK では括弧などの対になる文字列の一括入力ができるので、便利です。
つまり、"「(,{," を入力すると、自動的に対応する "})」"が入力されます。
SKK を知るまで、自分でマイナーモードを作ってましたが、SKK を使い始めてから、
それは、お蔵入りになってしまいました。

3.5.1.1 必要なもの

  1. http://openlab.ring.gr.jp/skk/maintrunk/ ddskknum.tar.*
    プログラム本体です。
  2. http://openlab.ring.gr.jp/skk/dic/ SKK-JISYO.*
    辞書ファイルです。特別な理由がなければ、SKK-JISYO.L を使えばいいと思います。
注意 SKK を使うには、 APEL 10.2 以降がインストールされている必要があります。

3.5.1.2 インストール

  1. ddskknum.tar.* を展開してできる dic ディレクトリに、 SKK-JISO.* を解凍した辞書ファイルを置きます。
  2. $ make EMACS=Meadow95
  3. $ make install EMACS=Meadow95

3.5.1.3 設定

.emacs に、
(require 'skk-setup)
を書けばいいだけですが、
;; 辞書ファイル、チュートリアルを明示的に指定
(setq skk-large-jisyo "c:/usr/local/share/skk/dic/SKK-JISYO.L")
(setq skk-tut-file "c:/usr/local/share/skk/SKK.tut")

;; 対になる文字列の一括入力
(setq skk-auto-insert-paren t)

;; ▼モードで RET を入力したときに確定のみ行い、改行はしません
(setq skk-egg-like-newline t)
です。

3.5.1.4 使い方

チュートリアル (M-x skk-tutorial) で、何度も練習しましょう。
案外、慣れるものです。

3.5.1.5 おまけ

SKK に染まってくると、Windows でも使いたくなるものです。
やはり、先人は素晴しくて、skkime98 なるものがあります。

http://member.nifty.ne.jp/Tatari_SAKAMOTO/skkime.htm

Windows98 用ですが、何故か、Windows95 でも動いています。


3.5.2 SDIC

辞書(主に英和・和英)閲覧モードです。結構、便利です。

3.5.2.1 必要なもの

  1. http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/sdic/ sdic-2.1.2.tar.gz
    プログラム本体です。
  2. ftp://pine.kuee.kyoto-u.ac.jp/pub/tsuchiya/sdic/data/gene95.tar.gz
    英和辞書です。
  3. ftp://pine.kuee.kyoto-u.ac.jp/pub/tsuchiya/sdic/data/edict.gz
    和英辞書です。圧縮形式のようですが、圧縮されていません。

辞書には、他に英辞郎などがありますが、英辞郎はサイズが大きいので、 使っていません。
巨大なファイルの検索用にSUFARY があり、Emacs 用に sufary.el なるものを作りました。

尚、英辞郎を取ってくるには、Nifty のアカウントが必要です。

3.5.2.2 インストール

Meadow 用のインストール手順が INSTALL に書いてありますので、それを参照してください。

3.5.2.3 設定

sample.emacs にある通り、
(autoload 'sdic-describe-word "sdic" "英単語の意味を調べる" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "カーソルの位置の英単語の意味を調べる" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)
とすればいいだけですが、
私の Meadow の設定では、改行コードが CR+LF なので、SDIC バッファに ^M がついてしまいます。
そこで、下記のようにしています。
(setq sdic-default-coding-system 'euc-japan-dos)

3.5.2.4 使い方

info が充実していますので、それを見て下さい。


3.6.1 YaTeX

LaTeX(Tex) の編集サポートモードです。

LaTeX(TeX) とは組版のことで、別途インストールする必要があります。
Windows 用には、pLaTeXεがあり、 http://www.fsci.fuk.kindai.ac.jp/~kakuto/win32-ptex/ から入手できます。
これはファイルサイズが大きいので、
書籍の 海上 忍 黒川弘章 著 『これだけでできる LaTeX 実践活用ガイド』 技術評論社 2000年
に 添付されている CD-ROM を使う方がいいでしょう。

また、pLaTeXεについては、 http://www.nara-edu.ac.jp/~asait/ latex/tex.htm を参考にして下さい。

使用例は下記の通りです。

532x269(9884bytes)

394x61(1138bytes)

ちなみに、上の問題は、高校1年生用に作ったもので、3分もあれば解けるのですが、
某有名大学の現役学生に解かせたところ、全滅でした。
学生の学力低下は深刻です。
解説は、こちら

3.6.1.1 必要なもの

http://www.yatex.org/ からもらってきます。

3.6.1.2 インストール

Makefile の GEO = -geometry 80x20+0+0 をコメントアウトして、
$ export DISPLAY=":0.0"
$ make install EMACS=Meadow EMACSDIR=インストールするディレクトリ
です。

3.6.1.3 設定

~/.emacs に下記を記入
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)

;; 拡張子が .tex のファイルを開くときに yatex-mode にする
(setq auto-mode-alist (cons '("\\.tex$" . yatex-mode) auto-mode-alist))

;; 漢字コードの指定(1=sjis, 2=jis, 3=euc)
(setq YaTeX-kanji-code 1)

;; 外部コマンドの指定(パスが通ってない場合は絶対パスで記述)
(setq tex-command "platex")
(setq dvi2-command "dviout")
(setq bibtex-command "jbibtex")

;; yatex-mode 初期化時の設定
(add-hook 'yatex-mode-hook
	  (function
	   (lambda ()
	     ;; outline-minor-mode の設定(使用しない場合は不要)
	     (outline-minor-mode t)	; outline-minor-mode を起動
	     (make-local-variable 'outline-regexp)
	     (setq outline-regexp	; 見出しの正規表現
		   (concat "[ \t]*\\\\"
			   "\\(appendix\\|documentstyle\\|part\\|chapter\\|"
			   "section\\|subsection\\|subsubsection\\|"
			   "paragraph\\|subparagraph\\)"
			   "\\*?[ \t]*[[{]")))))

;; yatex ロード時の設定
(add-hook 'yatex-mode-load-hook
	  (function
	   (lambda ()
	     ;; メニュー選択時に IME をオフにする
	     (wrap-function-to-control-ime 'YaTeX-typeset-menu t "P"))))

3.7.1 emacs-w3m

テキストブラウザの w3m を Emacs 上で動作させるインターフェイスです。
XEmacs や X 上の Emacs21 では画像をインライン表示できます。
ただ、Meadow はインライン表示に対応していません。待ち遠しいですね。

3.7.1.1 必要なもの

  1. http://prdownloads.sourceforge.net/w3m/ w3m-0.3.tar.gz
    テキストブラウザの w3m です。(2002/03/06 現在の最新版が w3m-0.3.tar.gz)
    上記サイトは、一次配布元で混み合っているので、 http://w3m.sourceforge.net/ から探しましょう。
  2. http://emacs-w3m.namazu.org/ w3m_el-1.2.6.tar.gz
    emacs-w3m です。最新の開発版は CVS で取得可能ですが、configure ファイルがないので、安定版を利用してます。
  3. ftp://ftp.m17n.org/pub/mule/apel/
    APEL です。あらかじめインストールしておきます。

3.7.1.2 インストール

3.7.1.2.1 w3m

  1. % ./configure
    configure で環境設定します。ほとんど default でいいです。以下は私の例です。
    % ./configure
    CYGWIN_95-4.0 1 3 10s(0 /i586 at PORTEGE
    %
    % Hello te-kun. Let's start configuration process for w3m.
    % Please answer some questions.
    %
    Which directory do you want to put the binary?
    (default: /usr/local/bin) 
    Which directory do you want to put the support binary files?
    (default: /usr/local/lib/w3m) 
    Which directory do you want to put the helpfile?
    (default: /usr/local/share/w3m) 
    Which directory do you want to put the system wide w3m configuration file?
    (default: /usr/local/etc/w3m) 
    Which language do you prefer?
    1 .. Japanese (charset ISO-2022-JP, EUC-JP, Shift_JIS) (LANG=JA)
    2 .. English (charset US_ASCII, ISO-8859-1, etc) (LANG=EN)
    [12]? 1 ← Japanese を選択
    You select Japanese (charset ISO-2022-JP, EUC-JP, Shift_JIS) LANG=JA
    What is your display kanji code?
    S .. Shift JIS (DISPLAY_CODE=S)
    E .. EUC-JP (DISPLAY_CODE=E)
    j .. JIS: ESC $@ - ESC (J (DISPLAY_CODE=j)
    N .. JIS: ESC $B - ESC (J (DISPLAY_CODE=N)
    n .. JIS: ESC $B - ESC (B (DISPLAY_CODE=n)
    m .. JIS: ESC $@ - ESC (B (DISPLAY_CODE=m)
    [SEjNnm]? S ← Shift JIS を選択
    You select Shift JIS DISPLAY_CODE=S
    Use 2-byte character for table border, item, etc. [y]? 
    Use Lynx-like key binding as default [n]? 
    
    Let's do some configurations. Choose config option among the list.
    
    1 - Baby model    (no color, no menu, no mouse, no cookie, no SSL)
    2 - Little model  (color, menu, no mouse, no cookie, no SSL)
    3 - Mouse model   (color, menu, mouse, no cookie, no SSL)
    4 - Cookie model  (color, menu, mouse, cookie, no SSL)
    5 - Monster model (with everything; you need openSSL library)
    6 - Customize
    
    Which? 4 ← 私は Cookie model を選択してます
    Use color ESC sequence for kterm/pxvt .... yes
    Use mouse (requires xterm/kterm/gpm/sysmouse) .... yes
    Use popup menu .... yes
    Use cookie .... yes
    Use SSL (need OpenSSL library; Please see http://www.openssl.org/) .... no
    Inline image support (you need Imlib library) [n]? 
    ANSI color escape sequences support [n]? 
    Use Migemo (Roma-ji search; Please see http://migemo.namazu.org/) [n]? 
    External URI loader support [y]? 
    Use w3mmail.cgi [y]? 
    NNTP support [y]? 
    Gopher support [y]? 
    Use alarm support code [y]? 
    Use mark operation [y]? 
    Input your favorite editor program.
    (Default: vi) 
    Input your favorite external browser program.
    (Default: netscape) 
    Input your favorite C-compiler.
    (Default: gcc) 
    Input your favorite C flags.
    (Default: -O) 
    Terminal library -ltermcap found at /lib, and it seems to work.
    Terminal library -ltermcap found at /usr/lib, and it seems to work.
    Terminal library -lcurses found at /lib, and it seems to work.
    Terminal library -lcurses found at /usr/lib, and it seems to work.
    Terminal library -lncurses found at /lib, and it seems to work.
    Terminal library -lncurses found at /usr/lib, and it seems to work.
    Which terminal library do you want to use? (type "none" if you do not need one)
    (default: -lncurses) 
    /lib/libz found
    /usr/include/zlib.h found
    Input additional LD flags other than listed above, if any:
    : ← 単にリターン
    Checking machine dependency.
    
    -- 省略 --
    
    ------------ Configuration done ------------
    Current w3m version is 0.3.
    Extracting config.h
    
    config.h is created. See config.h for further configuration.
    
    Configuration done. Just type "make".
    % 
    
  2. % make
  3. % make install

3.7.1.2.2 emacs-w3m

  1. % ./configure
    完全な Makefile ができません
    prefix = /usr/local
    EMACS = Meadow95
    を補記する必要があります
  2. % make
  3. % make install

3.7.1.3 設定

~/.emacs に下記を記入します。(TIPS.ja などからの抜粋です)
;;; 全般の設定

(autoload 'w3m "w3m" "Interface for w3m on Emacs." t)
(autoload 'w3m-find-file "w3m" "w3m interface function for local file." t)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
(autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGINE." t)
(autoload 'w3m-weather "w3m-weather" "Display weather report." t)
(autoload 'w3m-antenna "w3m-antenna" "Report chenge of WEB sites." t)

;;; browse-url

;    以下のように設定しておくと、URI に類似した文字列がある場所で C-x w と
;    入力すれば、w3m で表示されるようになる。

(setq browse-url-browser-function 'w3m-browse-url)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
(global-set-key "\C-xw" 'browse-url-at-point)

;;; dired

;    以下のように設定しておくと、dired-mode のバッファでファイルを選択して
;    いる状態で C-x w と入力すれば、該当ファイルが w3m で表示されるように
;    なる。

(add-hook 'dired-mode-hook
          (lambda ()
              (define-key dired-mode-map "\C-xw" 'dired-w3m-find-file)))
(defun dired-w3m-find-file ()
  (interactive)
  (require 'w3m)
  (let ((file (dired-get-filename)))
    (if (y-or-n-p (format "Open 'w3m' %s " (file-name-nondirectory file)))
        (w3m-find-file file))))

;;; yahtml-mode

;    以下のように設定しておくと、yahtml-mode で編集中のファイルを preview 
;    する時に emacs-w3m を利用することができる。

(autoload 'w3m-goto-url "w3m")
(defadvice yahtml-browse-html
  (around w3m-yahtml-browse-html activate compile)
  (w3m-goto-url (ad-get-arg 0) t))

3.7.1.4 使い方

M-x w3m で emacs-w3m を起動します。
主なキーは下記の通りです。
RET	カーソル位置の URL を閲覧

R	リロード
C	文字コードを指定してリロード

TAB	次のアンカーにジャンプ
M-TAB	前のアンカーにジャンプ

]	次のフォームにジャンプ
[	前のフォームにジャンプ

}	次の画像にジャンプ
{	前の画像にジャンプ

B	前のページに戻る
^	親のページに昇る

g	URL 指定でジャンプ

d	カーソル位置の URL をダウンロード
u	カーソル位置の URL をミニバッファに表示
I	画像を閲覧
M-i	画像を保存

c	現在の URL をミニバッファに表示

\	現在のページのソースを表示
=	現在のページのヘッダを表示

SPC	スクロールアップ または 次の URL へ
DEL	スクロールダウン または 前の URL へ
>	左へスクロール
<	右へスクロール

j	次の行へ
k	前の行へ

l	次の文字へ
h	前の文字へ

v	ブックマークを閲覧
a	現在のページをブックマークへ追加
M-a	カーソル位置のリンクをブックマークへ追加

q	w3m ウィンドウを閉じる
Q	URL リストを更新して、w3m を終了

3.8.1 migemo

ローマ字のまま日本語をインクリメンタルサーチします。
かな漢字変換してから検索する手間が省けます。

3.8.1.1 必要なもの

  1. http://migemo.namazu.org/stable/ migemo-0.22.tar.gz
    migemo 本体です。
  2. http://openlab.ring.gr.jp/skk/skk/dic/SKK-JISYO.L
    SKKの辞書ファイルです。変換して利用します。
  3. ftp://ftp.m17n.org/pub/mule/apel/
    APEL です。

migemo の version 0.22 までは perl 5.005 以上が必要で、version 0.3 以降は Ruby 1.6 以降が必要です。私の migemo はまだ Perl のままです。(^^;

3.8.1.2 インストール

まず、migemo-0.22.tar.gz を展開し Lingua-Romkan ディレクトリで、
$ perl Makefile.PL
$ make
$ make install
で、Lingua::Romkan モジュールをインストールするのですが、
私の環境は、ActivePerl + Cygwin で、Visual C がないので、これでは make できませんでした。

そこで、私のような変(?)な環境用の Makefile を作りました。
Perl が C:\appli\perl にインストールしているという前提なので、ご自身の環境 に合わせて下さい。
Lingua-Romkan ディレクトリにコピーして、
$ make
$ make install
です。

白井さんに教えてもらいましたが、ActivePerl に対する Perl Module は nmake じゃないと作れないので、
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
を使えば 以下のように Module をインストールできるそうです。

$ tar zxvf migemo-0.22.tar.gz
$ cd migemo-0.22/Lingua-Romkan
$ perl Makefile.PL
$ nmake
$ nmake install

次に、1つ上のディレクトリに戻り、SKK-JISYO.L をカレントディレクトリにコピーし
$ ./configure --with-emacs=Meadow95
$ make
$ make install
で migemo をインストールします。
これは、ActivePerl + Cygwin な環境でも、うまくいきます。
ちょっと時間が掛かるので、コーヒーでも飲んで待ちましょう。

3.8.1.3 設定

~/.emacs に下記を記入
(require 'migemo)

;;; migemo.pl migemo-cache.pl migemo-dict のあるディレクトリ
(setq migemo-directory "c:/usr/local/share/migemo")

;;; 改行コードを DOS形式(CR+LF)にしないと Windows では動かないでしょう。
(setq migemo-coding-system 'euc-japan-dos)

;;; default では、migemo を使いません。
;;; M-x migemo-toggle-isearch-enable で、migemo の ON/OFF を切り換えます。
(setq migemo-isearch-enable-p nil);; t にすると、default で migemo を利用

3.8.1.4 使い方

通常のインクリメンタルサーチと同様に、C-s、C-r するだけです。

3.8.1.5 注意

最初の起動には少し時間が掛かります。
当然ながら、辞書にない語は検索できません。


[INDEX]
http://www.yumi-chan.com/
Last Modified: Thu, 21 Mar 2002 00:56:57 +0900