如何在带有 vim 的行列表上应用宏

how to apply macro on list of lines with vim

假设我想在第 2、5、9 行应用存储在寄存器 1 中的宏,但不在其间的行应用。我看到你可以给出一个范围,但这不是我想要的。 我在 :2, 5, 9 @1 上尝试了一些变体但没有成功

如果这些行有一些共同点,您可以使用 :global:normal 命令:

:g/foo/norm! @1

稍微 "smarter" 但可能不如以下直观:

2G@1
5G@1
9G@1

参见 :help :global:help :normal