mgを使用したMewの全文検索 [Linux]
実施手順は、以下の通りである。
0. 制限事項
(1) カレントフォルダのみを検索対象とする。
(2) Mew 6.3 以降を対象とする。
下記の環境において、動作確認を行った。
・Mew 6.3 on CentOS 6.x, Mew 6.4 on Debian 7, Mew 6.6 on Debian 8
(補足)
Mew 5.2 では、想定通りの結果とはならなかった。
(3) Perl、nkf がインストールされていること。
1. mg (multi-line grep) のインストール
(1) ダウンロード
下記 URL から mg-2.26 をダウンロードする。
・ftp://ftp.sra.co.jp/pub/lang/perl/scripts/utashiro-scripts/
(2) カスタマイズ
(a) 1 行目を変更する。
(変更前) #!/usr/local/bin/perl (変更後) #!/usr/bin/perl
(b) 354 行目をコメント化する。
コメント化しない場合、下記のワーニングが出力される。 $* is no longer supported at /tmp/mg line 354.
(3) インストール
/usr/local/bin 等に mg というファイル名でインストールする。
また、実行できるようにパーミションを設定する。
2. Base64 エンコードされたメッセージへの対応
テキストメッセージと Base64 メッセージを同時に検索することはできない。
よって、nkf のオプションを変更する関数を作成し、これに対応する。
手順は、下記の通りである。
(1) mew-search-util.el のインストール
mew-search-util.el を load-path に設定されたディレクトリにコピーする。
(mew-search-util.el のソースコードは、備考を参照。)
(2) ~/.mew.el への設定の追加
;;(setq mew-search-mg-locale "ja_JP.UTF-8") ;; ja_JP.UTF-8 の場合に設定 (setq mew-prog-grep "mg") (require 'mew-search-util)
ja_JP.UTF-8 で機能しない場合には、コメント化する(ja_JP.eucJP が使用される)。
3. 使用方法
(1) 検索対象のフォルダに移動する。
(2) 必要に応じて、mg のフィルタコマンド(nkf) のオプションを変更する。
M-x mew-set-mg-opts
または M-? を押下する。
(3) 全文検索を実行する。
・/ または ? を押下する。
・検索条件を入力する。
詳細は、Mew のマニュアルを参照。