Ich verwende den Emacs - Webmodus und das Tabbing in JS-Dateien scheint seltsam zu wirken.
Ich habe die Registerkarte so eingestellt, dass 2 Leerzeichen eingerückt werden. Wenn der Einzug jedoch 8 Leerzeichen erreicht, verwandelt der Web-Modus diese in eine Registerkarte und fährt dann mit der Eingabe von 2 Leerzeichen fort, bis eine weitere 8 erreicht ist, und konvertiert diese in eine andere Registerkarte usw.
Kann ich dies verhindern und dem Emacs / Web-Modus mitteilen, dass nur Leerzeichen eingerückt werden sollen?
BEARBEITEN:
Hier ist ein kurzes Beispiel für verschachtelte Funktionen:
(function() {
function() {
function() {
function() {
function() {
// Indenting problem.
}
}
}
}
})()
Es zeigt sich offensichtlich gut in Emacs, aber Sie können das Einrückungsproblem hier sehen.
Ich werde hier bemerken, dass dies auch im Javascript-Modus auftritt.
quelle
javascript-mode
du, das eingebaute? Passiert dies auch beim Einrücken von HTMLweb-mode
?Antworten:
Wenn Sie möchten, dass Einrückungen nur Leerzeichen verwenden, würde ich im Allgemeinen das Anpassen empfehlen:
Dies erzwingt, dass beim Einrücken Leerzeichen und keine Tabulatoren verwendet werden. Ich bin mir nicht sicher, ob
web-mode
die regulären Methoden zum Einrücken verwendet werden, daher wird dies möglicherweise nicht berücksichtigt.Können Sie eine Beispieldatei zur Demonstration geben?
quelle
(setq indent-tabs-mode nil)
scheint an beidenweb-mode
und nichts zu ändernjavascript-mode
.setq-default
weilindent-tabs-mode
ist Puffer-lokal.(setq-default indent-tabs-mode t)
in Ihrem.emacs
Bitte versuchen Sie diesen Code in Ihrer Emacs-Konfigurationsdatei, um den Einzug im Webmodus zu erzwingen. Ich habe es von der Web-Modus-Homepage verwiesen .
quelle
(add-hook 'web-mode-hook (lambda () (setq web-mode-markup-indent-offset 2)))