Posting ini memiliki jawaban favorit saya, https://coderwall.com/p/if9mda/automatically-set-paste-mode-in-vim-when-pasting-in-insert-mode
Pada dasarnya jika Anda mulai dalam mode Sisipkan dan menggunakan Ctrl + Shift + V atau klik kanan tempel dengan mouse Anda, Vim mendeteksi bahwa ini berasal dari terminal dan secara otomatis menyetel mode tempel, lalu hapus kodenya setelah selesai, sehingga Anda tidak kehilangan kunci yang dipetakan ulang (yang tidak dapat bekerja dalam mode tempel karena menulis data mentah) dan Anda kembali ke keadaan "waras" ketika selesai.
Untuk vim saja (masukkan .vimrc Anda)
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
Jika Anda menggunakan vim di bawah Tmux (masih berjalan di .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()