On 14/07/06, Bram Moolenaar <[EMAIL PROTECTED]> wrote:
Please be specific about what kind of scanning needs to finish before it
notices the typed key. All types of scans are implemented differently.
Each should check for a typed key at regular intervals, but if there is
one that doesn't I need to know which one to be able to look into that.
OK, here's a more detailed rundown:
- default 'complete' is .,w,b,u,t,i
- when I hit ^N, I see, on the bottom line in Vim:
Scanning tags. (for about 5 seconds)
Scanning included file: C:\...\file1
Scanning included file: C:\...\file2
Scanning included file: C:\...\file3 (each of these included files: ~ 5s)
... etc ...
- I take it that, by the time (well, it's immediate for me) that I see
the "Scanning tags.", Vim has already scanned .,w,b,u
- it appears to me that Vim checks for keypresses only between objects
being scanned, when it reaches the t,i elements of 'complete'
- example:
- I hit ^N
- immediately the first match is completed in edit window, based on
hits in .,w,b,u
- immediately I see "Scanning tags." on bottom line
- I then immediately press a key or two
- nothing happens *until* the 5 seconds have elapsed, and where
normally Vim would proceed to "Scanning included file: C:\...\file1",
it terminates the completion
- if I waited until "Scanning included file: C:\...\file1" before
hitting a key, then I would have to wait until that scan was
exhausted, and completion would terminate just before proceeding to
"Scanning included file: C:\...\file2"
- the issue is that even the 5s is naturally a long time to wait
- I've since resorted to ":set complete=.,w,b,u", and it works like
lightning, like in Vim < 7.0; still, it'd be nice to be able to use
the full, default setting.
What is it all scanning then? Try removing flags from the 'complete'
option one by one to find out which one is taking so much time.
As mentioned above, the slow scanning occurs only on the tags file,
and included files (i.e., the t and i options of 'complete'), which,
as indicated in prior email, are relatively trivial and small.