:set paste
paste mode にする。オートインデント無効化と同じ効果。
オートインデント(自動インデント)を一時的に無効化したい場合などに利用する。
:set paste
コピペする際にオートインデントが機能すると困るから、そのような時に手動で paste mode にすれば良い。戻す時は
:set nopaste
他の方法
:a! ペースト(Ctrl+v) Esc
これでも OK 。
あるいはオートインデントの無効化を指定する
:set noautoindent
オートインデントを有効化する場合は
:set autoindent
手動で切り替えるのが面倒な場合は以下
コピペ操作を検出したら自動で paste mode に
自動化スクリプトを .vimrc に直接記述することもできる。
if &term =~ "xterm"
let &t_ti .= "\e[?2004h"
let &t_te .= "\e[?2004l"
let &pastetoggle = "\e[201~"
function XTermPasteBegin(ret)
set paste
return a:ret
endfunction
noremap <special> <expr> <Esc>[200~ XTermPasteBegin("0i")
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
cnoremap <special> <Esc>[200~ <nop>
cnoremap <special> <Esc>[201~ <nop>
endif