Emacsで、いわゆる日本語インクリメンタルサーチを実現する。
日本語インクリメンタルサーチつまり Migemo の辞書検索モジュールには Ruby/Migemo と C/Migemo の二つの実装がある。ここでは高速かつRuby不要という点から後者を利用する。
前提としている環境
- Windows 7 Home Premium 64bit
- Cygwin 1.7.7
- GNU Emacs 23.1.1 (i386-mingw-nt6.1.7600)
※Cygwinのバージョンは uname -a
コマンドを打つと確認できる。
導入作業
- 辞書ファイルをインストール
-
KaoriYa.net より「バイナリ(DLL) 1.3 64bit版 for Windows (約3.46MB)」をダウンロード。
解凍すると、
/dict/utf-8
に辞書ファイルが計5個生成される。これ(UTF-8の辞書)を emacs向けのフォルダに置く。ここでは、~/.emacs.d/site-lisp/migemo/
に置くこととする。$ cd ~/download #ダウンロードしたファイルがある場所へ移動 $ unzip -q cmigemo-1.3-w64dll.zip $ ls cmigemo-1.3-w64dll/dict/utf-8/ han2zen.dat hira2kata.dat migemo-dict roma2hira.dat zen2han.dat $ mv cmigemo-1.3-w64dll/dict/utf-8 ~/.emacs.d/site-lisp/migemo/
- C/Migemo の dllファイル および exeファイル を作る
-
さらに「ソースコード 1.3(予定) 開発版」をダウンロード。
Cygwinを起動して、以下のようにコンパイル&設置を行う。
$ cd ~/download #ダウンロードしたファイルがある場所へ移動 $ tar xvjf cmigemo-1.3c.tar.bz2 #解凍 $ cd cmigemo-1.3 $ make cyg #コンパイル $ cp build/{cygmigemo1.dll,cmigemo.exe} "C:\cygwin\bin" #dll と exe を cygwin/bin に設置
- migemo.el のインストール
C/Migemo を emacs から実行するための elisp が "migemo.el".
オリジナルのソースコードは積極的にメンテナンスされていないようなので、どなたか分からないが個人的にElispを公開しているかたのものを使うことにする。
sakito / dot.emacs.d / source – Bitbucket よりダウンロードして、load-pathに置く(
~/.emacs.d/site-lisp/
など)。emacs の
*scratch*
バッファを使うなどして下記elispコードを評価。;; migemoの設定 (setq migemo-command "cmigemo") (setq migemo-options '("-q" "--emacs" "-i" "\a")) (setq migemo-dictionary (expand-file-name "~/.emacs.d/site-lisp/migemo/utf-8/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 1000) (setq migemo-coding-system 'utf-8-unix) (load-library "migemo") (migemo-init)
- 動作のテスト&設定の永続化
- "C-s"で日本語インクリメンタル検索が動作するか試す。問題がなければ上のelispコードを .emacs や init.el に保存しておく。
0 件のコメント:
コメントを投稿