![在vim中删除html文件中标签之间的空格](https://linux22.com/image/1128492/%E5%9C%A8vim%E4%B8%AD%E5%88%A0%E9%99%A4html%E6%96%87%E4%BB%B6%E4%B8%AD%E6%A0%87%E7%AD%BE%E4%B9%8B%E9%97%B4%E7%9A%84%E7%A9%BA%E6%A0%BC.png)
我正在编辑一个格式错误的 html 文件。
在几个地方,标签之间有不必要的空格。例如,见下文:
<b> Bold Text </b>
我想删除这个额外的空间以获得:
<b>Bold Text</b>
但我无法生成搜索和替换模式来处理所有可能性,即:
<b>**Bold_Text**</b>
<b>**Bold_Text**</b>__normal_text__<em>**Emphasised_Text**</em>
<ul><li>**Bullet**</li><li>**Bullet**</li></ul>
注:*表示需要删除的空间,_表示需要保留的空间。
\(<.\{-}>\)\s\+\(\S\+.*\)\s\+<
在案例 2 中,搜索字符串失败,它会删除正常文本周围的空格。我需要对元素进行分组,以便可以在替换中使用它们。
答案1
我能找到的最好的方法是使用tidy
清理文件然后使用:
:%s/<b>\s*/<b>
以及宏中的几个这样的命令