HOME > メモ
emacsでgrep
emacsでgrep
カレントディレクトリにある特定のファイルの中から、rafystaという単語を含むものを検索したい場合、M-x grep RTN とすると、ミニバッファで検索コマンドを聞いてくるので、
grep -n -e rafysta <ファイル名(例:*.txt)>
などと答えて RTN を押す。 (grep -n -e の部分は始めから挿入されてる。) すると、別の窓に結果が表示される。ここで C-x ` を押していくと、次々に見つかった場所にタグジャンプ。カーソルを移動してRTN ないしは C-c C-c とすると、ファイルに飛ぶ。
カーソルを下に移動する場合、M-p と M-n を使うとリンクがつながっている行のみを順番にジャンプしていってくれる。(C-p C-n だと、permissionエラーなどで、みつけられなかった行にも移動するので面倒)
grep-find
サブディレクトリの検索も行ってくれる点で、grepよりも強力。M-x grep-find RTN とすると、ミニバッファに
find . -type f -print0 | xargs -0 -e grep -n -e <探したい正規表現(例:rafysta)>
と入力されるので、これを編集して実行。サブディレクトリを含めて検索される。
C-x ` を押していくと、次々に見つかった場所にタグジャンプ。他もgrepと一緒。
なお、次回、検索する際に、ミニバッファで履歴を M-p と M-n で辿れる。

最終更新時間:2007年07月11日 12時08分11秒