Emacs için herhangi bir * iyi * HTML modu var mı?


23

Ben emacs seviyorum

ve web programlama işimi bunun içinde yapmak istiyorum,
ancak HTML'yi düzgün bir şekilde düzenlemenin bir yolunu bulamıyorum.

Yani çok korkunç.

HTML para cezası, ancak PHP, javascript, vb yapacak

Html-helper-mode almayı denedim ... İndirdim, / usr / local / share / emacs / site-lisp içine koydum ve .emacs dosyama ekledi:

(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
  (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))

bazı sitelere kopyalanıp yapıştırılan (elisp bilmiyorum).
sadece, hiçbir şeyi vurgulamıyor.

Bir sürü mod indirmeyi ve boşuna harcayarak onları bir araya getirmek için başka bir mod kullanmayı denedim.

Emacs diğer yollarla çok harika - neden web sayfalarını düzenlemek için basit bir iş yapamıyor? Demek istediğim, bugünlerde editörler için yapılacak oldukça standart bir şey.

Peki, bunun nasıl yapılacağını bilen var mı?

Yanıtlar:


4

Emacs Wiki html sayfasını kontrol ettin mi? Özellikle nxhtml kullanışlı görünüyor.


4
kullanışlı görünüyor ama kullanımı çok acı verici ... yavaş yükleniyor, düzgün girmiyor, çirkin, yavaş çalışıyor, kırmızı olan her şeyi vurgulıyor ve sonra hepsini italik yapıyor ve sadece acı veriyor ...
Carson Myers

1
Başarı ile nxhtml kullandım. Yazı tipi renkleri ve italik yüzleri kişiselleştirerek kontrol edilebilir.
Doug Harris

35

Ben de seninle aynı problemi yaşadım, bu yüzden web modu yazmaya karar verdim .

görüntü tanımını buraya girin

Web-mode.el, karışık web tapınaklarını (Java / JSP, PHP, CSS, JavaScript ile HTML) düzenlemek için tasarlanan Emacs için büyük bir moddur.

Başka hiçbir moda dayanmaz. Kod bloğu türüne göre girintiyi vurgulu hale getirir. NASIL bir sayfa NASIL yazdım

hakkında

  • web-mode.el web şablonlarını düzenlemek için büyük bir moddur (HTML, PHP, Java / JSP, JavaScripts, CSS stilleri ile).
  • web-mode.elasla tam özellikli bir PHP veya JS modu olmayacak. (Şablonlarda çok satırlı kod bloklarını teşvik etmiyoruz!).

Yerli Özellikler

  • akıllı girinti (içeriğe göre: HTML, PHP, Java / JSP, JavaScript veya CSS)
  • kod gezinme: C-c C-nHTML etiketini açma ve kapatma arasında veya PHP denetimleri arasında> - if ... else ... endif, for ... endfor
  • HTML etiketi otomatik kapanması (sonra
  • sözdizimi vurgulama (blok türüne göre)
  • pasaj ekleme C-c C-i(otomatik girintili, metin seçiminin farkında)
  • otomatik ekler (örn. ?>sonra <?php)

Diyelim ki günümü kurtarıyor ... Teşekkürler @fxbois! Onu seviyorum. Sonunda html, css, java, vs arasındaki karışımın girintisini alabilirim. Python ile yapılabilir mi?
swdev

@swdev, github ile ilgili bu python uyumluluğu isteğiyle ilgili bir sorun açabilir misiniz? Da, şablon sözdizimi dokümantasyonuna ve bu tür bir şablonun örneğine gönderilebilir.
fxbois 12:13

Temiz görünüyor, ancak psgml gibi gerçek bir çözümleyici kullanmak yerine, HTML'yi ayrıştırmak için regexp kullanıyor gibi görünüyor ...
David N. Welton

3
Gerçek ayrıştırıcı ile ne demek istiyorsunuz? <İle başlayan ve> etc vb ile başlayan etiketleri bulmak için belgeyi travers ediyorum. Herhangi bir sınırlama buldunuz mu? Herhangi bir şey bulursanız, github repo hakkındaki sorunları bildirmekten çekinmeyin
fxbois

3

Kullanılabilir modlardan memnun kaldım, ancak son zamanlarda ve html-modeile düzleştirilmiş eski kullanımları kullanarak mutluluk buldum . Diğer cevapların da belirttiği gibi, nxhtml modu, eğer xhtml yazıyorsanız kullanışlıdır.yasnippettidy.el

Vurgulanan php ve javascript'i vurgulamak istiyorsanız, aynı mmm-modeanda birden fazla ana modu çalıştırmanıza izin verecek, bakmak isteyebilirsiniz . Hiç kullanmadım, bu yüzden çelişen kilit bağları, vb. Kimin kullandığını bilmiyorum.


3

Ver çok web modunu noktası etrafında hareket ettirdiğinde bir deneyin, bu akılda web düzenleme ile tasarlanmış küçük bir mod var, uygun majör seçer.


0

Ben de Çoklu Modları düzgün çalıştıramayan karışık mod düzenleme için nXhtml modunu kullanıyorum. Biraz kayalık bir yolculuk oldu ama son yapılanlar yararlı oldu. Emacs 23 FWIW ile koşuyorum.

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.