Dopo aver letto il tuo commento sul caso d'uso, sembra che potresti usare una mappatura dei tasti anziché una macro.
Ho questa linea nel mio .vimrc (non ricordo dove l'ho trovata):
nnoremap <Leader>s :%s/\<<C-r><C-w>\>//g<Left><Left>
Ha un effetto simile al caso d'uso che hai descritto, mettendoti sulla riga di comando, quindi l'unica cosa che devi fare è digitare la sostituzione e premere invio, ma in questo caso, sostituendo tutte le occorrenze della parola che era sotto il cursore .
Per sostituire solo all'interno del blocco corrente, penso che dovrebbe funzionare qualcosa di simile al seguente:
nnoremap <Leader>s m'va{<ESC>``:'<,'>s/\<<C-r><C-w>\>//g<Left><Left>
Ovviamente, puoi mapparlo su qualsiasi chiave tu voglia.
Cosa fa sopra: segna la posizione corrente usando il marcatore senza nome, seleziona visivamente il blocco corrente, lascia la modalità visiva e riporta il cursore nella posizione salvata (i marcatori di selezione visiva sono ancora impostati), entra in modalità comando e digita il comando sostitutivo , inserendo la parola che si trovava sotto il cursore con <C-r><C-w>
e posizionando il cursore per digitare la sostituzione.