I love: regular expressions and vim
I hate: regular expressions of sed and
grep
I adore: vim’s enhanced regular expressions
I want: to be able to use vim from the command line
to do advanced searches across sets of files, like:
# find "foo" followed by whitespace and "bar", even across lines
$ vim $SOMETHING 'g/foo\_s*bar/'
# words ending in "bar"
$ vim $SOMETHING 'g/bar\>/'
# words starting with "foo"
$ vim $SOMETHING 'g/\<foo/'
… and more. What does $SOMETHING have to be set
to?
Update: Neil Moore suggests the following shell function:
vgrep () {
local S="$1"; shift
vim -es +"argdo g/$S" +':q!' "$@"
}
This works. I shall be posting any improvements I make over the next couple of weeks in another blog post. If there are any. But I suppose options like -i and -v might be good to have.

