在vim上使用正则表达式来查找并将所有href链接内容替换为“#”?

use*_*249 3 regex vim macvim

是否可以使用vim替换“ http://google.com/”和其他指向“#”的链接?

 <a class="link1" href="http://google.com/">My Link</a>
 <a class="link1" href="http://yahoo.com/">My Link</a>
 <a href="http://stackoverflow.com/">My Link</a>
Run Code Online (Sandbox Code Playgroud)

 <a class="link1" href="#">My Link</a>
 <a class="link1" href="#">My Link</a>
 <a href="#">My Link</a>
Run Code Online (Sandbox Code Playgroud)

谢谢

Roc*_*key 5

这应该处理基本http情况:

:%s/http:\/\/[^\"]*/#/g
Run Code Online (Sandbox Code Playgroud)

但这应该更灵活-一般想法是找到的实例href=",将其另存为一组,然后进行匹配,直到我们碰到另一个为止"。然后,将其替换为组(\1)和井号:

:%s/\(href=\"\)[^\"]*/\1#/g
Run Code Online (Sandbox Code Playgroud)

  • 同意@steveha-Vim的功能非常强大,但是起初可能有点让人不知所措。找到一个很好的教程(即使尝试在命令提示符下键入`vimtutor`),也可以很好地希望所有内容都具有Vim界面:) (2认同)