使用内置 javascript 模式对 var block 进行 JavaScript 缩进

标签 javascript emacs elisp

我得到以下信息:

   var 
   a = 5,
   b = 6, 
   c = foo();
   /* code continues */

我想要:

   var 
       a = 5,
       b = 6,
       c = foo();
   /* OUTDENT, code continues */

我知道根据How to get js-mode to properly indent continued (compound?) var declarations?有一些 js2-mode 的 hack 可以完成它。我想知道如何使用 javascript 模式(内置模式,进入 emacs 24)来做到这一点。 “var”应该缩进一级,直到 var 后面的第一个分号。逗号优先风格不应改变这一点。

理想情况下,我可以将它放在我的 init.el 中,然后我可以将其同步到我正在使用的每台计算机。那可能吗?我该怎么做?

最佳答案

  1. a = 5var 放在同一行。否则,没有任何模式支持此功能。

  2. 使用 Emacs 主干。 js2-mode 中用于执行此操作的缩进代码最近已提交给 js-mode,对于 24.3 来说为时已晚。或者,只需使用最近发布的 Emacs,并将 js.el 从 Emacs 源代码树复制到 load-path 中的目录。

关于使用内置 javascript 模式对 var block 进行 JavaScript 缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15432541/

相关文章:

JavaScript indexOf() 函数在 VB.Net 中失败

css - 如何告诉 org-mode 在 HTML 导出中嵌入我的 css 文件?

emacs - 如何配置我的emacs配置?

Emacs Lisp : #s does not create a new hash table each time

javascript - z-index 的问题

javascript - 从服务器加载 html 和 Controller 并创建动态状态 UI - 路由器

emacs - Emacs minibuffer完成

unit-testing - 如何对以事件区域作为输入的函数进行单元测试?

emacs - 如何从 Emacs 中的次要模式键盘映射中删除键?

java - jqgrid如何显示服务器端消息