Чи є * хороший * HTML-режим для emacs?


23

Я люблю emacs,

і я хочу виконати свою роботу в веб-програмуванні,
але я не можу знайти спосіб її редагувати HTML належним чином.

Я маю на увазі, це серйозно жахливо.

Це дозволить зробити HTML добре, але не PHP, javascript тощо.

Я спробував отримати html-helper-режим ... Я завантажив його, помістив у / 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))

скопійовано та вставлено з якогось сайту (я не знаю елісп).
це просто, нічого не підкреслює.

Я спробував завантажити цілу купу режимів і використати інший режим, щоб зв'язати їх разом, безрезультатно.

Emacs настільки чудовий у будь-який інший спосіб - чому він не може виконати просте завдання редагування веб-сторінок? Я маю на увазі, це редакція в наші дні досить стандартна річ.

Отже, хтось знає, як це зробити?

Відповіді:


4

Ви перевірили html- сторінку Emacs Wiki ? Зокрема, nxhtml виглядає корисним.


4
Це здається корисним, але користуватися дуже боляче ... він завантажується повільно, не відступає належним чином, некрасивий, працює повільно, виділяє все червоне, а потім робить все курсивом і просто, боляче ...
— Карсон Майєрс

1
Я з успіхом використовував nxhtml. Кольори шрифту та курсив можна керувати, налаштовуючи обличчя
— Doug Harris,

35

У мене була така ж проблема, як у вас, тому я вирішив написати web-режим .

введіть тут опис зображення

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 про цей запит сумісності python. Не вдалося надіслати посилання da на документацію синтаксису шаблону та приклад такого шаблону.
— fxbois

Виглядає акуратно, але, схоже, використовує regexp для розбору HTML, а не має справжнього аналізатора, як psgml ...
— Девід Н. Уелтон,

3
Що ви маєте на увазі під реальним аналізатором? Я переходжу документ, щоб знайти теги, які починаються з <і закінчуються на> і т. Д. Тощо. Чи знайшли ви якесь обмеження? Якщо ви знайдете такі, не соромтеся повідомляти про проблеми на github repo
— fxbois

3

Я був незадоволений доступними режимами, але нещодавно знайшов своє щастя, використовуючи звичайні старі html-modeдоповнені yasnippetта tidy.el. Як і інші відповіді, згаданий режим nxhtml корисний, якщо ви пишете xhtml.

Якщо ви хочете виділити php та javascript, ви можете подивитися mmm-mode, що дозволить вам запускати відразу кілька основних режимів. Я ніколи його не використовував, тому не знаю, з ким він обробляє суперечливі прив'язки ключів тощо ... тож вам доведеться відчувати себе там.


3

Спробуйте скористатися мульти веб-режимом , це другорядний режим, розроблений на увазі редагування веб-сторінок, він вибирає відповідний основний, коли точка рухається.


0

Я також використовую режим nXhtml для редагування змішаного режиму, коли не вдалося коректно працювати декількома режимами. Це було трохи скелястої їзди, але останні будівлі виявилися корисними. Я працюю з Emacs 23 FWIW.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.