8

Vim は私の perl コードをコメントとして扱い続け、自動インデントは機能しません。

$dump=`cp /local/*.txt .`;
if ($a == 0)
{
    if ($b == 0)
    {
        print "HELLO";
    }
}

次のようにフォーマットされました:

$dump=`cp /local/*.txt .`;
                  if ($a == 0)
                  {
                  if ($b == 0)
                  {
                  print "HELLO";
                  }
                  }

これは、最初の行の "/*" がコメントとして扱われ、Vim がそれ以降のインデントをあきらめたためです。

回避策として次のように考えることができます。

$dump=`cp /local/*.txt .`; #*/;

コメントを手動で閉じる。

しかし、より良い方法はありますか?

ありがとう。

4

1 に答える 1

4

cindentこれは、特に C コード (C スタイルのブロック コメントを含む) を自動インデントするためのものです。これは、実際に perl を書いているという意識がありません。代わりに試してみてくださいsmartindent。perl の方がうまくいくようです。これを試すには、 を実行set cindent!してからset smartindent. これで問題が解決しない場合は、.vimrc ファイルで変更できます。

=ident-as-you-go インデントではなく、インデントのキーについて話している場合、これは別のフォーマッタを使用します。設定することで使用するものを変更できますequalprg。perl の場合、 を使用set equalprg=perltidy\ -quietして、選択した行を実行できますperltidy

于 2013-10-15T13:58:25.473 に答える