Подсветка синтаксиса vim ограничена 3000 символов

944
gcb

Как мне разрешить vim работать с подсветкой синтаксиса в строках длиннее 3000 символов?

Мне приходится писать тесты для системы, а входные данные для тестов - это путаница инкапсулированных форматов.

Мои тесты должны иметь жестко запрограммированные входные данные, представляющие собой огромную строку с языком, который я использую вокруг JSON для HTML, который может содержать скрипты и т. Д. И т. Д. И, поскольку я получаю их из выходных данных другой системы, я не хочу манипулировать ими чтобы соответствовать моему редактору.

Мне удалось вывести его на несколько сносный уровень, за исключением того, что ограничение vim нарушает подсветку синтаксиса для всего, что находится за этими длинными строками. Я предполагаю, что это касается сохранения ресурсов vim, но я действительно хочу выделить синтаксис при работе с этими файлами.

9

1 ответ на вопрос

12
Steven

Используйте :set synmaxcol=0для снятия ограничения или выберите любое большое значение.

Предупреждение. Этот параметр может привести к значительной задержке перерисовки.

Vim документация: опции - synmaxcol

'synmaxcol' 'smc' number (default 3000)  Notes: local to buffer, not in vi 

Максимальный столбец для поиска элементов синтаксиса. В длинных строках текст после этого столбца не выделяется, а последующие строки могут быть выделены неправильно, так как состояние синтаксиса очищено. Это помогает избежать очень медленной перерисовки для XML-файла, который состоит из одной длинной строки.

Установите на ноль, чтобы снять ограничение.