Я использую vim для редактирования файлов с разделителями, содержащих очень длинные строки (100000 символов). Vim очень медленный с таким входом. Если я отключу синтаксис , выделив (:syntax off
), Vim уже не медленнее.Работа симулятора vim с очень длинными линиями
Причина в том, что некоторые из кодовых блоков содержат json, что содержат изображения, закодированные в base64. (На самом деле, я пытаюсь отредактировать markdown version ноутбука ipython).
Вот что текст обижая выглядит следующим образом:
```{.json .output n=41}
[
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAtAAAAFxCAYAAAB....long...long....line...."
}
]
```
То, что я хотел бы для Vim, чтобы не быть медленным.
Возможные решения, которые я надумал:
set synmaxcol=250
- нет, нарушает подсветку синтаксиса после длинной линииОтключить подсветку синтаксиса выборочно для длинных строк (не знаю, как сделать это)
Отключить подсветку синтаксиса для кодовых блоков, которые начинаются с
{.json
(не ноу-хау)
Я использую подсветку синтаксиса vim-pandoc . Это дает кодовым блокам синтаксическую группу pandocDelimitedCodeBlock
или, например, pandocDelimitedCodeBlock_json
если сделаете обнаружение языка.
Это также означает, что я складывающийся на группы синтаксических (foldmethod=syntax
), который является возможным источником медлительности (см stackoverflow, github и superuser). Однако :set foldmethod=manual
не решит проблему.
У вас есть мягкая линейная обертка включена?другая мысль: читатели вашей книги, вероятно, тоже не будут наслаждаться длинными линиями, действительно ли они вам нужны? – mb21
'set synmaxcol = {low value}' - единственное практическое решение: вы не хотите выделять синтаксис для этих двоичных blob. – romainl
@ mb21 нет мягкой упаковки. Длинные линии только на производстве - они превращаются в образы в издательстве. – aaren