[Mew-dist 14364] Re: b64
utashiro at example.com
utashiro at example.com
2000年 10月 3日 (火) 21:29:35 JST
From: Hideyuki SHIRAI (白井秀行) <shirai at example.com>
Subject: [Mew-dist 14352] Re: b64
Date: Tue, 3 Oct 2000 14:31:37 +0900
> > * "C-u ?" で外部コマンドが呼べる。デフォルトは grep。
> > 以下のようにすれば、日本語の検索も OK。
> > (setq mew-prog-grep "mg")
> > (setq mew-prog-grep-opts '("-j" "jis" "-l" "-e"))
> > augments は mew-cs-database-for-encoding をもとに符号化するので、
> > このコマンドは文字コードには依存していません。
>
> 手持ちの Emacs で
>
> (setq mew-prog-grep "mg")
> (setq mew-prog-grep-opts '("-j" "jis" "-l" "-x" "&mime" "-e"))
>
> としてみたときの日本語検索の結果です。関係ないと思うのですが、()
> の中は default-coding-system です。
> という風に文字コードには依存しないのですが、OS や Emacsen には依
> 存してしまいます。^^;;;
に対する回答ではありませんが、効率を考えると EUC で検索した方が多分速
いのではないかと思います。
mg に、たとえば -z 'nkf -e' とオプションを与えると、検索する前に nkf
で EUC にコード変換をします。(windoze は知りません)
# おっと、こうすると -x '&mime' の方が後で評価されるので、そこだけ JIS
# になってしまう。この場合は、そこまで外部コマンドで面倒みてもらいましょ
# う。-m でできる nkf もあるみたいですね。
JIS で検索するときには、特に長い文字列を与えると非常に複雑な正規表現に
変換されます。それに比べると nkf の負荷の方がかなり小さいと思います。
どういう表現に変換されるかを見たい時には -dm を指定してください。
改行に関係なく単純に文字列として検索するのであれば、-E を指定します。
この場合、指定した文字列は正規表現として解釈されてしまうので、メタ文字
はエスケープする必要があります。mew での検索では、どうせ改行は意識しな
いので、こちらの方が動作の一貫性はある。
--utashiro
Mew-dist メーリングリストの案内