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.