2010-01-21 6 views
8

Von einem früheren Post habe ich Ruby-Modus arbeiten in Emacs. Das funktioniert großartig.Ändern Emacs Ruby-Modus Einzug auf 4 Leerzeichen

Setting up .emacs file for mac ruby development

Unser Unternehmen verwendet vier Räume für Einzüge obwohl anstelle des Standard 2. Ich habe Schwierigkeiten dies immer zu arbeiten.

Hier ist meine .emacs Datei

(Add-to-Liste 'load-path "~/rdoc-mode.el")

(require' ruby-mode)

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

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

Kann jemand sehen, was ich falsch mache?

Danke!

+0

Tab-Breite steuert nur die Registerkarte -> Leerzeichen Expansion, nicht die -Modus Eindruck leider. –

Antwort

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.

Für Ruby-Code, wird die Vertiefung durch die ruby-indent-level Variable gesteuert:

(setq ruby-indent-level 4) 
+0

Arbeitete! Vielen Dank. – Poul

+0

Ihre Firma ist komisch, jede andere Ruby Firma benutzt 2 Leerzeichen :) – horseyguy

3

Es gibt einen Weg, es zu tun, ohne Emacs zu berühren. Sie können einen speziellen Kommentarblock am Ende jeder Ruby-Datei platzieren, der "file variables" für diese Datei festlegt. Alle Emacs oder Xemacs, die diese Datei bearbeiten, verwenden den Modus, die Registerkarteneinstellungen, & usw. in diesem Kommentarblock.

Als Beispiel ist hier die „Dateigrößen“ -Block wir für Ruby Entwicklung verwenden:

# Local Variables: 
# mode: ruby 
# tab-width: 2 
# ruby-indent-level: 2 
# indent-tabs-mode: nil 
# End: 
14

Die anderen Poster die richtige Antwort gegeben haben, so dass ich hier erwähnen, wie die Antwort herauszufinden auf diese Art von Frage.

Vor allem, da Sie richtig angenommen, dass der Einzug Breite konfigurierbar sein würde, das erste, was zu versuchen ist:

M-x customize-group RET ruby-mode RET 

Und sicher genug, eine der Individualisierungsmöglichkeiten gibt es „Ruby-Einrückungstiefe“ . Sie können es einstellen und die Änderungen speichern. Erledigt!

Alternativ können Sie bei rubin Modus sucht sich:

M-x find-library RET ruby-mode RET 

Dann suchen (mit C-e) für 'Gedankenstrich'. Dort finden Sie eine Variablendefinition finden:

(defcustom ruby-indent-level 2 ...) 

Wenn Sie eine Variable wie das finden, können Sie es in Ihrem .emacs einstellen können (oder ~/.emacs.d/init.el) mit setq:

(setq ruby-indent-level 4) 

könnten Sie auch feststellen, dass Variable apropos:

M-x apropos RET indent ruby RET 

, deshalb, Emacs als "selbsterklärend" beschrieben wird!

Verwandte Themen