gpt4 book ai didi

vim - 如何在 Vim 中删除多范围内的空行

转载 作者:行者123 更新时间:2023-12-04 06:51:33 24 4
gpt4 key购买 nike

我得到一个文本文件:

<p>...</p>
<pre>
...

...
...
...
</pre>
<p>...</p>
<p>...</p>
<p>...</p>
<pre>

...
...

...
</pre>
<p>...</p>

注意:有一些 空行之间 [预]...[/预] .
我想删除它们。
但是,我想将它们保留在 中[ p]...[/p]
文本文件变为:
<p>...</p>
<pre>
...
...
...
...
</pre>
<p>...</p>
<p>...</p>
<p>...</p>
<pre>
...
...
...
</pre>
<p>...</p>

我使用下面的 cmd 来定位它们:
/<pre>\n\zs\_.\{-}\ze\n<\/pre>

但是我不知道接下来要做什么!
我需要一个 一行命令去做这个。
任何的想法?谢谢!
越简单越好!

编辑:
谢谢你们。我只是想知道如何在我的 another question 的帮助下做到这一点
:g/<pre>/,/<\/pre>/s/^$\n//

最佳答案

你的问题和被曝光的很相似there .

有一个循环(带搜索,用“no wrap”调用)首先搜索开始标签,然后是结束标签。这定义了一个范围,您将在该范围内应用 g/^\s*$/d_ .

由于某些行将被删除,因此向后工作可能更容易。

编辑:以下单行似乎也有效

g/<pre>/,/<\/pre>/s/^\s*$\n//g

关于vim - 如何在 Vim 中删除多范围内的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3052014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com