Ctrl-Pを使用して、プロジェクト内のすべてのファイルのファイルコンテンツを対話的に検索する方法


15

今日、プロジェクトのすべてのファイルで検索を実行しようとしました。Ctrl-Pを使用して、次のような行を検索します。

スクリーンショット

ただし、検索の結果は、以前に開いたファイルに対してのみです。ここでのみ開きmain.phpます。

すべてのファイルを1つずつ開かずに検索する方法を知っていますか?

おかげで、


1
これも私が欲しいものです。ackまたはagを使用している場合、パフォーマンスは問題になりません。さらに、neovimを使用している場合は非同期である必要があるため、ブロックも存在しないはずです。
マーティントン

最後に、agをctrlpコマンドとして使用します:)
nobe4

回答:


13

:CtrlPLine リストされたバッファで実際に動作することになっています。

プロジェクト内のすべてのファイルでその機能を絶対に使用したい場合は、次のようなものを使用してそれらを引数リスト(したがってバッファーリスト)に追加できます。

:argadd **/*.php

しかし、パフォーマンス上の理由から、これは非常に良いアイデアのようには聞こえません。

を使用する:vimgrep:grep、私にはるかに良い音:

:vim foo **/*.php
:cw

もちろん、CtrlPの「あいまいさ」は失われますが、見返りに信頼性と柔軟性が得られます。

参照:

:help :argadd
:help :vimgrep
:help :grep
:help :cwindow
:help quickfix

CtrlPとvim-grepの主な違いは、CtrlPが対話式であることです。
ideasman42

1

それらのプラグインSidesearchまたはfzfを使用する必要があります

両方とも、silversearch-agを使用して再帰ディレクトリを検索できます。

fzfは、文字列を含むリストされたファイルの検索を許可します。


1
こんにちは@MisterBanal、私たちのサイトにようこそ!これらのプラグインが、OPが要求したようにCtrlPとインターフェイスできる場合は、回答を正確にする必要があります。それらがインターフェイスできる場合は、方法を説明し、できない場合は、少なくともそれらの使用方法の基本的な例を提供する必要があります。(テキストの下にある「編集」ボタンで回答を変更できます)。
statox
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.