10

多くのバッファが開いているので、正規表現のすべてのバッファを検索し、検索結果をナビゲートする簡単な方法が必要です (クイック リスト?)

コマンドを実行できることはわかっています:bufdoし、簡単に検索して に置き換える%sこともできますが、単純な検索だけを行って結果をナビゲートする方法が見つかりません。

そのためのプラグイン (buffergrep など) を見つけましたが、この単純なタスクが vim トリックでネイティブにサポートされていない場合は驚くでしょう..そうですか?

4

3 に答える 3

4

から:help grepadd

:grepa[dd][!] [arguments]
            Just like ":grep", but instead of making a new list of
            errors the matches are appended to the current list.
            Example:
                :call setqflist([])
                :bufdo grepadd! something %
            The first command makes a new error list which is
            empty.  The second command executes "grepadd" for each
            listed buffer.  Note the use of ! to avoid that
            ":grepadd" jumps to the first error, which is not
            allowed with |:bufdo|.
            An example that uses the argument list and avoids
            errors for files without matches:
                                :silent argdo try 
                  \ | grepadd! something %
                  \ | catch /E480:/
                  \ | endtry"
于 2011-01-18T21:12:32.603 に答える
4

:grep& co. QuickFix バッファーにデータが入力されるため、結果間をすばやく移動できます。

于 2010-12-08T20:05:58.820 に答える
2

「そのためのプラグイン(たとえば、buffergrep)を見つけましたが、この単純なタスクがvimトリックでネイティブにサポートされていない場合は驚かれることでしょう。

私が知っていることではありません。そして、この機能を提供しようとする複数のプラグインの存在は、それを確認する傾向があります。。。

どのプラグインを試しましたか?また、何が欠けていましたか?

http://www.vim.org/scripts/script.php?script_id=2545
http://www.vim.org/scripts/script.php?script_id=2255

また、念のため、vimgrepを知っていますよね?Vimgrepは、ファイルをバッファーにロードし、バッファーでgrepsを実行する内部コマンドであり、結果はクイックフィックスウィンドウになります。確認はしていませんが、検索されたファイルがすでにバッファで開かれている場合、少なくとも「nomodified」フラグが設定されている場合は、Vimgrepがそのファイルをリロードしないと思います。その場合、Vimgrepを使用してすばやく簡単にバッファーgrepを実行する方法の1つは、:buffersコマンドからの出力を使用してVimgrepのファイルリストを作成することです。

于 2010-12-08T22:33:16.570 に答える