0

我有一个看起来有点像这样的文件

foo
! START
bar1
! END
foo
! START
bar2
! END
foo

有没有一种方法可以在包含 START 和 END 模式的行之间提取文本?即得到

bar1 
bar2

我知道这样做

g/START/+1y

会为这个确切的例子做,但我正在寻找一种解决方案,它复制绑定在某个模式或开始和结束模式之间的所有行,而不管它们之间存在多少行。

帮助!:)

4

1 回答 1

3

您可以使用全局命令

qqq
:g/! START/+1,/! END/-1 y Q

解释

qqq          -> clears the q register
:g           -> starts a global command
! START      -> search for 
+1           -> start a range at search match +1
/! END/-1    -> up until ! END -1
y Q          -> append into Q register
于 2021-09-24T14:59:59.070 回答