Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim中的Javascript缩进-函数中Lambda函数的问题_Javascript_Vim_Indentation - Fatal编程技术网

Vim中的Javascript缩进-函数中Lambda函数的问题

Vim中的Javascript缩进-函数中Lambda函数的问题,javascript,vim,indentation,Javascript,Vim,Indentation,我对vim中的javascript缩进有问题。 一切都很好,除了内联函数作为函数参数的缩进不起作用。 这是一个只有javascript的问题,不涉及html 范例 someFunc(function() { if(foo) { bar; } else { bar; } }); 缩进到 someFunc(function() { if(foo) { bar; } else {

我对vim中的javascript缩进有问题。 一切都很好,除了内联函数作为函数参数的缩进不起作用。 这是一个只有javascript的问题,不涉及html

范例

someFunc(function() {
    if(foo) {
        bar;
    } else {
        bar;
    }
});
缩进到

someFunc(function() { 
        if(foo) { 
        bar; 
        } else { 
        bar; 
        } 
        });
你也有同样的问题吗? 我怎样才能解决这个问题? 我尝试了vim.org上的一些脚本,但它们似乎有相同的问题

模拟TextMates javascript缩进功能的脚本将是完美的。

您可能正在使用javascript。您可以尝试使用

从文档中可以看出,“智能缩进”的作用是:

开始新行时执行智能自动缩进。适用于C-like 程序,但也可用于其他语言。”辛登特是 像这样的东西,在大多数情况下效果更好,但更严格

您可以通过以下方式切换到smartindent:

set nocindent smartindent
我用上面的代码进行了测试,它按您的预期缩进

另请参见:

您可能正在使用JavaScript。您可以尝试使用

从文档中可以看出,“智能缩进”的作用是:

开始新行时执行智能自动缩进。适用于C-like 程序,但也可用于其他语言。”辛登特是 像这样的东西,在大多数情况下效果更好,但更严格

您可以通过以下方式切换到smartindent:

set nocindent smartindent
我用上面的代码进行了测试,它按您的预期缩进


另请参见:

Vim用于评估javascript缩进的内置表达式非常糟糕。您可以通过安装来修复它,如果愿意,也可以获取。安装这个插件将减轻痛苦。每次在JavaScript行的末尾按return键时,光标的位置应该是正确的缩进级别。此外,您还可以使用=命令自动缩进javascript。安装该插件-你会想知道没有它你怎么过得去。

Vim用于评估javascript缩进的内置表达式非常糟糕。您可以通过安装来修复它,如果愿意,也可以获取。安装这个插件将减轻痛苦。每次在JavaScript行的末尾按return键时,光标的位置应该是正确的缩进级别。此外,您还可以使用=命令自动缩进javascript。安装插件-你会想知道没有它你怎么过得去。

我相信这个问题的答案是从.vimrc中删除任何cindent/smartindent/autoindent,并使用文件类型缩进,而不是设置no*行是不必要的,只是迂腐而已

set nocindent
set nosmartindent
set noautoindent
filetype indent on
我也有同样的问题,这就是vim的表现。这也阻止了vim在冒号处取消识别CSS规则:当将它们键入HTML样式标记时,我的另一个恼怒

如果打开/保存扩展名为*.js的文件,vim应设置正确的缩进规则,但如果开始编辑新的未保存文件,则可能需要显式设置:set filetype=javascript


维姆的缩进并不可怕,只是被误解了。对于许多使用它的程序员来说,很难相信默认的缩进规则真的那么糟糕。

我相信这个问题的答案是从.vimrc中删除任何cindent/smartindent/autoindent,并使用文件类型缩进,而不是设置no*行,只是迂腐而已

set nocindent
set nosmartindent
set noautoindent
filetype indent on
我也有同样的问题,这就是vim的表现。这也阻止了vim在冒号处取消识别CSS规则:当将它们键入HTML样式标记时,我的另一个恼怒

如果打开/保存扩展名为*.js的文件,vim应设置正确的缩进规则,但如果开始编辑新的未保存文件,则可能需要显式设置:set filetype=javascript


维姆的缩进并不可怕,只是被误解了。对于许多使用它的程序员来说,很难相信默认缩进规则真的那么糟糕。

Hello Thai,很好,它可以在vim中工作。我看不出有什么不同。我甚至禁用了我的.vimrc和已禁用的插件,但没有任何更改。我在一个*.js文件和一个空缓冲区中尝试了它。没有区别。如何查看当前文件中使用的缩进逻辑;这解决了我在使用{}定义对象定义中的函数时正确缩进的问题。@innotune类型:set autoindent?辛登特?智能缩进?它会告诉你他们的当前设置。你好,泰语,很好,它可以在你的vim中工作。我看不出有什么不同。我甚至禁用了我的.vimrc和已禁用的插件,但没有任何更改。我在一个*.js文件和一个空缓冲区中尝试了它。没有区别。如何查看当前文件中使用的缩进逻辑;这解决了我在使用{}定义对象定义中的函数时正确缩进的问题。@innotune类型:set autoindent?辛登特?智能缩进?它会告诉你他们的当前设置。我还在我的.vimrc中启用了文件类型插件和文件类型缩进。谢谢你的精彩表演
plugini还启用了my.vimrc中的文件类型插件on和文件类型缩进on。谢谢你的精彩插件