1

私はこのPHPコードを持っています:

    } elseif($uri->next() == "list"){
      bla();
      /*****************************************
       * Get empty relation by type             *
       * ====================================== *
       * GET /api.php?/relations/(string)/list  *
       ******************************************/
  //get a list of all relations with the specified type.
  $rel->giveRelationsOfType($relationType);
    } elseif($uri->end()){

インデントは、上記の方法で自動的に行われます。もちろん、elseif-block内のすべてを、次のように「bla」と同じ列にインデントしたいと思います。

    } elseif($uri->next() == "list"){
      bla();
      /*****************************************
       * Get empty relation by type             *
       * ====================================== *
       * GET /api.php?/relations/(string)/list  *
       ******************************************/
      //get a list of all relations with the specified type.
      $rel->giveRelationsOfType($relationType);
    } elseif($uri->end()){

しかし、ブロック全体を選択して(ビジュアルモード)、を押す=と、インデントが最初の例のインデントに戻ります。上記のいくつかのバリエーションを試しました。複数行のコメントがあることは、奇妙なインデントが依存していることのようです。

私のformatoptions(set fo?)は2qwcbroです。(情報を押す:h fo-table)私のvimrc中で私は持っています

set smartindent
set tabstop=2
set shiftwidth=2
set expandtab

ただし、 。set smartindentの後にreturnを入力すると正しくインデントされますが、ファイルタイプなどによってオフになっているよう{です。smartindentをオンにしても効果はありません。

4

0 に答える 0