header

2014年11月6日木曜日

Emacs Mew.elでメールを日本語で検索する

Emacs Mew.elでメールを日本語でも検索できるようにした。公式だとmgというもの利用するように書いてあったが探せなかったので、他の外部プログラム(jvgrep)を利用するようにした。

ネット上で探しても、(自分は)mgの昔の記事ばかりだったので一応記事にしておく。


jvgrepのインストール

Golang製のソフトウェアなので、golangが使える必要があります。
もしもう既に使えるようなら、

go get github.com/mattn/jvgrep

でインストールできると思います。


Emacsの設定

既にmewが使えているのであれば、下の設定を追加すればjvgrepで検索できると思います。一応ハマったところを書いておくと、-rオプションを指定しないとmew側でなんにも検知してくれないところですね。。。
あっ、あと最後の-Gオプションは正規表現のオプションなのでjvgrepのhelpをみて適当に変えてください。

(setq mew-prog-grep "jvgrep"
mew-prog-grep-opts
'("-l" "-r" "--enc" "\"iso-2022-jp,utf-8,ascii,euc-jp,sjis\"" "-G"))

人によっては必要ないかもしれませんが、僕の場合はmew-cs-encode-argに日本語を渡すところで文字化けするするようになりjvgrepへ日本語を渡せませんでした。それと下の設定は24.4から使えるようになったアドバイス関数を利用しているので、それ以下のバージョンだと旧アドバイスを使う必要があります。(mew-summary-selection-by-pick-with-grep1関数をみてください)

;; mew-cs-encode-arg関数を上書き
(advice-add 'mew-cs-encode-arg :override (lambda (arg) arg))

mewでsummary-modeで検索するには"/"キーです。カラのままエンターを押すと直接コマンドをいじれます。


0 件のコメント:

コメントを投稿

Popular Posts

Blogger templates

Blogger news