一键vim宏/交互式搜索和运行宏

一键vim宏/交互式搜索和运行宏,vim,vim-macros,Vim,Vim Macros,我知道我可以用q录制宏,并用@运行宏。我还知道我可以使用@运行上次使用的宏 但是@是两次完整的击键!太多了!特别是如果我多次运行该宏。我知道@但是如果我事先不知道怎么办 实际上,我所寻找的是一种运行宏的交互式搜索和替换(请参阅)。可以这样做吗?在正常模式下只需一次按键即可应用宏a: :nnoremap , @a 然后,您可以在希望应用宏时使用“,”或在希望跳到下一次搜索时使用“n” 要以交互方式将宏应用于搜索匹配项,请执行以下操作: 用“qa”定义宏 用“/”搜索 应用宏以匹配“,” 用“n”

我知道我可以用
q
录制宏,并用
@
运行宏。我还知道我可以使用
@
运行上次使用的宏

但是
@
是两次完整的击键!太多了!特别是如果我多次运行该宏。我知道
@
但是如果我事先不知道
怎么办


实际上,我所寻找的是一种运行宏的交互式搜索和替换(请参阅)。可以这样做吗?

在正常模式下只需一次按键即可应用宏a:

:nnoremap , @a
然后,您可以在希望应用宏时使用“,”或在希望跳到下一次搜索时使用“n”

要以交互方式将宏应用于搜索匹配项,请执行以下操作:

  • 用“qa”定义宏
  • 用“/”搜索
  • 应用宏以匹配“,”
  • 用“n”跳过匹配

  • 我的
    ~/.vimrc
    中有这个:

    " <A-@>         Repeat last macro with a single key combination.
    nnoremap <A-2> @@
    
    “使用单键组合重复上一个宏。
    nnoremap@@
    
    因此,首先我像往常一样用寄存器名重放,例如,
    @a
    。然后我用
    @
    重复。然后我意识到我还需要几次重复(但不能使用
    [count]
    ),所以我切换到Alt+@(
    @
    在美式英语键盘布局上高于
    2