Vimの「自動インデント(Auto-Indent)」機能について
Linuxのvim で、コメントアウトした行がある複数行をペーストすると、#がない行も#が付いてコピーされるケースがあります。
その都度、#がある箇所を削除しますが、複数行あるとかなり面倒です
vimが「前の行が #(コメント)で始まったから、次の行もコメントしますよ」と自動で判断してコメントアウトしていきます。
この機能はOffにするには、「ペーストモード」に切り替える必要があります
手動で切り替える方法
ペーストをする前にvimのコマンドモードで下記を入力すると「ペーストモード」になります。
:set paste
元の状態に戻すには、コマンドモードで以下の入力します
:set nopaste
自動インデントの主な役割
vimにはインデント関連の設定がいくつかありますが、主に以下の3つが「自動」で動いています。
| 機能名 | 動作の内容 |
| autoindent | 最もシンプルな機能。前の行の先頭にある空白(スペースやタブ)を、次の行でも維持します。 |
| smartindent | C言語などの構造を理解し、{ で終わる行の次は自動で深くインデントし、} で閉じると戻します。 |
| filetype indent | ファイル形式(Python, Ruby, HTMLなど)を判別し、その言語の慣習に合わせた最適なインデントを自動で行います。 |

