Задержка движения Vim на строках с 40 и более символами

272
Anders Johansson

Мне нравится визуально разделять исходный код длинными строками комментариев: в C ++ я использую 80 /символов, в Python я использую 80 #символов и т. Д. За прошедшие годы я заметил, что Vim иногда икает (перестает отвечать на запросы примерно на полсекунды или около того) когда я двигаюсь; сегодня я обнаружил, что это происходит только в моих разделительных линиях.

Например:

line 1 line 2 //////////////////////////////////////////////////////////////////////////////// line 4 line 5 

Когда курсор находится в любом месте на линии 3, любое движение (вверх, вниз, вверх страницы, страницы вниз, влево, вправо, $, 0, ...) почти всегда имеет задержку; на других линиях это не так.

Играя с этим, я нашел:

  • Задержка, кажется, происходит на линиях в общей сложности 40 или более символов ( /, -, =, ., и #т.д.) в любом месте на линии, не включая _(возможно, потому, что подчеркивание входит в определение Vim Of A word).
  • Задержка, кажется, не увеличивается для более длинных линий. Например, строки из 1000 /символов имеют задержку, аналогичную 40 /символам.
  • Задержка происходит только при запуске «нового» движения с этой линии. Использование OS OS повтора для перемещения по линии не добавляет задержки.
  • Задержка не кажется, связана с подсветкой синтаксиса или плагинов: я вижу такое же поведение с vim -u NONE, syntax offи filetype=.
  • GUI Vim (gvim), похоже, не имеет этой проблемы.

Я использую MacVim 8.0 из macports в приложении Terminal на MacBook Pro, но по умолчанию Vim 7.4, предоставляемый Apple, имеет такое же поведение.

Я не смог найти упоминаний об этом в Google, Stack Overflow или Super User, но это очень воспроизводимо в моей системе.

Это известная проблема? Существует ли параметр времени выполнения или параметр сборки, который управляет этим (максимальное количество поддерживаемых символов в строке или что-то в этом роде), или обходной путь, который облегчает это?

2
Вы пытались отладить https://stackoverflow.com/questions/12213597/how-to-see-which-plugins-are-making-vim-slow#12216578 может показать что-то, даже если не связано с плагином Michael 7 лет назад 0
@Michael Спасибо за подсказку - к сожалению, версия vim, которую я использую на работе, не создана с поддержкой `profile`; Дома я протестировал MacVim до последней версии от macports, чтобы проверить это, но это на самом деле устранило проблему задержки. Я все еще заинтересован в устранении неполадок, поскольку не могу изменить версию, предложенную на работе. Anders Johansson 7 лет назад 0

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