এই পোস্টে আমার প্রিয় উত্তর আছে, https://coderwall.com/p/if9mda/autoचालित-set-paste-mode-in-vim-when-pasting-in-insert-mode
মূলত আপনি যদি সন্নিবেশ মোডে শুরু করেন এবং সিআরটিএল + শিফট + ভি বা আপনার মাউসের সাহায্যে ডান ক্লিকের পেস্ট ব্যবহার করেন, ভিম সনাক্ত করে যে এটি একটি টার্মিনাল থেকে এসেছে এবং স্বয়ংক্রিয়ভাবে পেস্ট মোড সেট করে, এটি একবার হয়ে গেলে আনসেট করে দেয়, যাতে আপনি পুনরায় কাটা কীগুলি হারাবেন না (যা পেস্ট মোডে কাজ করতে পারে না কারণ এটির কাঁচা ডেটা লেখা হয়) এবং এটি হয়ে গেলে আপনি "বুদ্ধিমান" অবস্থায় ফিরে যান।
শুধু ভিম এর জন্য (আপনার .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
আপনি যদি টিএমাক্সের আওতায় ভিএম ব্যবহার করেন (এখনও .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()