Я'вэ было использовать Vim по SSH на работу на неделю или две и все было отлично. Сегодня я решил добавить подсветку синтаксиса, автозаполнение и другие общие приложения. Настроить vundle и пошел на работу.
<дель> мой нынешний .vimrc можно найти на https://github.com/scottopell/dotfiles/blob/master/.vimrc </дель>
Я клонированные мой vimrc и файлы Vim на моем локальном рабочем столе и vim работает точно так, как и ожидалось, никакой медлительности на любые файлы, которые я могу найти. Же плагины и же vimrc и нет медлительности на Ruby файлы.
обновление
Я могу воспроизвести эту проблему со следующим .vimrc
syntax on
и пустой ~/.папка ВИМ
.
Однако, Vim на этом VPS-это очень медленно, с Рубином/Haml файлов. Много файлов более рубиновый. Когда я открываю любой файл Руби, запуск занимает около 2 секунд (время --startuptime). С сопоставимым длина файла Haml, ее около 5 секунд. Эта неторопливость это'Т просто при запуске либо, перемещение и редактирование файла оба мучительно медленно.
Haml на/Эрб(они практически одинаковы)
268.818 000.005: before starting main loop
848.871 580.053: first screen update
Рубиновый
199.613 000.004: before starting main loop
2937.859 2738.246: first screen update
Без подсветки синтаксиса по тому же Руби файл, что и выше
149.047 000.004: before starting main loop
152.912 003.865: first screen update
<дель> Я пробовал через МОСХ(http://mosh.mit.edu) и это не'т помочь.</дель> не очень актуальны
Как вы можете увидеть в моем .файл vimrc, я пробовал несколько разных решений этой проблемы.
Я попытался запустить все плагины отключены (я их переложил все с ~/ВИМ/пачка/PLUGINNAME
в ~/ВИМ/пачка/инвалидов/PLUGINNAME
, это правильно?), установить путь Руби, набор foldlevel к инструкцию, моя схема отключен, ничего не помогает. см. edit3
Я могу отправить полный лог startupttime к файлам, если это поможет. Я проверил несколько других языков(PHP, с, питоном, vimL) и не испытывать каких-либо подтормаживаний.
Редактировать: просто чтобы прояснить, я бегу сеанс SSH с SSH пользователь@сервер внутри сервера я делаю в Vim файл.РБ.
EDIT2: я просто попытался доступ к серверу напрямую и медленность сохраняется без СШ, я обновлен, чтобы отразить, что это'т проблема с SSH.
EDIT3: я могу воспроизвести проблему с помощью .файл vimrc, который содержит синтаксис в единственной строке о
с пустым ~/.папка ВИМ
EDIT4 я удалили мой скомпилированную версию Vim и все версии, что я, возможно, установленные через apt, вручную удалил все ВИМ вещи из моей системе, и я могу запустить Vim с `ВИМ -у не /путь/к/файлу.РБ-тогда :сын и этот вопрос будет там. Файл в вопрос является контроллером рельсы, но, как я'вэ сказал, что я могу воссоздать его в какой-то степени большинство файлам, но контроллеры рельсы видеть, чтобы быть худшим.
Решение этой проблемы оказалось движок регулярных выражений, что ВИМ использует. Спекуляции на #ВИМ на Freenode является то, что синтаксис Руби файлы использовать то, что медленнее на новом движке регулярных выражений.
Любая версия старше, и в том числе ВИМ 7.3.969 имеет старый движок регулярных выражений.
Добавить в набор для re=1своей
vimrc, чтобы заставить старого регулярное выражение двигателя на любой версии новее (и Дон'т забудьте перезагрузить файл, который вы'вновь в настоящее время редактирования, С
:Е`).
Благодаря Houl, Долио и dmedvinsky от #Vim для помогите разобраться.
Я не'т получил шанс попробовать абсолютная последняя версия, там был совершить прошлой ночью, что может помочь с этим вопросом. Я буду обновлять это, если я получу шанс попробовать снова кровотечение край версия.
Вы должны установить этот параметр TW в ваш vimrc:
set ttyfast
set lazyredraw
Если это не решает вашу проблему, попробуйте запустить Vim без вашего vimrc, чтобы быть уверенным, что ни один из ваших текущих настроек будут все портить.
vim -u NONE
Две вещи, которые существенно помогут ускорить выделение синтаксиса Руби отключении линии курсора и относительное число рубиновых (если вы пользуетесь таковым).
У меня есть следующая в моем .vimrc:
" Ruby is an oddball in the family, use special spacing/rules
if v:version >= 703
" Note: Relative number is quite slow with Ruby, so is cursorline
autocmd FileType ruby setlocal ts=2 sts=2 sw=2 norelativenumber nocursorline
else
autocmd FileType ruby setlocal ts=2 sts=2 sw=2
endif
Я'м через ВИМ 7.4.52 и ни одно из этих решений работал для меня.
По данным этого сайта GitHub комментировать этот вопрос (https://github.com/vim/vim/issues/282#issuecomment-169837021), `foldmethod=синтаксис отвечает за нерасторопность.
Добавление этого к моей .vimrc наконец-то починил!
augroup ft_rb
au!
" fix the SLOOOW syntax highlighting
au FileType ruby setlocal re=1 foldmethod=manual
augroup END
см. обновление внизу.
это может быть полезно в качестве обходного пути -
я использую Vim версии
ВИМ - VI улучшена 7.4 (2013 августа 10, составленного 2 января 2014 19:40:46)
включены патчи: 1-52
это стоковая версия с Линукс Минт 17.1 Ребекка.
в PHP.файл синтаксиса Vim-это не версия'd, что я вижу, но это СЭЗ последнее редактирование'd с 28 августа 13.
это'т проект Ruby, но при редактировании большого файла php класс (
$ php -w test.inc | wc
2 2410 19220
) я отмечаю значительные задержки в верхней части класса, но не выше или ниже классом, и, в частности, не в нижней части класса. как я пытаюсь вставить новый текст в нижней части класса, задержка минимальна и, кажется, будет пропорционален количеству линий внутри класса. на "минимальный" - А означает, практически мгновенно, что "значительные" у означает 1 до 1,5 секунд на символ.
файла составляет около 1800 линий с приблизительно 500 строк законным PHP и 1300 строк в комментариях и DOC. занятие начинается в линии около 30 и заканчивается на линии около 1700. он признал, что это'немного большая, но хорошо документированы :-\
если я вставлю
class dummy { }
в том, что "оригинал имя класса {" и, нет никакой задержки в любом месте в файле. этот неприглядный Клюге разрешений в Vim/GVim выступает восстановить свои реакции и может рассматриваться как временное решение. Примечание нет перевода строки между двумя, просто
class dummy { } class originalName {
он даже может быть комментарий'd вне:
/*class dummy {}*/class originalName {
дополнительные информация:
во время этого теста, каталог плагинов был перенесен.
с "помощью" синтаксис set=выключить;, проблема полностью исчезает. это не исправить.
установив обработчик регулярных выражений с
набор regexpengine=1 (или любое другое количество) не заметно изменить результаты.
основываясь на этих результатах, я подозреваю, а также механизм регулярных выражений. моя точка зрения заключается в том, что дурачусь немного синтаксис в Ruby файлов может привести к временное решение.
Обновление: я обнаружил, что проблема есть "вызвали" и установив php_folding 1 (включено). в vimrc я думал, что я был через не было, но хоть какая-то загадка решается из-за этой ошибки. простой vimrc, как это будет вызывать проблемы (для меня, по крайней мере):
:syntax enable
:let php_folding = 1
это означает, что мой вопрос совершенно не связан с вопросом Руби, но там может быть нечто подобное происходит с Рубином.файл Vim. может и нет.
извиняюсь за отклонение.