我正在使用Vim,我想用一个长字符串替换一些占位符文本,该字符串跨越多行,这些行已经写在文件的其他位置。
是否可以用寄存器的内容替换模式?像
这样的东西:%s/foo/<contents of register A>
否则,是否可以用一系列线代替?
之类的东西:%s/foo/<content of lines from 10 to 15>
答案 0 :(得分:84)
根据http://vim.wikia.com/wiki/Search_and_replace 看来:
:%s/foo/\=@a/g
此外,在插入模式下按<c-r>a
将插入寄存器a
的内容。
与<c-r>
:http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R
答案 1 :(得分:20)
:%s/foo/\=getline(10, 15)/g
:%s/foo/\=join(getline(10, 15))/g