Ответ Vim довольно медленный - PullRequest
10 голосов
/ 18 февраля 2012

Если я открою файл, содержащий 5000 строк кода и продолжу ввод, я обнаружу, что мой vim стал очень медленным, он отображает мой ввод примерно через 1 с.

Это даже не станет лучше после того, как я начну с --noplugin. Но после переключения моего .vimrc файла все снова в порядке. Файл .vimrc написан мной самостоятельно, и после некоторой проверки я все еще не могу найти ошибку. У меня есть все карты ключей, но проблема все еще существует.

Так что вы можете дать мне какой-нибудь совет или рассказать, как отлаживать в vim? Я обнаружил, что есть опция отладки, но не могу понять, как работать.

Ответы [ 5 ]

12 голосов
/ 18 февраля 2012

Вы можете использовать опцию --startuptime при запуске vim:

--startuptime {fname}                   *--startuptime*
        During startup write timing messages to the file {fname}.
        This can be used to find out where time is spent while loading
        your .vimrc, plugins and opening the first file.
        When {fname} already exists new messages are appended.
        (Only available when compiled with the |+startuptime|
        feature).

Выполните следующие шаги для диагностики проблемы:

  • введите vim --startuptime log.txt main.java в bash для запуска vim
  • введите :tabe log.txt в vim для просмотра журнала.
11 голосов
/ 27 августа 2012

Причиной замедления часто является не установленный или неправильный набор ruby_path во время компиляции vim ( см. Также обсуждение в google vim / ruby ​​google group ).Его проще установить в vimrc, потому что вы можете изменить его без перекомпиляции vim.Вы можете установить путь через переменную g: ruby_path в вашем файле .vimrc.Не копируйте и не вставляйте оба, используйте правильный.

Если вы настраиваете RBENV, вы должны использовать это:

" ruby path if you are using rbenv
let g:ruby_path = system('echo $HOME/.rbenv/shims')

Если вы настраиваете RVM, вы должны использовать это:

" ruby path if you are using RVM
let g:ruby_path = system('rvm current')

Вы также можете использовать плагин vim-rbenv , который также задает путь.

Для меня часть о загрузке специфичных для ruby ​​функций в vim получила 10в разы быстрее.

Если вы используете Jruby, чем медленнее запуска может быть еще больше.Смотрите примеры для ее исправления здесь .

7 голосов
/ 18 февраля 2012

Нечто подобное обычно вызывается окраской синтаксиса. Попробуйте с :syntax off.

6 голосов
/ 22 июля 2016

Если работает vim 7.4,

поместите это в ваш .vimrc

set regexpengine = 1

vim 7.4 имеет новый движок регулярных выражений, который, кажется, не работаетнекоторые ситуации.В предыдущей версии vim 7.3 использовался старый механизм (set regexpengine = 1).

«Медленный ответ» из-за проблемы подсветки синтаксиса также влияет на файлы справки vim (и файл .vimrc).

0 голосов
/ 03 апреля 2019

Добавьте эти строки к вашему ~/.vimrc или ~/.config/nvim/init.vim:

set lazyredraw   " don't redraw everytime
set synmaxcol=128  " avoid slow rendering for long lines
syntax sync minlines=64  " faster syntax hl

Также, если вы используете tmux, рассмотрите возможность добавления этого к вашему ~/.tmux.conf:

set -sg escape-time 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...