在一些 html 编辑的基础上,我想出了需要一些 VIM 大师的帮助。
我不想完成简单的任务 - 我有带有损坏 url 的 html 文件。
<a href="http://some/wrong/url with variable number of spaces">Just description</a> <a href="http://some/wrong/url with three spaces">Just description</a>
...
<a href="http://anoter/wrong/url with completely other number of spaces">Just description</a>
不幸的是,它不是“每行一个 url”。
我知道三种方法:
我希望只能在
'"http://[^"]*"'
正则表达式中替换(类似于仅在匹配行中替换 - 但这次不是整行,而是应该只涉及匹配模式)或者使用类似 sed 的标签——我可以用 sed -e 来完成这个任务:a -e
's#\("http://[^" ]*\) \([^"]*"\)#\1_\2#g;ta'
我也知道有类似的东西,
"\@<="
但我不是母语人士,这方面的 vim 手册超出了我的理解范围。
非常感谢所有帮助。
如果可能的话,我想知道所有三个问题的答案(因为这些问题非常有趣并且对其他任务有帮助),但其中任何一个都可以。