Web modunu her zaman boşluklarla girintili hale getirin


10

Emacs web modunu kullanıyorum ve JS dosyalarındaki sekmeler tuhaf davranıyor gibi görünüyor.

2 boşluğu girintilemek için sekme ayarladım, ancak girintili 8 boşluğa ulaştığında, web modu bunları bir sekmeye dönüştürür ve daha sonra başka bir 8'e ulaşana kadar 2 boşluğa sekmeye devam eder ve bunu başka bir sekmeye dönüştürür.

Bunun olmasını durdurabilir ve emacs / web modunu yalnızca boşlukları girintili hale getirebilir miyim?

DÜZENLE:

İşte kısa iç içe işlev örneği:

(function() {
  function() {
    function() {
      function() {
    function() {
      // Indenting problem.
    }
      }
    }
  }
})()

Emacs'ta açıkça iyi görünüyor, ancak burada girinti problemini görebilirsiniz.

Burada bunun javascript modunda da gerçekleştiğine dikkat çekeceğim.


1
Bu web moduna özgü mü? Yoksa herhangi bir yerde mi oluyor?
Malabarba

Bu sadece web modunda oluyor, diğer her şey boşluklarla süresiz olarak sekiyor.
dieuwe

Maalesef, javascript modu da aynı şeyi yapıyor. Ama bu sadece ikisi.
dieuwe

Hangisini javascript-modekullanıyorsun, yerleşik olanı? Ayrıca, html'yi girintilendirirken bu olur web-modemu?
4'te dgtized

Lütfen init dosyanızın içeriğini yayınlayın. Emacs, varsayılan olarak 8 boşluk için bir sekme kullanır, bu nedenle init dosyanızda çoğu modda onu kapatmak için bir şey olması gerekir.
Gilles 'SO- kötü olmayı bırak'

Yanıtlar:


10

Genel olarak, girintinin yalnızca boşluk kullanmasını istiyorsanız, özelleştirmenizi öneririm:

(setq-default indent-tabs-mode nil)

Bu, girintiyi boşluk kullanacak ve sekme kullanmaya zorlayacaktır. web-modeYine de girinti için normal yöntemleri kullanıp kullanmadığından emin değilim , bu yüzden buna saygı göstermeyebilir.

Göstermek için örnek bir dosya verebilir misiniz?


3
Soruya bir örnek ekledik. Eklemek (setq indent-tabs-mode nil)hem web-modeve hem de hiçbir şeyi değiştirmiyor gibi görünüyor javascript-mode.
dieuwe

3
Bence kullanmalısınız setq-defaultçünkü indent-tabs-modebuffer-local.
nperson325681

@progo Tamam, bu işe yaradı. Çok teşekkür ederim.
dieuwe

1
Yalnızca sekmelerle girinti yapmak mümkün mü? Farklı ayarlar denedim, ancak yalnızca karışık sekmeler / boşluklarla girintiler.
Dfr

1
Sen eklemek gerekir @Dfr (setq-default indent-tabs-mode t)senin içinde.emacs
fxbois

3

Lütfen web modu girintisini zorlamak için emacs yapılandırma dosyasında bu kodu deneyin. Bunu web modu ana sayfasından referans aldım .

(require 'web-mode)
(defun my-web-mode-hook ()
  "Hooks for Web mode."
  (setq web-mode-markup-indent-offset 2)
)
(add-hook 'web-mode-hook  'my-web-mode-hook)

Bu da işe yarar mı? (add-hook 'web-mode-hook (lambda () (setq web-mode-markup-indent-offset 2)))
Andrew Lamarra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.