Après avoir lu votre commentaire sur le cas d'utilisation, il semble que vous pourriez utiliser un mappage de clé au lieu d'une macro.
J'ai cette ligne dans mon .vimrc (je ne me souviens pas où je l'ai trouvée):
nnoremap <Leader>s :%s/\<<C-r><C-w>\>//g<Left><Left>
Il a un effet similaire au cas d'utilisation que vous avez décrit, vous mettant sur la ligne de commande de sorte que la seule chose que vous ayez à faire est de taper le remplacement et d'appuyer sur Entrée, mais dans ce cas, en remplaçant toutes les occurrences du mot qui était sous votre curseur .
Pour simplement remplacer le bloc actuel, je pense que quelque chose comme ce qui suit devrait fonctionner:
nnoremap <Leader>s m'va{<ESC>``:'<,'>s/\<<C-r><C-w>\>//g<Left><Left>
Bien sûr, vous pouvez le mapper à la clé de votre choix.
Ce que cela fait: marquer la position actuelle à l'aide du marqueur sans nom, sélectionner visuellement le bloc actuel, quitter le mode visuel et ramener le curseur à la position enregistrée (les marqueurs de sélection visuels sont toujours définis), entrer en mode commande et taper la commande de remplacement , en insérant le mot qui se trouvait sous le curseur avec <C-r><C-w>
et en positionnant votre curseur pour taper le remplacement.