Esta publicação tem minha resposta favorita, https://coderwall.com/p/if9mda/automatically-set-paste-mode-in-vim-when-pasting-in-insert-mode
Basicamente, se você iniciar no modo Inserir e usar Ctrl + Shift + V ou clicar com o botão direito do mouse em colar com o mouse, o Vim detecta que isso veio de um terminal e define automaticamente o modo de colagem, depois o desmarca assim que feito, para não perder as chaves remapeadas (que não pode funcionar no modo colar porque está gravando dados brutos) e você volta ao estado "sã" quando terminar.
Por apenas vim (coloque no seu .vimrc)
let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
function! XTermPasteBegin()
set pastetoggle=<Esc>[201~
set paste
return ""
endfunction
Se você usa o vim no Tmux (ainda entra no .vimrc)
function! WrapForTmux(s)
if !exists('$TMUX')
return a:s
endif
let tmux_start = "\<Esc>Ptmux;"
let tmux_end = "\<Esc>\\"
return tmux_start . substitute(a:s, "\<Esc>", "\<Esc>\<Esc>", 'g') . tmux_end
endfunction
let &t_SI .= WrapForTmux("\<Esc>[?2004h")
let &t_EI .= WrapForTmux("\<Esc>[?2004l")
function! XTermPasteBegin()
set pastetoggle=<Esc>[201~
set paste
return ""
endfunction
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()