![如何在 Vim 中拉出或删除不同范围内的多行?](https://linux22.com/image/1405923/%E5%A6%82%E4%BD%95%E5%9C%A8%20Vim%20%E4%B8%AD%E6%8B%89%E5%87%BA%E6%88%96%E5%88%A0%E9%99%A4%E4%B8%8D%E5%90%8C%E8%8C%83%E5%9B%B4%E5%86%85%E7%9A%84%E5%A4%9A%E8%A1%8C%EF%BC%9F.png)
我看到了几个关于在 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