LoginSignup
1
2

More than 5 years have passed since last update.

KaoriYa Vim にMigemoを導入する

Posted at

Migemoとは

KoRoNさんが配布しているKaoriYaパッチを適用したWindows版Vimでは、C/Migemoを導入することでMigemoを利用できます。

Migemoとは、漢字や平仮名の検索をローマ字で素早くできるしくみです。
例えば「検索」という単語を検索したいとき、Migemoを導入していないと「kensaku」を入力して「スペース」で変換開始、「エンター」で候補を確定という手間がかかります。
加えて、検索前後で日本語入力の切り替えも必要です。
一方Migemoを用いると、日本語入力の切り替えをせずに「kensaku」と入力するだけでよいのです。

無題.png

このアイデアは以下の文献で詳しく説明してあります。

  • 高林 哲: 横着プログラミング 第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 には以下の設定を追記しておいてください。

_vimrc
set incsearch
if has("migemo")
    set migemo
endif

Migemoはデフォルトで g/ に割り当てられています。
ノーマルモードで g/ を入力することで、Migemoによる前方検索が開始できます。

Enjoy Migemo!!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2