- 追加された行はこの色です。
- 削除された行はこの色です。
*Migemoとは [#yeba82f6]
Migemoとはローマ字のまま日本語を検索できるようにするツールで、 日本語検索の際にいちいち漢字変換する必要が無く、簡単に検索できます。とても便利。
*link [#c4c84885]
-[[Migemo: ローマ字のまま日本語をインクリメンタル検索 :http://namazu.org/~satoru/migemo/]] 公式
-[[C/Migemo:http://www.kaoriya.net/#CMIGEMO]] MigemoをCで記述したもので、若干容易に使用できます。
-[[インクリメンタルサーチと置換:http://www.bookshelf.jp/soft/meadow_49.html]]
-[[migemo:http://pess.no-ip.org/slack/migemo]]
*インストール [#wbc9d7e8]
公式ページの説明に従えば良いですが、一般ユーザ権限しか無い場合、.rbファイルは自分のHOMEに放り込むしかありません。そんな時は環境変数 RUBYLIB として適宜自分の置き場所を指定してやる必要があります。
*Meadowで使用 [#dd16f309]
基本的にはEmacs上で使用するものです。必要なもの等は上記の公式ページから知ることができます。 残念なことにWindows上のMeadowで使用するには若干の作業が必要となります。 私の環境では、[[こちらの「migemo」というページ:http://www4.kcn.ne.jp/~boochang/emacs/migemo.html]]を参考にして以下のようにしたら動作しました。
**前準備 [#q4540746]
-[[Cygwin:http://www.cygwin.com/]]をインストールします。開発環境や[[ruby:http://www.ruby-lang.org/ja/]]を入れるためです。一度cygwinなしでのビルドを試みたのですが、改行コードやらの事情が面倒で難しそうなので挫折しました('06 11/20)。後に[[Meadow:http://www.meadowy.org/meadow/wiki/]]を、[[APEL:http://cvs.m17n.org/elisp/APEL/]] と一緒にインストールしてしまいます(パッケージがあるようです)。 そして、心臓部となる[[Migemo:http://namazu.org/~satoru/migemo/]]、[[SKK-JISYO.L:http://www.maid.ne.jp/~toru/skk-dic/dic_orig/SKK-JISYO.L.gz]]、[[Ruby/Romkan:http://namazu.org/~satoru/ruby-romkan/]]、[[Ruby/Bsearch:http://namazu.org/~satoru/ruby-bsearch/]]を入手し、展開します。
**RomkanとBsearch [#o8fc83e4]
先の解凍によって、romkan.rb と bsearch.rb を得ます。これらを /usr/lib/ruby/site_ruby にコピーします。ディレクトリがなかったら作成しておきます。
**コンパイル [#xb733164]
Migemoを解凍したディレクトリに移り以下のようにします(ファイルパスは適宜変更して下さい)。 その際、入手した SKK-JISYO.L をそのディレクトリに忘れずに入れておくようにします。
$ ./configure --with-emacs=/cygdrive/f/meadow/meadow2/2.00b2/bin/Meadow.exe \
--with-lispdir=/cygdrive/f/meadow/meadow2/2.00b2/site-lisp
$ make
$ make install
そして、migemo 実行ファイルの記述を少し修正します。/usr/local/bin/migemoの先頭行を、 #!/usr/bin/ruby と書換えます。
**.emacs [#bf84e794]
Meadowの.emacsに以下の記述を加えます。
(setq migemo-directory "f:/cygwin/usr/local/share/migemo")
(load "migemo")
こちらも環境に応じて変更して下さい。
*NTEmacsでC/Migemoを使用 [#l423e1b6]
別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。最初にこのメモを記したのは'05のころだったと思うのですが、'06 11/20 に、どうも検索結果がおかしいぞということで調べてみたら、辞書の文字コードが結構大事なパラメータであることに気付きました。
別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。内容は基本的に[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]の写しです。手元のMeadow3とNTEmacs 21.3.1で問題無く動いているようです。
-[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]にC/Migemoのコンパイル済みバイナリがあるのでそれを入手(cmigemo-1.1.013.lzh)
**入手 [#b5c685dc]
どちらでもよいが、自分でコンパイルした方がバージョンも後だし、最適化も効くのでよいかも?
****出来合のバイナリを頂く [#kab88747]
-[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]からコンパイル済みバイナリを入手(cmigemo-1.1.013.lzh)
-dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。
***自分でコンパイルする [#d70645b8]
-[[C/migemo:http://www.kaoriya.net/#CMIGEMO]]と[[Migemo: ローマ字のまま日本語をインクリメンタル検索:http://0xcc.net/migemo/]]からソースを頂いてくる。私は cmigemo-1.2.tar.bz2 と migemo-0.40.tar.gz を頂いてきた。
-migemoを展開し、migemo.el.in 中(50行目だった)
(defvar migemo-directory "@pkgdatadir@"
の "@pkgdatadir@" を適当に "/usr/local/share/migemo" とかにしておく。(雰囲気的に。後の.emacsの設定により、この値は意味を失う)で、migemo.elに改名する。
-cmigemoを展開し、compile/Make_mvc 中の最適化オプションを /G6 (Pen IIIまで) から /G7 (Pen4 以降) に変える(お好み)。config.mk中のHTTPをwgetにする。そして
nmake msvc
nmake msvc-dict
としてビルド。実行ファイルも辞書も出来上がる。私の環境はMSVC++ .NET 2003
**ファイルの配置と設定 [#je7f4c56]
-cmigemo.exeとmigemo.dllをemacs本体と同じディレクトリにコピー(パスが通っている別の場所でもOK)。
-migemo.elをsite-lispにコピー(load-pathの通ってる別の場所でもOK)。
-dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。で、ディレクトリごとsite-lispにコピー(どこでも良い。場所は.emacsで指定する)
-site-lispにdictディレクトリを作製し、
--han2zen.dat
--hira2kata.dat
--migemo-dict
--roma2hira.dat
を放り込む。漢字コードはSJIS
-.emacsに下記を加える。この記述は99%[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]と同じです。
;; 基本設定
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs"))
;; migemo-dict のパスを指定
(setq migemo-dictionary "C:/programs/emacs-21.3/site-lisp/dict/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
;; キャッシュ機能を利用する
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1024)
;; 辞書の文字コードを指定.
(setq migemo-coding-system 'japanese-shift-jis-unix) ;;; <= EUCではない
(load-library "migemo")
;; 起動時に初期化も行う
(migemo-init)
Meadow3についても同様にすればうまく使えているようでした。
//*NTEmacsでC/Migemoを使用 [#l423e1b6]
//別にMeadowと対比するわけではないのですが、セットアップ内容をメモします。最初にこのメモを記したのは'05のころだったと思うのですが、'06 11/20 に、どうも検索結果がおかしいぞということで調べてみたら、辞書の文字コードが結構大事なパラメータであることに気付きました。
//
//-[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]にC/Migemoのコンパイル済みバイナリがあるのでそれを入手(cmigemo-1.1.013.lzh)
//-cmigemo.exeとmigemo.dllをemacs本体と同じディレクトリにコピー(パスが通っている別の場所でもOK)。
//-migemo.elをsite-lispにコピー(load-pathの通ってる別の場所でもOK)。
//-dictディレクトリの中身の漢字コードはEUCだが、これをShift-JISに変換する。なぜかは(私のスキル不足により)わからないが、EUCのままだと私の環境ではemacs経由のcmigemoの挙動がおかしかった。で、ディレクトリごとsite-lispにコピー(どこでも良い。場所は.emacsで指定する)
//-.emacsに下記を加える。この記述は99%[[C/migemo を使いたい:http://www.bookshelf.jp/soft/meadow_49.html#SEC702]]と同じです。
//
// ;; 基本設定
// (setq migemo-command "cmigemo")
// (setq migemo-options '("-q" "--emacs"))
// ;; migemo-dict のパスを指定
// (setq migemo-dictionary "C:/programs/emacs-21.3/site-lisp/dict/migemo-dict")
// (setq migemo-user-dictionary nil)
// (setq migemo-regex-dictionary nil)
//
// ;; キャッシュ機能を利用する
// (setq migemo-use-pattern-alist t)
// (setq migemo-use-frequent-pattern-alist t)
// (setq migemo-pattern-alist-length 1024)
// ;; 辞書の文字コードを指定.
// (setq migemo-coding-system 'japanese-shift-jis-unix) ;;; <= EUCではない
//
// (load-library "migemo")
// ;; 起動時に初期化も行う
// (migemo-init)
//
//Meadow3についても同様にすればうまく使えているようでした。