再帰的なgrep検索結果を表示するには、vim / emacsプラグインを使用しますか?

再帰的なgrep検索結果を表示するには、vim / emacsプラグインを使用しますか?

次の形式のファイルがあるとします。

file1:123
file2:4444
some/other/file:2233

これはコマンドの検索結果grep(例:format)を表します。file:line-number

私はこれらのクリックをすばやく閲覧できるvimプラグインが欲しいです。上部ウィンドウにはヒット項目が表示され、下部ウィンドウには現在選択されているヒット項目が表示される2つのウィンドウ(横分割)が表示されます。上部ペインで選択を変更すると、下部ペインの指定された行番号に指定されたファイルが表示されます。

このようなことを経験した人はいますか? vim以外のソリューション(emacs /プロフェッショナルプログラム、...)も検討します。

答え1

Emacsでgrepの結果を開きますM-x grep-mode

grepを実行したディレクトリにないファイルにgrepの結果を保存した場合は、grepを実行してM-x cd正しいディレクトリに変更する必要があります。

出力は行番号の後に含める必要がgrepあります。つまり、haveが必要です。ここではオプションですが、2番目のものはそうではありません。この設定を調整して変更できます。:file_name:line_number:texttext:grep-regexp-alist

もちろん、これを実行すると、M-x grepすべてが自動的に実行されます。

答え2

存在するウィムコマンドモード:

内部grepの場合、

:vimgrep pattern-to-search files
:copen

:help vimgrepヘルプリクエストをご覧ください。

外部grepの場合、

:grep pattern-to-search files
:copen

:help grepヘルプリクエストをご覧ください。

答え3

Emacsはこれを次のようにサポートします。rgrepそしてlgrepコマンド(M-x rgrepまたは入力M-x lgrep、ここでEmacsの+M-x表記)、これらのコマンドはバージョン22以降からEmacsに含まれています。Altxrgrep再帰 grep 検索の実行中lgrep単一のディレクトリにあるファイルのみ。

彼らは示していますgrep結果は行ごとに別々のウィンドウを作成し、次の方法で結果をナビゲートできます。

  • 結果行をクリックします(ファイルが別のウィンドウで開きます)。

  • 繰り返し押すCX`Ctrl+xの後にバックティックを表示):このキーの組み合わせを押すたびに、現在のウィンドウに次の項目が表示されます。grepリストにあります。テキストを強調

詳細については、次を参照してください。GNU Emacsマニュアル、「Grep検索」の章

メモ:Emacsの用語では、ウィンドウをペインと呼びます。、ウィンドウが呼び出されます。額縁

関連情報