Вопрос

Кто-нибудь еще нашел подсветку синтаксиса Javascript в VIM неоптимальной?Я обнаружил, что иногда мне нужно прокручивать, чтобы настроить подсветку синтаксиса, поскольку иногда она загадочным образом отбрасывает всю подсветку.

Есть ли обходные пути или способы исправить это?Я использую ВИМ 7.1.

Это было полезно?

Решение

Возможно, вам захочется попробовать это улучшенная подсветка синтаксиса Javascript а не тот, который поставляется с VIMRUNTIME.

Другие советы

Ну, я изменил Синтаксис Javascript И Чжао, и добавлена ​​поддержка ключевых слов Ajax, а также выделены методы DOM и другие.

Вот он, он далек от совершенства, поскольку я все еще новичок в Vim, но пока он меня устраивает. Мой синтаксис Javascript.Если вы можете исправить, добавить функции, пожалуйста.

ОБНОВЛЯТЬ: Я забыл, что эти выделения синтаксиса отображаются только в том случае, если вы включили их в свою собственную цветовую схему, как я это сделал в своем Nazca Цветовая схема.Я проверю, смогу ли я добавить эти строки в свой измененный файл синтаксиса.

Следите за новой версией файла синтаксиса JavaScript в github, поскольку больше не требуется изменять текущую цветовую схему.

Синхронизация окраски синтаксиса, вероятно, нуждается в настройке.В определенных контекстах я обнаружил, что мне нужно это изменить.

Синтаксическая синхронизация («:help syn-sync») управляет тем, как vim отслеживает и обновляет анализ кода для раскрашивания, чтобы он мог начать рисовать в любом месте файла.

Значения по умолчанию не всегда работают для меня, поэтому иногда я сталкиваюсь с проблемой

:syn sync fromstart

Я предлагаю прочитать документацию в разделе

:help syn-sync

или просто проверь

:help syntax

и найдите раздел о синхронизации.

принять обоснованное решение среди четырех доступных базовых вариантов.Я поддерживаю сопоставления с функциональными клавишами для переключения между режимами «с начала» и «комментариев», а также для простой очистки настроек синхронизации.

Это действительно старый пост, но я испытал то же самое:иногда подсветка синтаксиса просто переставала работать при просмотре раздела javascript в .html файл.Как упоминается в ОП, быстрым обходным решением была прокрутка вверх, а затем волшебным образом все снова начинало подсвечиваться.

Сегодня я нашел основную проблему и хорошее решение.В Vim подсветка синтаксиса использует контекст для получения правильного выделения, где контекст определяется предыдущими строками.Можно указать, сколько строк перед текущей строкой будет использовано с помощью команды :syntax sync minlines=200.В этом случае в качестве контекста будет использоваться до 200 предыдущих строк.Можно использовать весь файл (что может быть медленным для длинных файлов), запустив :syntax sync fromstart.

Как только я это обнаружил, я добавил эту строку в свой .vimrc:

autocmd BufEnter *.html :syntax sync fromstart

Поступая таким образом, .html файлы будут использовать весь файл в качестве контекста.Таким образом, раздел javascript всегда будет выделен правильно, независимо от длины раздела JS.Надеюсь, это поможет кому-то еще!

Для быстрого и грязного решения иногда я просто прокручиваю вверх и вниз, и подсветка корректируется. Ctrl+л перерисовка экрана тоже может это исправить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top