javascript emacs indentation

Cómo cambiar el ancho de sangría en el modo JavaScript de emacs



indentation (8)

¡Ojalá alguien me hubiera hablado mucho sobre Custom mucho antes! Tal vez esto ayudará a otro simple mortal como yo;)

Invocar personalizado:

M-x customize

Luego, elija "Programación" y luego "Idiomas" y luego seleccione un idioma / modo para personalizar. Edite las opciones como mejor le parezca. Cuando termine, elija "Guardar para la sesión actual" o "Guardar para sesiones futuras".

Me gustaría usar 2 espacios para mis sangrías en lugar de 4. Puedo cambiar el comportamiento predeterminado del modo C usando:

(setq c-basic-offset 2)

¿Cómo cambio esto en modo javascript?


En mi archivo javascript.el (/ usr / share / emacs / site-lisp) encontré

javascript-indent-level 4

Entonces, si estás usando el mismo modo lisp, puedes cambiarlo ejecutando

(setq javascript-indent-level 2)


Es posible que también desee configurar emacs para usar espacios en lugar de pestañas

(setq-default indent-tabs-mode nil)


Si desea cambiarlo por archivo, colóquelo en la parte superior de su archivo:

// -*- mode: js; js-indent-level: 2; -*-


Si está utilizando js2-mode (que es más poderoso en mi humilde opinión), entonces el comando es:

(setq-default js2-basic-offset 2)

Source.


También puedes usar

M-x customize-variable

y tipo

js-indent-level

( js- [TAB] muestra una lista de opciones). Luego, cambie el Js Indent Level según lo deseado y haga clic en [State:] y guarde.


Usar EditorConfig podría ser una buena idea. Y, por supuesto, Emacs tenía un modo para él editorconfig-emacs .

También está disponible en el administrador de paquetes ( Mx package-list-packages ) a través de Melpa o Marmalade.


js-indent-level se puede usar en el modo javascript predeterminado, que se incluye de forma predeterminada a partir de emacs 23.2.

(setq js-indent-level 2)

debe hacer lo que está buscando. Si está usando una versión anterior de emacs, puede estar en modo java. Creo que este modo responde a c-basic-offset , sin embargo, puedo estar equivocado.