Well, i still don't understand vim logic behind that process.

Let's see more realistic example.
========================
gvim -U NONE -u NONE
Let's suppose that  I am a poor pascal programmer and typing code like this:
:set completeopt+=longest
:set complete-=t
i
var one : byte;
 two : byte;
 two_and_three : byte;
 three : byte; 
// may be this is a word?
one:=three;
// or next one is a a word?
one:=two_and_three;
o<C-N>:=t<C-n>
// completion in second <C-N> still not working here...
// so there is no word? not 'one:=t*' or 't*' words in buffer?
// I still thinks it should be considered as a bug.

>> Vim is still in completion mode and there is no word matching "one:t"
Okay, in above example there is 'one:=three' word specially for vim, but
still no completion.
And why vim looks for 'one:=t' word?  ':' and '=' should not be in the
'word', right?
I think that vim should looks for 't' words. Because '=' and ':'  is not
word, it's not part of identifier.
Part of line -may be, but not words.
>> thus you don't get any completions.  If you type CTRL-N one more time
then it works.
Sorry,it's not working for me. (1-105 patches)
I mean that I'm typing Ctrl-N many times in desperate attempts to get some
completion and: no completion absolutely :(.
Even when there is multiply matches for t -starting words.
And what more strange is that if I'm switching to normal mode and then
switch back in insert mode then 
completion on the same construction
one:=t<c-n> works as expected.
Now vim guesses right about ':' and '='  not being parts of a word, but why
not from the first attempt?

--
Igor.


Reply via email to