Если вы хотите создать карту для рекурсивного макроса, я предлагаю вам сделать что-то вроде этого:
nmap <f2> :let @a = "f/xb@a"|normal @a
Конечно, это забивает регистр @a, и если вы обнаружите, что выполняете многие из этих отображений, возможно, функция лучше подойдет вашим потребностям.
Вот более безопасная альтернатива для создания рекурсивных макросов:
function! RecMacroExe(cmds)
let a = @a
let @a = a:cmds . "@a"
try
normal @a
finally
let @a = a
endtry
endfunction
nmap <f2> :call RecMacroExe("f/xb")<cr>
Редактировать : изменена функция в соответствии с комментарием @Luc Hermitte