Você pode tentar isso:
:.,'c normal @a
Isso usa o comando "ranged" :normal para executar o modo normal comando @a com o cursor posicionado sucessivamente na primeira coluna de cada linha, começando com a linha atual e indo até a linha com a marca c . Se a marca estiver acima do cursor, o Vim perguntará se você deseja inverter o intervalo .
Isso nem sempre é o mesmo que aplicar uma contagem a @a (por exemplo, 5@a ) porque o conteúdo do registrador a nem sempre pode ser movido para baixo em uma única linha sempre que for executado ( considere uma “macro” que usa pesquisas para se movimentar, em vez de j ou k : seria necessário uma contagem maior para processar totalmente as linhas que têm várias correspondências).