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

12

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

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

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

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

GCB
источник

Ответы:

18

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

Предупреждение: этот параметр может добавить значительную задержку перерисовки.

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

'synmaxcol' 'smc' number  (default 3000)

Notes: local to buffer, not in vi

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

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

Стивен
источник