26

:help autoindent : 新しい行を開始するとき (挿入モードで入力するとき、または "o" または "O" コマンドを使用するとき) に、現在の行からインデントをコピーします。...

:help smartindent : 新しい行を開始するときにスマートな自動インデントを行います。C ライクなプログラムで動作しますが、他の言語でも使用できます。...

通常、「smartindent」を使用する場合は「autoindent」もオンにする必要があります。 インデントが自動的に挿入されます:

  • 「{」で終わる行の後。
  • 「cinwords」のキーワードで始まる行の後。
  • 「}」で始まる行の前 (「O」コマンドのみ)。

    新しい行の最初の文字として '}' を入力すると、その行には一致する '{' と同じインデントが与えられます。...

smartindentは、新しい行を開始するときに現在の行からのインデントにも対応します。つまり、自動インデント機能はスマートインデント機能のサブセットであり、スマートインデントがオンの場合、自動インデントは必要ありませんよね? 自動インデントをオンにする必要があるのはなぜですか?

4

1 に答える 1

54

smartindentautoindent. _ それ以来、ほとんどの言語は特定のインデント機能を持っているかcindent、特定のオプションを使用しています。

通常は、smartindentまったく使用しないでください。

インデントを処理するには、通常、次の行で十分です。

set autoindent
filetype plugin indent on

autoindent厳密には必要ではありませんが、平文を扱う場合はあるとよいでしょう。

于 2013-08-24T06:52:26.630 に答える