解决vi/vim粘贴时自动缩进的问题
vi/vim粘贴的时候经常自动缩进,非常烦人,通常通过set paste
可以解决该问题,但是与此同时,手动敲代码的自动缩进功能也就禁用了,只有通过set nopaste
来重新恢复。
很明显,手动切来切去非常麻烦,那么有没有一种自动识别的方法呢?通过在.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