Vim uses registers to store text. It may be helpful for you to read :h registers if you haven't already, as well as the user manual (this is covered in section 04.7)
Assuming you are using a version with the clipboard feature compiled in (which the default vim version on macOS as well as homebrew has), you can use the * register. So for your visual mode ...
There's Ctrl-RCtrl-O combo in insert mode (see :h i_CTRL-R_CTRL-O).
If setting :h 'paste' is needed, here are the mappings to do this (kind of emulating tpope/vim-unimpaired plugin):
nnoremap <silent>[op :setl paste<Bar>au InsertLeave * ++once setl nopaste<CR>O
nnoremap <silent>]op :setl paste<Bar>au InsertLeave * ++once ...
I haven't found some elegant way to do so bu you can create your own way to do so.
First you can create somme key bindings (work on visual mode only).
xnoremap <Leader>y y:MultiRegister<Space>
xnoremap <Leader>d d:MultiRegister<Space>
xnoremap <Leader>c c:MultiRegister<Space>
xnoremap <Leader>x x:...