Skip to content
Fast and Easy Find and Replace Across Multiple Files
Latest commit 9b938ec Feb 17, 2013 Daniel Price committed with Version 1.1
Improved: much better support when grepprg is ack or grep. These tools can search much more quickly than vimgrep and so may be preferable to some users.
Feature: added a mapping to echo the command that EasyGrep will issue (see 'v' in the options explorer)
Feature: Added keymap toggle for EasyGrepSearchCurrentBufferDir
Fixed: command line parsing of Grep command discarded spaces
Feature: added support for grep exclusions when grepprg is grep or ack
Feature: Added EasyGrepDefaultUserPattern option.  Thanks to Jesus Barcons for the suggestion.
Improved: Cleaned up the documentation
Improved: Cleaned up the internals of the script substantially
Improved: Formalized multi-select mode, which is when multiple file extensions are selected from the options explorer
Improved: lots of misc fixes
Failed to load latest commit information.
doc Version 1.1 Feb 21, 2013
plugin Version 1.1 Feb 22, 2013
README Version 1.1 Feb 22, 2013


This is a mirror of

EasyGrep is a plugin for performing search and replace operations through multiple files. Vim already has builtin support for searching through files with its 'vimgrep' and 'grep' commands, but EasyGrep makes using them much, much easier. It also provides a powerful "Replace in Files" operation, something that is not very easy to do in Vim by default. With EasyGrep, you can specify with high-precision exactly the type of files you want to search, whether it be all files, only open buffers, only files matching a pattern, etc. Additionally, you can easily specify searching through hidden files, case-sensitivity, performing a recursive search, and many more options that make searching more easy.

EasyGrep provides both key mappings and commands to make search and replace easy. When using EasyGrep, searching for a word is as easy as typing <leader>vv (v v, not double-u) over the word for which you want to search.  This search can also be accomplished with the :Grep command and a user-specified pattern. Performing a "replace in files" is similar; type <leader>vr or use the :Replace command. Setting options is easy, simply type <leader>vo or :GrepOptions.  EasyGrep provides a great set of defaults but can also be configured to start up just how you like it; see the script for these options.  Most vimgrep (and grepprg) options are supported.  

For a screencast of the script in action go here:


    <Leader>vv  - Grep for the word under the cursor, match all occurences,
                  like |gstar|
    <Leader>vV  - Grep for the word under the cursor, match whole word, like 
    <Leader>va  - Like vv, but add to existing list
    <Leader>vA  - Like vV, but add to existing list
    <Leader>vr  - Perform a global search search on the word under the cursor
                  and prompt for a pattern with which to replace it.
    <Leader>vo  - Select the files to search in and set grep options


    :Grep [arg]
        Search for the specified arg, like <Leader>vv.  When an ! is added,
        search like <Leader>vV

    :GrepAdd [arg]
        Search for the specified arg, add to existing file list, as in
        <Leader>va.  When an ! is added, search like <Leader>vA

    :Replace [target] [replacement]
        Perform a global search and replace.  The function searches
        the same set of files a grep for the desired target and opens a dialog to
        confirm replacement.
        Undoes the last :Replace operation.  Does not stack successive
        searches; only the last replace may be undone.  This function may not
        work well when edits are made between a call to Replace and a call to

    :GrepOptions [arg]
        Open a window to set grep options.
Something went wrong with that request. Please try again.