:help autoindent : 新しい行を開始するとき (挿入モードで入力するとき、または "o" または "O" コマンドを使用するとき) に、現在の行からインデントをコピーします。...
:help smartindent : 新しい行を開始するときにスマートな自動インデントを行います。C ライクなプログラムで動作しますが、他の言語でも使用できます。...
通常、「smartindent」を使用する場合は「autoindent」もオンにする必要があります。 インデントが自動的に挿入されます:
- 「{」で終わる行の後。
- 「cinwords」のキーワードで始まる行の後。
「}」で始まる行の前 (「O」コマンドのみ)。
新しい行の最初の文字として '}' を入力すると、その行には一致する '{' と同じインデントが与えられます。...
smartindentは、新しい行を開始するときに現在の行からのインデントにも対応します。つまり、自動インデント機能はスマートインデント機能のサブセットであり、スマートインデントがオンの場合、自動インデントは必要ありませんよね? 自動インデントをオンにする必要があるのはなぜですか?