Frank Cheng
Frank Cheng

Reputation: 6206

Vim response quite slow

If I open a file containing 5,000 lines of code and continue to input, I found that my vim became very slow, it displays my input after about 1s.

It even won't become any better after I start up with --noplugin. But after switching my .vimrc file, everything gets fine again. The .vimrc file is written by myself and after checking for some time, I still can't locate the error. I have clear all the key maps, but the problem still exists.

So can you give my any advise or tell my how to debug in vim? I found there is a debug option but can't get how to work.

Upvotes: 10

Views: 12352

Answers (5)

Farshid Ashouri
Farshid Ashouri

Reputation: 17719

Add these lines to your ~/.vimrc or ~/.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

Also if you're using tmux, consider adding this to your ~/.tmux.conf:

set -sg escape-time 10

Upvotes: 0

Fa11enAngel
Fa11enAngel

Reputation: 4810

The reason for slowness is often the not set or wrong set ruby_path on compile time of vim (see also discussion on google vim/ruby google group). It is easier to set it in vimrc, because you can change it without recompiling vim. You can set the path through the g:ruby_path variable in your .vimrc file. Don't copy and paste both, use the right one.

If you setup RBENV you have to use this one:

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

If you setup RVM you have to use this one:

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

You can also use the vim-rbenv plugin, which sets the path too.

For me the part on loading ruby specific functions in vim got 10 times faster.

If you are using jruby, than the start up slowliness can be even bigger. See examples for fixing it here.

Upvotes: 11

martha29
martha29

Reputation: 91

If running vim 7.4,

put this in your .vimrc

set regexpengine=1

vim 7.4 has a new regex engine that appear not to work well in some situations. Previous version vim 7.3 used the old engine ( set regexpengine=1 ).

The "slow response" from syntax highlighting problem affects the vim help files as well ( and .vimrc file too ).

Upvotes: 9

kev
kev

Reputation: 161984

You can use the --startuptime option when start 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).

Take following steps to diagnose the problem:

  • type vim --startuptime log.txt main.java in bash to start vim
  • type :tabe log.txt in vim to view the log.

Upvotes: 14

Lars Kotthoff
Lars Kotthoff

Reputation: 109292

Something like this is usually caused by syntax colouring. Try with :syntax off.

Upvotes: 7

Related Questions