2010-11-14 18 views

risposta

157

js-indent-level può essere utilizzato nella modalità javascript predefinita, inclusa per impostazione predefinita a partire da emacs 23.2.

(setq js-indent-level 2) 

dovrebbe fare quello che stai cercando. Se stai utilizzando una versione precedente di emacs, potresti trovarti in modalità java. Penso che questa modalità risponda allo c-basic-offset, tuttavia potrei sbagliarmi.

+0

Perfetto. Grazie per la risposta veloce. – mksuth

+2

(setq default-tab-width 2) corrisponderebbe alla larghezza della tabulazione corrispondente per la modalità java – Fergie

+0

Con questo meccanismo la larghezza della tabulazione rimane a 8 e quindi le tab vengono utilizzate solo se il livello di indentazione è 4 (2x4 = 8) o più. Come si imposta la larghezza della linguetta su 2 o 4 in modo da utilizzare le linguette anziché gli spazi? Ho provato un sacco di impostazioni, ad es. (setq tab-width 4) ma senza successo. Il mio obiettivo: utilizzare la larghezza di tabulazione 4 e utilizzare solo caratteri di tabulazione (non spazi come sostituto). – jdp

58

Vorrei che qualcuno mi avesse parlato di Custom molto prima! Forse questo aiuterà un altro comune mortale come me;)

Invoke personalizzato:

M-x customize 

Quindi, scegliere "Programmazione", e poi "Lingue", quindi selezionare una lingua/modalità per personalizzare. Modifica le opzioni come meglio credi. Al termine, scegli "Salva per sessione corrente" o "Salva per sessioni future".

+2

Questo è sorprendente. Ho usato emacs per 5 anni senza imbattersi in questo. Grazie mille! – zachaysan

+1

Grazie a @wprl! --- _a mortal_ – daveagp

+1

Questo è incredibile! –

2

Nel mio file javascript.el (/ usr/share/emacs/site-lisp) ho trovato-trattino-level javascript

Quindi, se si utilizza lo stesso Lisp-mode è possibile modificarlo eseguendo

(setq javascript-indent-level 2) 
11

si potrebbe anche voler impostare emacs per utilizzare gli spazi invece di tabulazioni

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

Questo è più un commento che una risposta reale. Guadagna più reputazione per poter commentare. – jcubic

13

Se stai usando js2-mode (che è più potente IMHO), il comando è:

(setq-default js2-basic-offset 2) 

Source.

2

È anche possibile utilizzare

M-x customize-variable 

e digitare

js-indent-level 

(js- [TAB] mostra un elenco di opzioni). Quindi modificare il Js Indent Level come desiderato e fare clic su [State:] e salvare.

0

Utilizzare EditorConfig potrebbe essere anche una buona idea. E naturalmente, Emacs aveva una modalità per questo editorconfig-emacs.

È inoltre disponibile nel gestore pacchetti (M-x package-list-packages) tramite Melpa o Marmalade.

1

Se si desidera cambiare su una base per file, mettere questo nella parte superiore del file:

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