Substitute with contents of register or lines range from elsewhere in file in Vim

Solution 1:

According to http://vim.wikia.com/wiki/Search_and_replace It appears:

:%s/foo/\=@a/g

Also, pressing <c-r>a while in insert mode will insert the contents of register a.

Cool -- I never knew that. Good question.

Some other things to do with <c-r>: http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R

Solution 2:

:%s/foo/\=getline(10, 15)/g

:%s/foo/\=join(getline(10, 15))/g