I just think it might be worth mentioning that it's possible (and in my case very handy) to use this in visual mode and even visual block mode.
Example .vimrc:
vmap <silent>( <Plug>(operator-surround-append)( vmap <silent>[ <Plug>(operator-surround-append)[ vmap <silent>{ <Plug>(operator-surround-append){ vmap <silent>" <Plug>(operator-surround-append)" vmap <silent>' <Plug>(operator-surround-append)'
This works also in visual block mode in the sense that selecting a block and hitting ( for example, will put a ( and ) around the selection on each line.
I just think it might be worth mentioning that it's possible (and in my case very handy) to use this in visual mode and even visual block mode.
Example
.vimrc:vmap <silent>( <Plug>(operator-surround-append)( vmap <silent>[ <Plug>(operator-surround-append)[ vmap <silent>{ <Plug>(operator-surround-append){ vmap <silent>" <Plug>(operator-surround-append)" vmap <silent>' <Plug>(operator-surround-append)'This works also in visual block mode in the sense that selecting a block and hitting
(for example, will put a(and)around the selection on each line.