*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 に、どうも検索結果がおかしいぞということで調べてみたら、辞書の文字コードが結構大事なパラメータであることに気付きました。 -[[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についても同様にすればうまく使えているようでした。