2010-11-14 14 views

Respuesta

157

js-indent-level se puede utilizar en el modo javascript predeterminado, que se incluye por defecto a partir de emacs 23.2.

(setq js-indent-level 2) 

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

+0

perfecto. Gracias por la respuesta rápida. – mksuth

+2

(setq default-tab-width 2) sería el correspondiente setter de ancho de pestañas para java-mode – Fergie

+0

Usando este mecanismo, el ancho de pestañas permanece en 8 y las pestañas solo se usan si el nivel de sangría es 4 (2x4 = 8) o más. ¿Cómo se establece el ancho de las pestañas en 2 o 4 para que se utilicen pestañas en lugar de espacios? Probé varias configuraciones, p. (setq tab-width 4) pero fue en vano. Mi objetivo: usar el ancho de la pestaña 4, y solo usar los tabuladores (no espacios como sustituto). – jdp

58

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

invocar la costumbre:

M-x customize 

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

+2

Esto es asombroso. He estado usando emacs durante 5 años sin encontrarme con esto. Muchas gracias! – zachaysan

+1

Gracias @wprl! --- _a mortal_ – daveagp

+1

¡Esto es asombroso! –

2

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

Así que si usted está utilizando la misma Lisp modo que pueda cambiarlo mediante la ejecución de

(setq javascript-indent-level 2) 
11

también puede ser que desee establecer emacs para utilizar espacios en lugar de pestañas

(setq-default indent-tabs-mode nil) 
+0

Esto es más un comentario que una respuesta real. Gana más reputación para poder comentar. – jcubic

13

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

(setq-default js2-basic-offset 2) 

Source.

2

También puede utilizar

M-x customize-variable 

y escriba

js-indent-level 

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

0

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

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

1

Si desea cambiarlo en función de cada archivo, poner esto en la parte superior de su archivo:

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