Migemoとは
KoRoNさんが配布しているKaoriYaパッチを適用したWindows版Vimでは、C/Migemoを導入することでMigemoを利用できます。
Migemoとは、漢字や平仮名の検索をローマ字で素早くできるしくみです。
例えば「検索」という単語を検索したいとき、Migemoを導入していないと「kensaku」を入力して「スペース」で変換開始、「エンター」で候補を確定という手間がかかります。
加えて、検索前後で日本語入力の切り替えも必要です。
一方Migemoを用いると、日本語入力の切り替えをせずに「kensaku」と入力するだけでよいのです。
このアイデアは以下の文献で詳しく説明してあります。
- 高林 哲: 横着プログラミング 第2回: Migemo: 日本語のインクリメンタル検索, UNIX MAGAZINE, Vol. 17, No. 2, pp. 129-136, February, 2002.
- 高林 哲, 小松 弘幸, 増井 俊之: Migemo: 日本語のインクリメンタル検索, 情報処理学会論文誌, Vol. 43, No. 12, pp. 3698-3705, December, 2002.
ドキュメント通りでは導入できない
さて、この便利なMigemoを導入しようとしても、C/Migemoに同梱のドキュメント通りにしたがってもうまくできません。
C/Migemoのドキュメントは3年以上更新されておらず、おそらくVimの仕様の変化に追従していないのでしょう。
Vimスクリプトを勉強し試行錯誤して、やっと解決できたので忘備録として残しておきます。
現在のインストール方法
Windows版Vimをダウンロードし起動できる状態にした直後を想定して説明していきます。
1. C/Migemoをダウンロード
KoRoNさんのサイトでC/Migemoをダウンロードしてください。
32bit版と64bit版がありますが、あらかじめ導入済みのVimと同じ版を選んでください。
ダウンロードしたらアーカイブを展開してください。
2. migemo.dllをコピー
C/Migemoに含まれているmigemo.dllをgvim.exeがあるディレクトリにコピーします。
3. migemo.vimをコピー
同梱のドキュメントには、migemo.vimを $VIM/runtime/plugin/
にコピーと書いてありますが、これではスクリプトが読み込まれません。
Vim上で :set runtimepath?
コマンドを実行すると、現在有効なランタイムパスが表示され、このディレクトリ上のスクリプトが読み込まれます。
表示されたランタイムパスの中には $VIM/runtime/plugin/
が含まれていないため、上記の方法では失敗するのです。
というわけで、gvim.exeがあるディレクトリを $VIM$
とすると、 $VIM/vimfiles/plugin/
にmigemo.vimをコピーするのが正解です。
4. 辞書ファイルをコピー
ドキュメントには $VIM/dict
ディレクトリに4つのファイルをコピーするように書かれていますが、C/Migemoのdictディレクトリにはcp932とutf-8の2つの辞書ファイルが含まれており、どちらをコピーしたらよいのか迷います。
実際はdictディレクトリをそのまま $VIM
にコピーすれば大丈夫です。
インストール完了
以上でインストールは完了です。
Migemoを使ってみる
_vimrc
には以下の設定を追記しておいてください。
setincsearchif has("migemo")set migemoendif
Migemoはデフォルトで g/
に割り当てられています。
ノーマルモードで g/
を入力することで、Migemoによる前方検索が開始できます。
Enjoy Migemo!!