Esta publicación tiene mi respuesta favorita, https://coderwall.com/p/if9mda/automatically-set-paste-mode-in-vim-when-pasting-in-insert-mode
Básicamente, si comienza en modo Insertar y usa Ctrl + Shift + V o hace clic con el botón derecho en pegar con el mouse, Vim detecta que esto proviene de un terminal y establece automáticamente el modo pegar, luego lo desarma una vez hecho, para que no pierda las teclas reasignadas (que no puede funcionar en modo pegar porque está escribiendo datos sin procesar) y vuelve a un estado "sano" cuando se hace.
Por solo vim (pon tu .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
Si usa vim debajo de Tmux (todavía va en .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()