vim调整粘贴时的文本缩进

     解决办法:

1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)
2. 拷贝完成之后,输入:set nopaste (关闭paste)

 

 


 

在 Vim 中粘贴文本时可能会遇到这样的问题,有时文本的缩进会发生变化,特别是在粘贴大量的文本时,这个问题会更加明显。把下面这段配置加入到配置文件 ~/.vimrc 中,这样 Vim 就会自动地阻止粘贴文本时的自动缩进。

" for tmux to automatically set paste and nopaste mode at the time pasting (as
" happens in VIM UI)
  
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()

 

posted @ 2018-11-21 20:06  yjig  阅读(457)  评论(0编辑  收藏  举报