69

我正在使用 Vim,我想用一个长字符串替换一些占位符文本,该字符串跨越几行,已经写在文件的其他地方。

是否可以用寄存器的内容替换模式?就像是

:%s/foo/<contents of register A>

否则,是否可以用一系列行替换?就像是

:%s/foo/<content of lines from 10 to 15>
4

2 回答 2

93

根据http://vim.wikia.com/wiki/Search_and_replace 出现:

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

<c-r>a此外,在插入模式下按下将插入寄存器的内容a

酷——我从来不知道。好问题。

其他一些事情要做:http <c-r>: //vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R

于 2009-03-19T15:48:24.417 回答
24
:%s/foo/\=getline(10, 15)/g

:%s/foo/\=join(getline(10, 15))/g
于 2009-03-19T15:53:57.930 回答