Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Apply commands to multiple buffers and manage the argument list.
VimL
Tag: 1.10

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
autoload
doc
plugin
README

README

This is a mirror of http://www.vim.org/scripts/script.php?script_id=4152

DESCRIPTION
This plugin supports you with batch processing many files by extending the
built-in :windo, :argdo, etc. commands. You can filter the argument list,
add files _not_ matching a pattern, convert between arguments and quickfix
list, and apply arbitrary Ex commands (also partially) via :Argdo, then
analyze any errors and retry on an argument list where the successfully
processed arguments have been removed.

RELATED WORKS
- The :ArgsNegated command was inspired by the following Stack Overflow
  question:
    http://stackoverflow.com/questions/11547662/how-can-i-negate-a-glob-in-vim

USAGE
:Bufdo {cmd}		Execute {cmd} in each buffer in the buffer list, then
			return back to the original one.

:Windo {cmd}            Execute {cmd} in each window, then return back to the
                        original one.

:Winbufdo {cmd}         Execute {cmd} in each different buffer shown in one of
                        the windows in the current tab page (once per buffer),
                        then return back to the original one.

:Tabdo {cmd}            Execute {cmd} once in each tab page, then return back
                        to the original one.

:Tabwindo {cmd}         Execute {cmd} in each open window on each tab page,
                        then return back to the original one.

:Argdo {cmd}            Execute {cmd} for each file in the argument list, then
                        return back to the original file and argument.
:[range]Argdo {cmd}     Execute {cmd} for the [range] of indices from the
                        argument list, then return back to the original file
                        and argument.
                        For example, to execute {cmd} on the remaining
                        arguments, use :.,$Argdo {cmd}

                        In contrast to :argdo, this also avoids the
                        hit-enter prompt (all files will be processed
                        without further interaction from you), and an error
                        summary will be printed.
                        To work on the errors / arguments with errors, you can
                        use :ArgdoErrors and :ArgdoDeleteSuccessful.

:ArgdoErrors            List all error messages that occurred during the last
                        :Argdo command, and for each unique error, print the
                        argument number and filespec.

:ArgdoDeleteSuccessful  Delete those arguments from the argument list that
                        didn't cause any error messages during the last
                        :Argdo command.


:ArgsFilter {expr}      Apply the filter() of {expr} to the argument list,
                        and keep only those where {expr} yields true. This
                        allows you to :argdelete multiple arguments at once
                        and to delete without specifying the full filename.

:ArgsNegated[!] {arglist}
                        Define all files except {arglist} as the new argument
                        list and edit the first one.


:ArgsList[!]            List each argument number and filespec in a neat list
                        (not just one after the other as :args). With [!],
                        expand all arguments to absolute filespecs.
:ArgsList[!] {glob}     List each argument number and filespec that matches
                        (with [!]: does not match) {glob} in a neat list.
                        Matching and printing is done to the full filespec.


:ArgsToQuickfix         Show all arguments as a quickfix list.


:CListToArgs            Convert the files in the quickfix list to arguments.
:[count]CListToArgsAdd

:LListToArgs            Convert the files in the window's location list to
:[count]LListToArgsAdd  arguments.
Something went wrong with that request. Please try again.