Ändern Sie den Emacs-Ruby-Modus-Einzug auf 4 Leerzeichen

8

Von einem früheren Post habe ich Ruby-Modus in Emacs arbeiten. Das funktioniert großartig.

Einrichten der .emacs-Datei für die Mac-Ruby-Entwicklung

Unsere Firma verwendet 4 Leerzeichen anstelle von Standard 2 für Gedankenstriche. Ich habe Schwierigkeiten, dies zum Laufen zu bringen.

Hier ist meine .emacs Datei

  

(zur Liste hinzufügen 'load-path "~ / rdoc-mode.el")

     

(erfordert 'Ruby-Modus')

     

(setq indent-tabs-Modus nil); Ersetzen Sie Tabulatoren immer durch Leerzeichen

     

(setq-default tab-width 4); Setzen Sie die Tabulatorbreite auf 4 für alle Puffer

Sieht jemand, was ich falsch mache?

Danke!

    
Poul 21.01.2010, 16:49
quelle

3 Antworten

17

Die Einstellung tab-width steuert nur die Breite eines Tab-Zeichens, d. h. wie viele Leerzeichen ein Tab-Zeichen entspricht, wenn es in Ihrem Puffer angezeigt wird. Es wirkt sich nicht auf die Anzahl der Leerzeichen (oder Tabs) aus, die zum Einrücken Ihres Codes verwendet werden.

Bei Ruby-Code wird die Einrückung durch die Variable ruby-indent-level gesteuert:

%Vor%     
Pär Wieslander 21.01.2010, 16:52
quelle
14

Die anderen Poster haben die richtige Antwort gegeben, also werde ich hier erwähnen, wie man die Antwort auf diese Art von Frage herausfinden kann.

Da Sie zunächst richtig angenommen haben, dass die Breite der Einzüge konfigurierbar ist, müssen Sie zunächst Folgendes versuchen:

%Vor%

Und tatsächlich, eine der Anpassungsoptionen dort ist "Ruby Indent Level". Sie können es einstellen und die Änderungen speichern. Fertig!

Alternativ können Sie Ruby-Modus selbst betrachten:

%Vor%

Suche dann (mit C-s) nach 'Einzug'. Dort finden Sie eine Variablendefinition:

%Vor%

Wenn Sie eine solche Variable finden, können Sie sie in Ihrer .emacs (oder ~ / .emacs.d/init.el) mit setq:

einstellen %Vor%

Sie können diese Variable auch mit apropos:

ermitteln %Vor%

Deshalb wird Emacs als "selbstdokumentierend" bezeichnet!

    
sanityinc 22.01.2010 10:53
quelle
3

Es gibt eine Möglichkeit, dies zu tun, ohne .emacs zu berühren. Sie können am Ende jeder Ruby-Datei, die "Dateivariablen" , die für diese Datei spezifisch sind. Alle Emacs oder Xemacs, die diese Datei bearbeiten, verwenden den Modus, Tab-Einstellungen und & amp; usw. in diesem Kommentarblock.

Hier ist zum Beispiel der Block "Dateivariablen", den wir für die Ruby-Entwicklung verwenden:

%Vor%     
Wayne Conrad 21.01.2010 17:00
quelle