Когда Vim открывает html-файл, он применяет html-подсветку по всему файлу. Если у вас есть отдельный язык в html-файле, вам нужно определить синтаксические области, чтобы Vim знал, что части файла должны быть выделены иначе, чем язык, определяемый расширением файла. Я описал, как это сделать в ответе на вопрос SO: В VIM, как я могу смешать правила синтаксиса / иденту jinja и javascript в одном файле?
Также просмотрите документы на :h syn-include
.
Отступы аналогичны. То есть Vim будет применять правила отступа html ко всему в файле, если вы не скажете ему сделать отступ в области Javascript по-другому.
ПРИМЕЧАНИЕ. Может быть, поскольку html со встроенным javascript настолько распространен, файлы синтаксиса html могут по умолчанию поддерживать встроенный javascript. Подсказка, приведенная ниже, предлагает использовать :set filetype htmlm4
, чтобы получить правильное выделение, хотя комментатор говорит, что в этом нет необходимости:
http://vim.wikia.com/wiki/Syntax_highlighting_for_HTML_with_embedded_Javascript