vim で 複数行のテキストをペーストするときの勝手なインデントを回避するには

シェアする

vimで、オートインデント機能が有効なため、コードを記述するときはタブを挿入する必要がなく便利です。

しかし、Webからコードをコピペしようとすると、オートインデント機能が邪魔をして、複数行をペーストするとき、どんどん右側にインデントしてしまいます。

また、コメント文があると、以降の行が全部コメント付きと判断されてしまうため、ますますやってられない状態になってしまいます。

vimでオートインデント付きで、複数行をコピペした時の様子

こんな時、

:set paste

で、ペーストモードに入ると、i をおした時、以下のように、挿入モードではなく、挿入(貼付け)モードになり、オートインデントの副作用なく、そのままペーストすることができます。

set paste でペーストモードに入ってからのペースト

ペーストが終わったら、

:set nopaste

でオートインデントありの通常モードに戻ります。

また、挿入モードを抜けるときに、自動でペーストモードをOFFにするには、以下のコードを .vimrc に書いておくとよいです。

また、:set paste と打つのも長くて長いので、

のように .vimrcに書いておくと、ノーマルモードで cp と打つと、ペーストモード ONになります。

だんだんvimが便利になってきました。

この記事が気に入ったら
いいね ! しよう