繁体   English   中英

如何阻止emacs缩进javascript逗号分隔列表的第二行(例如array或json)?

[英]How can I stop emacs from indenting the 2nd line of a javascript comma-separated list (e.g. array or json)?

Emacs缩进我的代码,如下所示:

var myArray = [
    1,
        2,
        3,
        4,
        5,
    ];

而不是像这样:

var myArray = [
    1,
    2,
    3,
    4,
    5,
];

我怎么能阻止这个?

Mx版本给我:2010-03-26的GNU Emacs 23.1.1(x86_64-pc-linux-gnu,GTK +版本2.18.3)on crested,由Debian修改

遗憾的是,我无法更新我的emacs版本。

看起来您正在使用java-mode编辑JavaScript代码。 虽然Java和JavaScript共享足够的语法,但这可能会正常工作,但最好使用专用的JavaScript模式¹。

Emacs 包含版本23.2的js-mode ,这是一个相当不错的基本JavaScript编辑模式。 如果您可以升级Emacs,这可能是您最简单的选择。 您也可以在Emacs 23.1上安装js-mode (或其前身espresso-mode )。 这是最新版本

或者,您可以使用第三方模式,如js2-mode ,它实际上包含一个完整的JavaScript解释器。 还有js3-mode ,声称是

js2-mode和js-mode的嵌合分支

js2-mode和我的Emacs 24.4中内置的js-mode版本都完全按照你的意愿缩进你的示例代码:

var myArray = [
    1,
    2,
    3,
    4,
    5,
];

¹不幸的是,仍有足够的混淆,值得说明Java和JavaScript是完全不同的语言。 你可能已经知道了; 我认为Emacs实际上默认为JavaScript代码的java-mode已经有一段时间了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM