我有一些带有<hr/>标签组的文档:
<hr/>
<p>stuff</p> <hr/> <hr/> <hr/> <p>stuff</p>
字符串非常感谢您提供了如何在Vim中替换此标记的单个示例的提示。
dauxcl2d1#
您可以将<hr/>\n设置为一个组,并搜索多个组,然后替换为单个组。另外请注意,在Vim中,您可以使用不同的分隔符,这对于使用斜线等分隔符的情况特别有用。如果没有标记,则无需关闭替换命令。
<hr/>\n
:%s#\(<hr/>\n\)\+#\1
字符串使用\v来启用非常神奇的功能,甚至可以避免更多的转义。但是<和>将被视为特殊的单词边界。因此您必须对它们进行转义。
\v
<
>
:%s#\v(\<hr/\>\n)+#\1
型当然,如果文件中唯一重复的行是这些标签,这也足够了:
:%!uniq
型
r7xajy2e2#
您可以在vim中使用此搜索替换:
vim
:%s/<hr\/>\n\(<hr\/>\n\)\+/\1/
字符串<hr\/>\n\(<hr\/>\n\)\+将找到2个或更多包含<hr/>的行,我们将其替换为\1,即<hr/>\n。
<hr\/>\n\(<hr\/>\n\)\+
\1
zfycwa2u3#
也适用于:
:%s/\(<hr\/>\n\)\+/<hr\/>\r
字符串
3条答案
按热度按时间dauxcl2d1#
您可以将
<hr/>\n
设置为一个组,并搜索多个组,然后替换为单个组。另外请注意,在Vim中,您可以使用不同的分隔符,这对于使用斜线等分隔符的情况特别有用。如果没有标记,则无需关闭替换命令。字符串
使用
\v
来启用非常神奇的功能,甚至可以避免更多的转义。但是<
和>
将被视为特殊的单词边界。因此您必须对它们进行转义。型
当然,如果文件中唯一重复的行是这些标签,这也足够了:
型
r7xajy2e2#
您可以在
vim
中使用此搜索替换:字符串
<hr\/>\n\(<hr\/>\n\)\+
将找到2个或更多包含<hr/>
的行,我们将其替换为\1
,即<hr/>\n
。zfycwa2u3#
也适用于:
字符串