Vim прокручується дуже повільно, коли лінія занадто довга


23

Я б ніколи не думав, що Вім буде так повільний. Все, що у мене є, є такий довгий рядок:

введіть тут опис зображення
(Клацніть зображення, щоб збільшити)

Я запускаю Vim (MacVim) під Mac OS X разом із додатком терміналу. Ось мій vimrc . Я сподіваюся, що це не має нічого спільного з деякими моїми плагінами. Якщо я розбиваю велику лінію в зображенні, все знову працює швидко.


+1. Дякую за фото! Сама одна лінія надзвичайно довга. Пам'ятайте, що текстові редактори CLI використовували для обмеження рядків 255 символів ще за часів DOS. Підсвічування синтаксису вимагає, щоб кожний тег HTML відкривався та був закритий, а також кожна подвійна цитата, а потім кожна змінна. І я впевнений, що кожного разу, коли ви вкладаєте інший тег у тег HREF, редактор повинен з'ясувати, що це означає. Я бачив, що у Emacs виникають проблеми з виділенням тексту, з яким у VI немає проблем: Ви також можете вибирати редакторів за запитом, як у нас із chrome, FF та сумнозвісним браузером IE.
Vlueboy

Відповіді:


23

Це відома проблема з Vim та дуже довгі рядки. Я бачу три рішення:

  1. Вимкніть підсвічування синтаксису за допомогою :syntax off.
  2. Обмежте підсвічування синтаксису за допомогою :set synmaxcol=200чи іншого значення.
  3. Розбийте довгу лінію на менші шматки :s/\s<a/<C-v><Enter><a.

У цьому конкретному випадку я рекомендую рішення 3.


36

спробуйте наступне:

" Syntax coloring lines that are too long just slows down the world
set synmaxcol=128

ще я рекомендую пришвидшити vim шляхом:

set ttyfast " u got a fast terminal
set ttyscroll=3
set lazyredraw " to avoid scrolling problems

2
+1. Це буде корисно, навіть якщо він не обрав запитувача як "найкращу" відповідь.
Vlueboy

2
Нічого собі не змінив synmaxcol, коли писав дописи в блозі в розмітку.
Кіт Смайлі

lazyredrawзробив трюк для мене. Навіть без плагінів прокручування певних файлів була неприємно повільною. Так було і в vim, і в gvim. Профілювання нічого не показувало.
Плутанина

set synmaxcol=4096повністю вирішив питання про розбиття синтаксису на довгі рядки :)
Jay Taylor

1

Я думаю, у вас, здається, встановлена ​​курсорна лінія. Я виявив, що раніше був найбільшим фактором відставання в моєму вімі. Ви можете спробувати відключити це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.