首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >替换为Vim中文件中其他位置的寄存器内容或行范围

替换为Vim中文件中其他位置的寄存器内容或行范围
EN

Stack Overflow用户
提问于 2009-03-19 15:46:58
回答 2查看 10.6K关注 0票数 69

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

可以用寄存器的内容替换模式吗?就像这样

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

否则,是否可以将其替换为一系列行?就像这样

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-19 15:48:24

根据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

票数 93
EN

Stack Overflow用户

发布于 2009-03-19 15:53:58

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

:%s/foo/\=join(getline(10, 15))/g
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/662734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档