Javascript 我怎样才能让Vim使JS缩进正确?

Javascript 我怎样才能让Vim使JS缩进正确?,javascript,vim,indentation,auto-indent,Javascript,Vim,Indentation,Auto Indent,这里是Emacs用户,让Vim试一试。:) 我非常喜欢快速的按键和整体的哲学,但是我在使用稍微高级的东西时遇到了一些麻烦。我的抱怨之一是缩进(使用=命令) 请参阅此JS代码段。这就是Emacs的js2模式缩进它的方式。我喜欢这样: var MyClass = declare([], { constructor: function(params) { if(!params) { params = {}; } 这就是Vim用它做的。该

这里是Emacs用户,让Vim试一试。:)

我非常喜欢快速的按键和整体的哲学,但是我在使用稍微高级的东西时遇到了一些麻烦。我的抱怨之一是缩进(使用
=
命令)

请参阅此JS代码段。这就是Emacs的js2模式缩进它的方式。我喜欢这样:

var MyClass = declare([], {
    constructor: function(params) {
        if(!params) {
            params = {};
        }
这就是Vim用它做的。该死的:

       var MyClass = declare([], {
constructor: function(params) {
if(!params) {
params = {};
}
这个结构上面的所有代码都被适当地缩进了,但从那以后,它简直糟透了。我的代码中到处都有这种结构。我已经检查了
:filetype
,并打开了这些开关。我试过使用插件和不使用插件。没有弄对。Vim是几天前下载的gVim 7.4。我已经看到了,显示在那里的代码片段是正确缩进的

有人知道我可以尝试什么吗?
谢谢你的建议

我已经使用VIM超过10年了,我正在使用Javascript语法插件。我已经通过了测试

1:创建新文件并设置文件类型

:set filetype=javascript
2:粘贴(格式错误的)代码

3:点击gg=G(格式化整个缓冲区)

生成的代码对我来说很好:

var MyClass = declare([], {
  constructor: function(params) {
    if(!params) {
      params = {};
    }

我已经使用VIM超过10年了,我正在使用Javascript语法插件。我已经通过了测试

1:创建新文件并设置文件类型

:set filetype=javascript
2:粘贴(格式错误的)代码

3:点击gg=G(格式化整个缓冲区)

生成的代码对我来说很好:

var MyClass = declare([], {
  constructor: function(params) {
    if(!params) {
      params = {};
    }

我已经使用VIM超过10年了,我正在使用Javascript语法插件。我已经通过了测试

1:创建新文件并设置文件类型

:set filetype=javascript
2:粘贴(格式错误的)代码

3:点击gg=G(格式化整个缓冲区)

生成的代码对我来说很好:

var MyClass = declare([], {
  constructor: function(params) {
    if(!params) {
      params = {};
    }

我已经使用VIM超过10年了,我正在使用Javascript语法插件。我已经通过了测试

1:创建新文件并设置文件类型

:set filetype=javascript
2:粘贴(格式错误的)代码

3:点击gg=G(格式化整个缓冲区)

生成的代码对我来说很好:

var MyClass = declare([], {
  constructor: function(params) {
    if(!params) {
      params = {};
    }

.vimrc
中:

set  nocompatible " vi is decades old

set expandtab     " use soft tabs set shiftwidth=2  # 2 spaces tabs for JS (?) set softtabstop=2

filetype on 
filetype plugin on 
filetype plugin indent on " auto indent for supported languages (JS included)
要重新格式化所有文件,请键入
gg=G

gg -> go to top of file
= -> indent 
G -> until the end of the file

.vimrc
中:

set  nocompatible " vi is decades old

set expandtab     " use soft tabs set shiftwidth=2  # 2 spaces tabs for JS (?) set softtabstop=2

filetype on 
filetype plugin on 
filetype plugin indent on " auto indent for supported languages (JS included)
要重新格式化所有文件,请键入
gg=G

gg -> go to top of file
= -> indent 
G -> until the end of the file

.vimrc
中:

set  nocompatible " vi is decades old

set expandtab     " use soft tabs set shiftwidth=2  # 2 spaces tabs for JS (?) set softtabstop=2

filetype on 
filetype plugin on 
filetype plugin indent on " auto indent for supported languages (JS included)
要重新格式化所有文件,请键入
gg=G

gg -> go to top of file
= -> indent 
G -> until the end of the file

.vimrc
中:

set  nocompatible " vi is decades old

set expandtab     " use soft tabs set shiftwidth=2  # 2 spaces tabs for JS (?) set softtabstop=2

filetype on 
filetype plugin on 
filetype plugin indent on " auto indent for supported languages (JS included)
要重新格式化所有文件,请键入
gg=G

gg -> go to top of file
= -> indent 
G -> until the end of the file


你设置粘贴了吗?因为如果你已经配置好了,这会对你产生影响。另外,当您处于插入模式时,它会显示“-insert(paste)”“而不仅仅是“-insert-”。要取下它,请键入“:set nopaste”(如果已配置)。嗨!不,我有一个常规的插入提示。我正在尝试下面的答案。你设置粘贴了吗?因为如果你已经配置好了,这会对你产生影响。另外,当您处于插入模式时,它会显示“-insert(paste)”“而不仅仅是“-insert-”。要取下它,请键入“:set nopaste”(如果已配置)。嗨!不,我有一个常规的插入提示。我正在尝试下面的答案。你设置粘贴了吗?因为如果你已经配置好了,这会对你产生影响。另外,当您处于插入模式时,它会显示“-insert(paste)”“而不仅仅是“-insert-”。要取下它,请键入“:set nopaste”(如果已配置)。嗨!不,我有一个常规的插入提示。我正在尝试下面的答案。你设置粘贴了吗?因为如果你已经配置好了,这会对你产生影响。另外,当您处于插入模式时,它会显示“-insert(paste)”“而不仅仅是“-insert-”。要取下它,请键入“:set nopaste”(如果已配置)。嗨!不,我有一个常规的插入提示。我现在正在尝试下面的答案。这似乎有效。谢谢不过我现在有了其他的缺点,Vim似乎不太关心我的
设置softtabstop=4 tabstop=4
。是时候试试上面的插件了!您只需要在上缩进
文件类型插件,其他文件类型行是多余的。这似乎有效。谢谢不过我现在有了其他的缺点,Vim似乎不太关心我的
设置softtabstop=4 tabstop=4
。是时候试试上面的插件了!您只需要在
上缩进
文件类型插件,其他文件类型行是多余的。这似乎有效。谢谢不过我现在有了其他的缺点,Vim似乎不太关心我的
设置softtabstop=4 tabstop=4
。是时候试试上面的插件了!您只需要在
上缩进
文件类型插件,其他文件类型行是多余的。这似乎有效。谢谢不过我现在有了其他的缺点,Vim似乎不太关心我的
设置softtabstop=4 tabstop=4
。是时候试试上面的插件了!您只需要在
上使用
文件类型插件缩进,其他文件类型行是多余的。这给了我不同的语法高亮显示,但似乎对缩进没有帮助。我发现这个包提供了几乎令人满意的缩进:)这给了我不同的语法高亮显示,但似乎对缩进没有帮助。我发现这个包提供了近乎满意的缩进:)这给了我不同的语法高亮显示,但似乎对缩进没有帮助。我发现这个包提供了近乎满意的缩进:)这给了我不同的语法高亮显示,但似乎对缩进没有帮助。我发现这个包的缩进几乎令人满意:)