vi +'bufdo %s/pattern/replacement/g | update' +q $(grep -rl pattern /path/to/dir)
bufdo %s/pattern/replacement/g | update = perform the pattern substitution in all files and save the changesq = exit viThe :bufdo command might not be there in old versions of vim.