Estoy usando el modo web emacs , y la tabulación en los archivos JS parece estar actuando de manera extraña.
Tengo una pestaña configurada para sangrar 2 espacios, pero cuando la sangría alcanza 8 espacios, el modo web los convierte en una pestaña, y luego continúa tabulando 2 espacios hasta que alcanza otros 8, y los convierte en otra pestaña, etc.
¿Puedo evitar que esto suceda y decirle a emacs / web-mode que solo sangre espacios?
EDITAR:
Aquí hay un breve ejemplo de función anidada:
(function() {
function() {
function() {
function() {
function() {
// Indenting problem.
}
}
}
}
})()
Obviamente se muestra bien en Emacs, pero puede ver el problema de sangría aquí.
Notaré aquí que esto también ocurre en modo javascript.
indentation
web-mode
dieuwe
fuente
fuente
javascript-mode
estás usando, el incorporado? Además, ¿esto sucede al sangrar htmlweb-mode
?Respuestas:
En general, si desea que la sangría use solo espacios, recomendaría personalizar:
Esto obliga a la sangría a usar espacios y no pestañas. Sin
web-mode
embargo, no estoy seguro de si usa los métodos regulares para la sangría, por lo que es posible que no respete esto.¿Puedes dar un archivo de ejemplo para demostrar?
fuente
(setq indent-tabs-mode nil)
no parece cambiar nada en ambosweb-mode
yjavascript-mode
.setq-default
porqueindent-tabs-mode
es buffer-local.(setq-default indent-tabs-mode t)
su.emacs
Intente este código en su archivo de configuración de emacs para forzar la sangría en modo web. Lo referí desde la página de inicio del modo web.
fuente
(add-hook 'web-mode-hook (lambda () (setq web-mode-markup-indent-offset 2)))