多行注释后,Vim自动缩进行为奇怪

时间:2012-11-19 13:22:57

标签: vim macvim auto-indent

我有这段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()){

但是当我选择整个块(可视模式)并按=时,缩进会变回我的第一个示例。我尝试了以上几种变体;有多行注释似乎是奇怪的缩进所依赖的东西。

我的格式选项(set fo?)是2qwcbro。 (按:h fo-table获取信息) 在我的vimrc我有

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

但是,set smartindent似乎被我的文件类型或其他内容关闭了,即使在{之后键入返回时它确实缩进了。聪明地开启并没有帮助。

0 个答案:

没有答案