: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  
Home >> post >> :set paste