When I have syntax on in a large C file (about 8000) lines the completion ctrl-p and ctrl-n are very slow (more than 20). When I turn syntax off then completion takes less than a second.
I figured out a minimal way of reproducing this behaviour. Use an empty .vim folder and create a .vimrc with only these lines:
set syntax on
set foldmethod=syntax
When you open a large C file, completion (and even general editing) becomes very slow.
Edit:
This behavior was due to the fact that I was using a beta version. I am not sure if I should delete this question altogether, or leave it so if others have the same problem can have some clue about it.
Vim is sometimes slow to (especially for ins-completion) in large files due to foldmethod=syntax
From :help todo:
- Slow combination of folding and PHP syntax highlighting. Script to reproduce it. Caused by "syntax sync fromstart" in combination with patch 7.2.274. (Christian Brabandt, 2010 May 27) Generally, folding with 'foldmethod' set to "syntax" is slow. Do profiling to find out why.
The FastFold plugin makes it so folds are only recalculated on save (so you're always using foldmethod=manual
-- but the folds are calculated with foldmethod=syntax
or whatever you had set before).
This solved the problem for me. Now I can use compl-whole-line completion in my 5000 line C++ file and it's instant and snappy instead of taking minutes and unresponsive.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With