Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

KaoriYa Vim にMigemoを導入する

$
0
0

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
setincsearchif has("migemo")set migemoendif

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

Enjoy Migemo!!


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>