Migemoが便利です。これを使えば、日本語の文字列をいちいち変換することなくインクリメンタル検索できるんです。
例えば「日本語」と検索したい場合、普通なら C-s 日本語 ってやりますが、Migemoを使えば…
わざわざ C-s 日本語 ってやらなくても、C-s nihongo で済んでしまうんです。便利ですよねー。
今回は、UbuntuでEmacsからMigemo(をCで書きなおしたC/Migemo)を使えるようにしてみます。
インストール方法
バージョンは以下の通り
1. SubversionとNKFをインストール
$ sudo apt-get install subversion
$ sudo apt-get install nkf
2. 普通にMigemoをインストール
EmacsからMigemoを使うにはmigemo.elが必要なので、とりあえずインストール
$ sudo apt-get install migemo
2011/05/25 追記: リポジトリがGoogle Codeに移ったようです。
ソースコードは下記URLからダウンロードできるようになっています。
http://code.google.com/p/cmigemo/downloads/list
4. ソースの修正
そのままだとmakeしたときに
src/wordbuf.c:118: error: ‘INT_MAX’ undeclared (first use in this function)
src/wordbuf.c:118: error: (Each undeclared identifier is reported only once
src/wordbuf.c:118: error: for each function it appears in.)
っていうエラーが出るので、src/wordbuf.cの12行目あたりに
#include <limits.h>
を追加
編集後のwordbuf.cはこんな感じ
/* vim:set ts=8 sts=4 sw=4 tw=0: */ /* * wordbuf.h - * * Written By: MURAOKA Taro <koron@tka.att.ne.jp> * Last Change: 20-Sep-2009. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h> /* これを追加 */ #include "wordbuf.h" #define WORDLEN_DEF 64 ・ ・ ・
5. コンパイルしてインストール
$ cd trunk
$ ./configure
$ make gcc
$ cd dict
$ make utf-8
$ cd ..
$ sudo make gcc-install
6. .emacsに以下を追加
インサイドフラッギング: Migemo(C/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)
これでC-sしたときにMigemoが有効になるはず。上のスクリーンショットみたいに、ミニバッファが [Migemo] I-search: になっていればOK。
参考
おまけ
typoなさってる件