vim 查找并替换字符串

Ale*_*tos 2 vim regular-expression

例如,在 VIM 中,如果我有文本

http://a.com
http://b.com
Run Code Online (Sandbox Code Playgroud)

是否可以找到所有行(整行)并将其替换为前后的内容,例如:

<a href="http://a.com">http://a.com</a>
<a href="http://b.com">http://b.com</a>
Run Code Online (Sandbox Code Playgroud)

请注意,每一行的文本都是重复的。一次用于 href ,另一次用于文本。

Sté*_*las 5

:%s:.*:<a href="&">&</a>:
Run Code Online (Sandbox Code Playgroud)

与 ed/sed/perl 相同...

另一种ex越来越vim像的方法是:如果您知道如何为一行执行一次,请将其记录为宏,然后:%normal @mm该宏的位置运行。

Like(在正常模式下):qmS<a href="<Ctrl-R>""><Ctrl-R>"</a><Esc>q录制宏。