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()