2011-12-12 22 views
8
Değişken (

emacs'taki tampon yerel girinti için kötü kaydırma genişliğini ayarlamak

(defcustom evil-shift-width 4 
    "The offset used by \\<evil-normal-state-map>\\[evil-shift-right] \ 
and \\[evil-shift-left]." 
    :type 'integer 
    :group 'evil) 

I tamponu yerel girinti genişliğine kötü-kaydırma-genişliğini ayarlamak istiyorum var ki, kötü kullanımı

indent).

(add-hook 'after-change-major-mode-hook 
     (function (lambda() 
        (setq evil-shift-width indent)))) 

Neyi özledim? Daha fazla bilgi olmadan

+1

'(setq ...) formunun etrafında bir çift parantez ve 'indent' olmasını istediğiniz ya da beklediğiniz konusunda bir açıklama eksiksiniz. – tripleee

+0

@tripleee yardımcı olacağını umuyorum. – Reactormonk

+1

Ne oluyor ve ne olmasını bekliyorsunuz? Girinti nereden gelir ve ne zaman ayarlanır? – nschum

cevap

17

, ben bundan arzu evil-shift-widthruby-mode (iki için örnekler) içinde python-mode ve 2'de 4'e ayarlanması içindir olmak Sorunu anlamak inanıyoruz, ama her zaman 2.

olarak ayarlanır Bu durumda sorun, indent'un dünya çapında Emacs'te tanımlanmadığı ve kesinlikle python-mode'da bulunmadığı gerçeğinden kaynaklanmaktadır. python-mode'da, 4 olarak ayarlanmış bir python-indent değişkeni var ve bu kullanılacak değişkendir. can sıkıcı önemli modların her biri için özel değişkenleri kullanmak zorunda iken

, o modların her biri, aslında kullandığım şey ve muhtemelen aslında çalışacaktır çözüm: için yeni bir tane ekleme

(add-hook 'python-mode-hook 
    (function (lambda() 
      (setq evil-shift-width python-indent)))) 
(add-hook 'ruby-mode-hook 
    (function (lambda() 
      (setq evil-shift-width ruby-indent-level)))) 

Desteklenmesini istediğiniz her ana mod.