You are correct on both counts regarding the vim and grep example - I guess I just assumed I would have to have all the files on a single line before handing them off to vim.
Thanks for the suggestion about -exec +; I will have to remember it in the future.
For
you may find -exec's + of use. The above has the fork/execve overhead for each file found.