如何在 Vim 中拉出或删除不同范围内的多行?

如何在 Vim 中拉出或删除不同范围内的多行?

我看到了几个关于在 Vim 中删除一系列行的问题,例如从第 5 行到第 10 行。

但是,我还没有找到(在文档和谷歌搜索中)如何在单个命令中进行提取/删除,例如第 3、5、10 和 12 行。

这可能吗?

答案1

这是可能的,但并不简单。Vim 不支持多个范围或多个不相邻的行号。请参阅

:help 10.3
:help :range

:g不过,您可以使用行号原子在命令模式中指定要提取的行。请参阅

:help :g
:help /\%l

在您的示例中,以下内容会将这些行拉入a寄存器中。

:g/\%3l\|\%5l\|\%10l\|\%12l/y A

相关内容