Setelah membaca komentar Anda tentang use case, sepertinya Anda bisa menggunakan pemetaan kunci alih-alih makro.
Saya memiliki baris ini di .vimrc saya (tidak ingat di mana saya menemukannya):
nnoremap <Leader>s :%s/\<<C-r><C-w>\>//g<Left><Left>
Ini memiliki efek yang mirip dengan kasus penggunaan yang Anda gambarkan, menempatkan Anda pada baris perintah sehingga satu-satunya hal yang harus Anda lakukan adalah mengetikkan penggantian dan tekan enter, tetapi dalam kasus ini, mengganti semua kemunculan kata yang berada di bawah kursor Anda .
Untuk mengganti saja di dalam blok saat ini, saya pikir sesuatu seperti yang berikut ini akan berfungsi:
nnoremap <Leader>s m'va{<ESC>``:'<,'>s/\<<C-r><C-w>\>//g<Left><Left>
Tentu saja, Anda dapat memetakannya ke tombol apa pun yang Anda inginkan.
Apa yang dilakukan di atas: tandai posisi saat ini menggunakan penanda yang tidak disebutkan namanya, pilih secara visual blok saat ini, tinggalkan mode visual dan kembalikan kursor ke posisi yang disimpan (penanda pemilihan visual masih diatur), masukkan mode perintah dan ketik perintah pengganti , masukkan kata yang berada di bawah kursor dengan <C-r><C-w>
, dan posisikan kursor Anda untuk mengetik pengganti.