[mac][emacs] EmacsからC/MigemoをUTF-8で使う
Emacs環境をUTF-8化してからしばらく経ちますが、Migemoの辞書は未だにEUC-JPであるのでこの際UTF-8化しておこうと思ったのでメモしておきます。
C/Migemoのインストール
今回はUTF-8にも標準で対応しているC/Migemoの1.3開発版を使用します。http://www.kaoriya.net/dist/var/cmigemo-1.3c.tar.bz2
1.2まではUTF-8に対応していません。上記のファイルをダウンロードしてきて、解凍。
$ tar xvf cmigemo-1.3c.tar.bz2
マニュアルはきちんと読みましょう。基本です。日本語ならdoc/README_j.txtにあります。
今回はosxにインストールするので、マニュアルに従って作業します。
$ ./configure && make osx && make osx-dict
最後のosx-dictが辞書ファイルのビルドなのですが、このままだと、EUC-JPしかインストールできないのでutf-8の辞書ファイルも作っておきます。(ここはマニュアルには書いていません。)
$ cd dict $ make utf-8
後はroot権限でインストールをします。
# make osx-install
Emacs側の設定
migemo.elの準備
2010/9/8追記:
id:tomoyaさんがmigemo.elを用意してくれているようなのでこちらを使いましょう。というわけで、下のpatchは不要です。http://gist.github.com/457761
実はC/Migemoを使う場合も、C/Migemoにはmigemo.elが含まれないので、emacsから使用するには本家のMigemoをダウンロードする必要があります。http://0xcc.net/migemo/migemo-0.40.tar.gz
これを解凍して、./configure && make && make installする必要があるのですが、Ruby/Romkanや、Ruby/Bsearchが必要になり、大変面倒です。欲しいのはmigemo.elだけなのでここまで大げさなことをしたくありません。そこでpatchを用意しました。migemo.el.inに当ててください。
http://gist.github.com/567207
$ patch migemo.el.in < migemo.patch $ mv migemo.el.in migemo.el
上記のpatchではmigemo-directory "/usr/local/share/migemo"で決めうちしているのでC/Migemoを別のところにインストールした方は利用できません。このmigemo.elをパスの通った場所へ移動させておきます。
.emacs側の設定
次はemacs側の設定です。
(require 'migemo) (setq migemo-command "cmigemo") (setq migemo-options '("-q" "--emacs")) (setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict") (setq migemo-user-dictionary nil) (setq migemo-regex-dictionary nil) (setq migemo-coding-system 'utf-8-unix) (load-library "migemo") (migemo-init)
(setq migemo-coding-system 'utf-8-unix)が重要でここで明示的にutf-8を指定してあげなければ正しく動作しないので注意が必要です。