Korzystam z trybu internetowego emacsa , a tabulacja w plikach JS wydaje się dziwnie działać.
Mam tabulację ustawioną na wcięcie 2 spacje, ale kiedy wcięcie osiąga 8 spacji, tryb sieciowy zamienia je w tabulację, a następnie kontynuuje tabulację 2 spacji aż do osiągnięcia kolejnych 8 spacji i konwertuje to na inną tabulator itp.
Czy mogę temu zapobiec i powiedzieć trybowi emacs / web tylko wcięcia w przestrzeni?
EDYTOWAĆ:
Oto krótki przykład funkcji zagnieżdżonej:
(function() {
function() {
function() {
function() {
function() {
// Indenting problem.
}
}
}
}
})()
Oczywiście w Emacsie dobrze się prezentuje, ale tutaj możesz zobaczyć problem z wcięciem.
Zwrócę tutaj uwagę, że dzieje się to również w trybie javascript.
indentation
web-mode
dieuwe
źródło
źródło
javascript-mode
używasz, wbudowanego? Czy tak się dzieje, gdy wcina się HTMLweb-mode
?Odpowiedzi:
Ogólnie rzecz biorąc, jeśli chcesz, aby wcięcia używały tylko spacji, polecam dostosowanie:
Wymusza to wcięcie do używania spacji i bez tabulatorów. Nie jestem jednak pewien, czy
web-mode
używa zwykłych metod wcięcia, więc może nie przestrzegać tego.Czy możesz podać przykładowy plik do zademonstrowania?
źródło
(setq indent-tabs-mode nil)
wydaje się nie zmieniać niczego w obuweb-mode
ijavascript-mode
.setq-default
ponieważindent-tabs-mode
jest to bufor lokalny.(setq-default indent-tabs-mode t)
w swoim.emacs
Wypróbuj ten kod w pliku konfiguracyjnym emacs, aby wymusić wcięcie w trybie internetowym. I przekazał go z web-mode domowej stronie.
źródło
(add-hook 'web-mode-hook (lambda () (setq web-mode-markup-indent-offset 2)))