代码之家  ›  专栏  ›  技术社区  ›  Kevin

重放VIM宏直到缓冲区结束

  •  74
  • Kevin  · 技术社区  · 15 年前

    我想运行一个我刚记录在寄存器中的宏” x “在打开的缓冲区的每一行上,从我的光标到缓冲区的末尾,在vim中。我该怎么做?

    我知道我可以重放宏n次:

    15@x
    

    …或者只是按住 @ 直到我到达最后一行,但我只想按几下键就可以完成了。

    事先谢谢。

    5 回复  |  直到 10 年前
        1
  •  86
  •   Randy Morris    15 年前

    我个人会的

    VG:normal @x
    

    编辑:将寄存器更改为您指定的寄存器。

        2
  •  57
  •   ryan_s    15 年前

    可以(在命令模式下)

    :%normal @x
    
        3
  •  22
  •   Maxim Kim    15 年前

    生成递归宏:

    qa@aq
    

    前任:

    qa0gUwj@aq
    

    它将第一个单词从当前行升格到文件末尾,并使用single@a。 但要确保“寄存器是空的:

    let @a=""
    
        4
  •  8
  •   Peter    15 年前

    999999@x 除非你有一个很大的缓冲区…

        5
  •  -1
  •   user3499436    10 年前

    来自vim wiki,简称: QQQQ录制宏 @QQ完成录制 @q执行(并将运行到文件结尾)