" Yank Base64 encoded/decoded text of the selected text function! s:encode_base64() abort normal! gvy let @@ = system('base64', @@) let @@ = substitute(@@, '^[\r\n\s]*\|[\r\n\s]*$', '', 'g') normal! gvp endfunction function! s:decode_base64() abort normal! gvy let @@ = system('base64 -d', @@) let @@ = substitute(@@, '^[\r\n\s]*\|[\r\n\s]*$', '', 'g') normal! gvp endfunction vnoremap (my-decode-base64) :call encode_base64() vnoremap (my-encode-base64) :call decode_base64() vmap (my-decode-base64) vmap (my-encode-base64)