vim - 在 Vim 中,如何将宏应用于一组行?

标签 vim vim-macros

我有一个包含一堆行的文件。我录制了一个在单行上执行操作的宏。我想在文件中的所有剩余行上重复该宏。有没有快速的方法来做到这一点?

我尝试了 Ctrl+Q,突出显示一组行,然后按 @@,但这似乎没有效果。

最佳答案

使用normal Ex模式下的命令在多行/所有行上执行宏:

执行第 5 行至第 10 行寄存器 a 中存储的宏。

:5,10norm! @a

从第 5 行到文件末尾执行寄存器 a 中存储的宏。

:5,$norm! @a

在所有行上执行寄存器a中存储的宏。

:%norm! @a

在匹配模式的所有行上执行寄存器a中的宏存储。

:g/pattern/norm! @a

要在可视选择的行上执行宏,请按 Vjk 直至选择所需区域。然后输入 :norm! @a 并观察显示的以下输入行。

:'<,'>norm! @a

在 vim 中输入 :help normal 来阅读更多内容。

关于vim - 在 Vim 中,如何将宏应用于一组行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/390174/

相关文章:

vim - 如何在 Vim 中自动完成文件路径,就像在 zsh 中一样?

vim - Vim 中的代码折叠/缩进指南?

接受用户输入的 Vim 宏

vim - 在 vim 中插入类似行时,如何最大限度地减少击键次数?

regex - Vim:忽略映射替换列表中的错误

python - 使用 vim 打开新的 python 文件时自动 header

c++ - 如何找到全局函数?

vim - 如何重复最后一个 VIM 宏?

macos - 如何在Vim中存储Golang模板宏