มี * ดี * HTML-mode สำหรับ emacs หรือไม่?


23

ฉันรัก emacs

และฉันต้องการให้การเขียนโปรแกรมเว็บทำงานได้
แต่ฉันไม่สามารถหาวิธีแก้ไข HTML ได้อย่างถูกต้อง

ฉันหมายความว่ามันแย่มาก

มันจะใช้ HTML ได้ดี แต่ไม่ใช่ PHP, javascript เป็นต้น

ฉันลองรับ html-helper-mode ... ฉันดาวน์โหลดใส่ไว้ใน / usr / local / share / emacs / site-lisp และเพิ่มลงในไฟล์. emacs ของฉัน:

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

คัดลอกและวางจากบางเว็บไซต์ (ฉันไม่รู้จัก elisp)
มันแค่ไม่เน้นอะไรเลย

ฉันพยายามดาวน์โหลดทั้งกลุ่มและใช้โหมดอื่นเพื่อรวมสายเข้าด้วยกันโดยไม่มีประโยชน์

Emacs นั้นยอดเยี่ยมในทุก ๆ ด้าน - ทำไมมันไม่สามารถแก้ไขหน้าเว็บได้ง่าย ฉันหมายความว่ามันเป็นเรื่องปกติที่ต้องทำเพื่อบรรณาธิการในวันนี้

ดังนั้นไม่มีใครรู้วิธีการทำเช่นนี้?

คำตอบ:


4

คุณเช็คเอาท์หน้าEmacs Wiki htmlหรือไม่ nxhtmlโดยเฉพาะดูมีประโยชน์


4
มันดูมีประโยชน์ แต่มันเจ็บปวดมากที่จะใช้ ... มันโหลดช้าไม่เยื้องอย่างถูกต้องน่าเกลียดทำงานช้าไฮไลท์ทุกอย่างที่เป็นสีแดงแล้วทำให้มันเป็นตัวเอียงและเพียงแค่เจ็บปวด ...
Carson Myers

1
ฉันใช้ nxhtml กับความสำเร็จ สีตัวอักษรและตัวเอียงมีทั้งหมดสามารถควบคุมได้โดยการปรับแต่งใบหน้า
ดั๊กแฮร์ริส

35

ฉันมีปัญหาเช่นเดียวกับคุณดังนั้นผมจึงตัดสินใจที่จะเขียนเว็บโหมด

ป้อนคำอธิบายรูปภาพที่นี่

Web-mode.el เป็นโหมดที่สำคัญสำหรับ Emacs ที่มีไว้สำหรับการแก้ไขเว็บเทมเพลตผสม (HTML กับ Java / JSP, PHP, CSS, JavaScript)

มันไม่ได้ใช้โหมดอื่น มันเน้นไวยากรณ์และเยื้องตามประเภทบล็อกรหัส ฉันได้เขียนหน้า HOWTO เล็กน้อย

เกี่ยวกับ

  • web-mode.el เป็นโหมดหลักสำหรับการแก้ไขแม่แบบเว็บ (HTML ที่มี PHP, Java / JSP, JavaScripts, CSS สไตล์)
  • web-mode.elจะไม่เป็นโหมด PHP หรือ JS ที่มีคุณสมบัติครบถ้วน (เราไม่สนับสนุนบล็อคโค้ดหลายบรรทัดในเทมเพลต!)

คุณสมบัติพื้นเมือง

  • สมาร์ทเยื้อง (ตามบริบท: HTML, PHP, Java / JSP, JavaScript หรือ CSS)
  • การนำทางโค้ด: C-c C-nระหว่างการเปิดและปิดแท็ก HTML หรือระหว่างการควบคุม PHP> - ถ้า ... อื่น ๆ ... endif สำหรับ ... endfor
  • แท็ก HTML อัตโนมัติการปิดอัตโนมัติ (หลังจาก
  • เน้นไวยากรณ์ (ตามประเภทของกลุ่ม)
  • การแทรกข้อมูลโค้ดC-c C-i(เยื้องอัตโนมัติ, ตระหนักถึงการเลือกข้อความ)
  • แทรกอัตโนมัติ (เช่น?>หลังจากนั้น<?php)

ไปพูดมันช่วยวันของฉันได้แล้ว ... ขอบคุณ @fxbois! ฉันรักมัน. ในที่สุดฉันก็ได้การผสมระหว่าง html, css, java และอื่น ๆ มันสามารถใช้ Python ได้หรือไม่?
swdev

@swdev คุณสามารถเปิดปัญหากับ github เกี่ยวกับคำขอความเข้ากันได้ของหลามนี้ สามารถส่งลิงก์ da ไปยังเอกสารคู่มือไวยากรณ์ของเทมเพลตและตัวอย่างของเทมเพลตดังกล่าว
fxbois

ดูเรียบร้อย แต่ดูเหมือนว่าจะใช้สำหรับการแยก regexp HTML มากกว่าที่มีตัวแยกวิเคราะห์จริงเช่น psgml ...
ดาวิดเอ็นเวลตัน

3
คุณหมายถึงอะไรโดย parser จริง ฉันสำรวจเอกสารเพื่อค้นหาแท็กที่ขึ้นต้นด้วย <และลงท้ายด้วย> ฯลฯ ฯลฯ คุณมีข้อ จำกัด หรือไม่? หากคุณพบใด ๆ อย่าลังเลที่จะรายงานปัญหาเกี่ยวกับ GitHub repo
fxbois

3

ฉันได้รับการ dissatisified กับโหมดที่สามารถใช้ได้ แต่ฉันได้พบความสุขเมื่อเร็ว ๆ นี้โดยใช้ธรรมดาเก่าhtml-modeเสริมเข้ากับและyasnippet tidy.elเช่นเดียวกับคำตอบอื่น ๆ ที่ได้กล่าวถึงโหมด nxhtml นั้นมีประโยชน์ถ้าคุณกำลังเขียน xhtml

หากคุณต้องการได้รับการเน้น php และ javascript คุณอาจต้องการดูmmm-modeซึ่งจะช่วยให้คุณสามารถเรียกใช้โหมดที่สำคัญหลายรายการพร้อมกัน ฉันไม่เคยใช้มันดังนั้นฉันจึงไม่รู้ว่าใครเป็นคนจัดการการผูกกุญแจที่ขัดแย้งกัน ฯลฯ ดังนั้นคุณจะต้องรู้สึกถึงสิ่งที่อยู่รอบตัวคุณ



0

ฉันก็ใช้โหมด nXhtml สำหรับการแก้ไขโหมดผสมโดยที่ไม่สามารถทำงานหลายโหมดได้อย่างถูกต้อง มันเป็นรถหิน แต่การสร้างเมื่อเร็ว ๆ นี้ได้พิสูจน์แล้วว่ามีประโยชน์ ฉันทำงานกับ Emacs 23 FWIW

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.