Depois de ler seu comentário sobre o caso de uso, parece que você pode usar um mapeamento de teclas em vez de uma macro.
Eu tenho esta linha no meu .vimrc (não me lembro onde a encontrei):
nnoremap <Leader>s :%s/\<<C-r><C-w>\>//g<Left><Left>
Ele tem um efeito semelhante ao caso de uso que você descreveu, colocando você na linha de comando. Portanto, a única coisa que você precisa fazer é digitar a substituição e pressionar enter, mas, neste caso, substituir todas as ocorrências da palavra que estava sob o cursor .
Para substituir apenas dentro do bloco atual, acho que algo como o seguinte deve funcionar:
nnoremap <Leader>s m'va{<ESC>``:'<,'>s/\<<C-r><C-w>\>//g<Left><Left>
Obviamente, você pode mapeá-lo para qualquer chave que desejar.
O que faz acima: marque a posição atual usando o marcador sem nome, selecione visualmente o bloco atual, saia do modo visual e retorne o cursor para a posição salva (os marcadores de seleção visual ainda estão definidos), entre no modo de comando e digite o comando substituto , inserindo a palavra que estava sob o cursor <C-r><C-w>
e posicionando o cursor para digitar a substituição.