27
|
Mert Nuhoglu · 技术社区 · 15 年前 |
![]() |
1
49
它真的很有创意。让我们把它分解。这个
将搜索所有空行并执行
最棘手的是
这个
逗号后是
换言之,范围的结尾是您当前正在操作的行之后或该行处的最后一个空行。 然后在该范围内执行联接。 如果范围的开始和结束是相等的(部分中只有一个空行),则join不做任何操作。如果它们不相等,join将把它们全部连接起来。 这就是它将多个空行组合成一个空行的方式。 让我们看一个例子(行号不在文件中):
这个
对于第2行,
对于第5行,
我不是 完全地 这一点是肯定的,但我认为该操作可能不会在作为早期操作的一部分而消失的线路上执行。这是因为处理循环早期删除的行没有意义。 换言之,由于删除了第6行到第8行(与第5行结合使用),因此之后全局命令不会对它们进行操作。我基于这样一个事实,即VIM文档声明了一个两通算法,一个用于标记行,一个用于执行操作。 我 可以 在这一点上是错误的(这不是第一次),但它是一个不影响功能的实现细节。 |
![]() |
DotFX · RegEx捕获关键字前但括号后的所有内容 5 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 5 月前 |
![]() |
iato · 确保正则表达式不从命名材料中的数字中提取 6 月前 |
![]() |
vr8ce · 非成对标记中特定字符的正则表达式 6 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 6 月前 |
![]() |
Carsten · 使用最近的搜索模式更改文本块 6 月前 |