Emacs - правильно вставляемый код css, встроенный в html файл
Когда я вставляю следующий html файл в emacs, строка "background-color" не имеет отступов правильно. Можно ли использовать emacs для использования css-режима для части css?
<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>Page</title>
<style type = "text/css">
h2 {
background-color: #BBB;
}
</style>
</head>
<body>
<p>
<h2>Title</h2>
</p>
</body>
</html>
Вопрос: май 2011
Вопрос отредактирован: декабрь 2013
Edit:
У меня создается впечатление, что близоруко искать или разрабатывать метод обработки css и html в частности. Правильное решение является более широким, которое обрабатывает файл, состоящий из любых двух подмножеств. Возможно, этот вопрос не заслуживает серьезного внимания, потому что два подмножества должны быть изолированы в своих файлах, но для быстрых тестов и небольших примеров вопрос стоит. Предложения рабочих решений приветствуются.
Ответы
Ответ 1
Как вы знаете, вам лучше распределять HTML, Javascript, CSS и c. среди своих собственных файлов, но часто это невозможно, особенно при работе с устаревшим кодом. В таких случаях я нашел web-mode чрезвычайно ценным.
В отличие от nXhtml и других подобных решений, веб-режим напрямую обрабатывает блокировку шрифтов и отступы для каждого типа кода, вместо того, чтобы пытаться вызвать надлежащий основной режим для любой точки, где бы то ни было, или пытается наложить основные режимы на один другой в том смысле, что все, но гарантированно не работают надежно. Хотя этот подход, по общему признанию, представляет собой существенное дублирование усилий и означает, что вы, например, не получаете преимущество Steve Yegge отличного js2-режима при редактировании встроенного Javascript, это означает, что вы получаете надежную блокировку шрифта и отступы, не имея тратить много времени на хрупкое придирчивость; имея установленный и настроенный веб-режим, вы можете более или менее прыгать прямо и начать взламывать:
![web-mode sample screenshot from web-mode.org]()
Я потратил больше времени, чем я хотел бы вспомнить о работе с MuMaMo и его ижев, и все, что я выбрал, было головной болью. (И улучшенная дисциплина в отношении предотвращения встроенных CSS и Javascript, но это было чисто из самообороны). Веб-режим - это фантастическое решение этой проблемы, и я рекомендую его без оговорок.
Ответ 2
Проверьте режим nXhtml: http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html
На странице:
Еще одна важная особенность - возможность смешать несколько языков в одном буфере и получить правильную подсветку синтаксиса и отступы для каждого из них.
Изменить: EmacsWiki статья о нескольких режимах имеет некоторые другие опции (поверх Mumamo, что и использует nXhtml). Особенно интересным может быть multi-web-mode, который изменяет режим, основанный на том, где находится точка.
Я сам использовал только режим nXhtml, но многопользовательский режим можно упростить и упростить для использования — в то время как мне нравился nXhtml, я отчетливо помню, что это была сложность в настройке.