Emacs から grep で日本語を探す

Emacs から grep する場合 M-x grep するとミニバッファに

CODE:
  1. Run grep (like this): grep -nH -e

的なものが表示され、単語と対象を入力して実行するわけですが、日本語を grep したい場合の話です。

使用しているシステムに応じて lv をインストールすると、lgrep というマルチバイト対応な grep コマンドが同時にインストールされるはずなので、~/.emacs に以下を設定。

CODE:
  1. ;; grep に lgrep を使う
  2. (setq grep-command "lgrep -n -Oej ")

して、同様に M-x grep するとミニバッファはこんな感じ。

CODE:
  1. Run grep (like this): lgrep -n -Oej

lgrep -n -Oej 日本語 *.cc 等してあげると *.cc から「日本語」を含むファイルを別バッファにずらっと表示してくれます。うーん便利。

と思ったんですが、LANG と検索対象のファイルが同じエンコーディングな場合は通常の grep で問題なしですか。


About this entry