解决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
posted @ 2022-09-05 16:45  不晓得叫什么  阅读(340)  评论(0编辑  收藏  举报