@ followed by a register symbol represents a register. In addition to the standard numbered registers
@[0-9], there are several special registers.
:: command register
/: search register
%: filepath register
": last yanked value register
+: system clipboard register
=: expression register
:reg for a complete list.
Note that since macros are just command sequences stored as a string in a register, you can edit macros this way as well.
:let @q='<Ctrl-r>q' # ...and then modify
Useful for when you search for something unwieldy to type and need to reuse it later (for a replace for example).
/some-long-and-complicated-search-string # search something arcane:%s/<Ctrl-r>//replacement-string # reuse without retyping
:let @+ = expand("%")
Useful for transformations. The following will dashcase all capture group matches using abolish.vim.