首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript嵌套对象的Vim缩进不正确

Javascript嵌套对象的Vim缩进不正确
EN

Stack Overflow用户
提问于 2014-06-02 10:06:22
回答 1查看 113关注 0票数 0

我在Vim中使用auto-indentvim-javascript编写javascript。但是,我不能让javascript对象正确缩进。例如:

这是我手动缩进的:

代码语言:javascript
复制
var NetworkSchema = new Schema({
    'timeStamp' : { type : Date, index: true },
    "avaiable" : Boolean,
    "status" : String,
    "metrics" : [ { "txDropped" : { "data" : Number,
                           "type" : String,
                           "unit" : String
                          }
                   },
                   { "txErrors": { "data" : Number,
                           "type" : String,
                           "unit" : String
                          }
                   },
                   { "txOverruns": { "data" : Number,
                           "type" : String,
                           "unit" : String
                          }
                   }
                  ]
});

当使用gg=G自动缩进时,如下所示

代码语言:javascript
复制
var NetworkSchema = new Schema({
    'timeStamp' : { type : Date, index: true },
    "avaiable" : Boolean,
    "status" : String,
    "metrics" : [ { "txDropped" : { "data" : Number,
        "type" : String,   
        "unit" : String    
    }                     
    },             
    { "txErrors": { "data" : Number,
        "type" : String,   
        "unit" : String    
    }                     
    },             
    { "txOverruns": { "data" : Number,
        "type" : String,   
        "unit" : String    
    }                     
    }              
    ]             
});

如何使嵌套对象的缩进自动正确?

EN

回答 1

Stack Overflow用户

发布于 2014-06-02 15:01:59

这是一个给vim-javascrit's issue tracker的问题。

无论如何,我使用js-beautify来格式化我的JavaScript:

代码语言:javascript
复制
command! -buffer -range=% Format let b:winview = winsaveview() |
  \ execute <line1> . "," . <line2> . "!js-beautify -f - -j -B -s " . &shiftwidth |
  \ call winrestview(b:winview)

使用以下命令格式化整个缓冲区:

代码语言:javascript
复制
:Format

使用以下命令设置当前视觉选择覆盖的线条的格式( '<,'>范围会自动为您插入):

代码语言:javascript
复制
:'<,'>Format

使用以下命令格式化任意范围覆盖的行:

代码语言:javascript
复制
:23,89Format
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23986446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档