A Vim plugin that adds a :Qargs utility command, for populating the argument list from the files in the quickfix list, and a :Qdo command to act on this list.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 12 commits ahead, 8 commits behind nelstrom:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A Vim plugin for executing operations on the files in the quickfix list.

If the current window has a local quickfix list (a location list), then it's used instead of the global quickfix list, otherwise the global quickfix list is used.

Qdo command

The plugin adds a :Qdo command, which executes a command once for each file in the quickfix list.

Usage example:

:GitGrep foo.*bar
:Qdo %s/foo.*bar/baz/g | update

This will replace text and save the buffers for each file found by GitGrep in the previous search.

Qargs command

The plugin also adds a :Qargs command, which populates the argument list from the files in the quickfix list. Each file is only added once, even if there are multiple lines for the same file in the quickfix list.

Usage example:

:args *.txt
:vimgrep /foo/g ##
:argdo %s/foo/bar/ge
:argdo update


For an step-by-step guide and explanation, refer to the article Project Wide Search And Replace In Vim With Qdo.

For a video tutorial of search and replace strategies, and the original code which this plugin is based on, refer to Project-wide find and replace.

For a description of the need and the approach used by this solution, refer to the question Search & replace using quickfix list in Vim.